├── mpdf ├── tmp │ └── .gitignore ├── ttfontdata │ └── .gitignore ├── graph_cache │ └── .gitignore ├── patterns │ ├── dictionary.txt │ ├── NOTES.txt │ ├── it.php │ └── fi.php ├── CREDITS.txt ├── FONT INFO.txt ├── classes │ └── svg.php ├── examples │ ├── bg.jpg │ ├── tiger │ ├── alpha.gif │ ├── alpha.png │ ├── goto.gif │ ├── img1.png │ ├── img2.png │ ├── img3.png │ ├── img4.png │ ├── img5.png │ ├── test.pdf │ ├── tiger.bmp │ ├── tiger.gif │ ├── tiger.jpg │ ├── tiger.png │ ├── tiger.wmf │ ├── alpha3.png │ ├── bayeux1.jpg │ ├── bgrock.jpg │ ├── loading.gif │ ├── sunset.jpg │ ├── sunsetv.jpg │ ├── tiger2.png │ ├── tiger2.wmf │ ├── bgbarcode.png │ ├── borders2FF.jpg │ ├── borders2IE.jpg │ ├── borders3FF.jpg │ ├── borders3IE.jpg │ ├── borders4FF.jpg │ ├── borders4IE.jpg │ ├── bordersFF.jpg │ ├── bordersIE.jpg │ ├── clematis.jpg │ ├── firefox-48.png │ ├── klematis.jpg │ ├── quran282.jpg │ ├── tiger8trns.gif │ ├── tiger8trns.png │ ├── tigercmyk.jpg │ ├── windmill.jpg │ ├── bordersMPDF2.jpg │ ├── sample_basic.pdf │ ├── tiger24trns.png │ ├── flowers-pattern.jpg │ ├── tiger300px72dpi.jpg │ ├── tiger300px96dpi.jpg │ ├── tiger300px96dpi.png │ ├── tiger300px300dpi.jpg │ ├── tiger300px300dpi.png │ ├── sample_logoheader2.pdf │ ├── sample_orientation2.pdf │ ├── sample_orientation3.pdf │ ├── example40_MPDFI_thumbnails.php │ ├── tiger.php │ ├── example41_MPDFI_template.php │ ├── example42_MPDFI_templatedoc.php │ ├── example39_PDFA_compliance.php │ ├── index.php │ ├── example49_changelog.php │ ├── example38_dot_tab.php │ ├── show_code.php │ ├── example36_annotations_and_Attached_files.php │ ├── example02_CSS_styles.php │ ├── example19_page_sizes.php │ ├── example52_lineheight.htm │ ├── example15_headers_method_1.php │ ├── example16_headers_method_2.php │ ├── example35_watermarks.php │ ├── formsubmit.php │ ├── mpdfstyleA4.css │ ├── example17_headers_method_3.php │ ├── example10_floating_and_fixed_position_elements.php │ ├── mpdfstylePaged.css │ ├── example18_headers_method_4.php │ ├── mpdfstyletables.css │ ├── example22_columns.php │ ├── example03_backgrounds_and_borders.php │ └── example20_justify.php ├── ttfonts │ ├── Garuda.ttf │ ├── Norasi.ttf │ ├── XB Zar.ttf │ ├── ocrb10.ttf │ ├── XB Riyaz.ttf │ ├── DejaVuSans.ttf │ ├── DejaVuSerif.ttf │ ├── Garuda-Bold.ttf │ ├── Norasi-Bold.ttf │ ├── XB RiyazBd.ttf │ ├── XB RiyazIt.ttf │ ├── XB Zar Bd.ttf │ ├── XB Zar BdIt.ttf │ ├── XB Zar It.ttf │ ├── XB RiyazBdIt.ttf │ ├── ind_bn_1_001.ttf │ ├── ind_gu_1_001.ttf │ ├── ind_hi_1_001.ttf │ ├── ind_kn_1_001.ttf │ ├── ind_ml_1_001.ttf │ ├── ind_or_1_001.ttf │ ├── ind_pa_1_001.ttf │ ├── ind_ta_1_001.ttf │ ├── ind_te_1_001.ttf │ ├── DejaVuSans-Bold.ttf │ ├── DejaVuSansMono.ttf │ ├── DejaVuSerif-Bold.ttf │ ├── Garuda-Oblique.ttf │ ├── Norasi-Oblique.ttf │ ├── DejaVuSans-Oblique.ttf │ ├── DejaVuSerif-Italic.ttf │ ├── Garuda-BoldOblique.ttf │ ├── Norasi-BoldOblique.ttf │ ├── DejaVuSansCondensed.ttf │ ├── DejaVuSansMono-Bold.ttf │ ├── DejaVuSerifCondensed.ttf │ ├── DejaVuSans-BoldOblique.ttf │ ├── DejaVuSansMono-Oblique.ttf │ ├── DejaVuSerif-BoldItalic.ttf │ ├── DejaVuSansCondensed-Bold.ttf │ ├── DejaVuSansMono-BoldOblique.ttf │ ├── DejaVuSerifCondensed-Bold.ttf │ ├── DejaVuSansCondensed-Oblique.ttf │ ├── DejaVuSerifCondensed-Italic.ttf │ ├── DejaVuSansCondensed-BoldOblique.ttf │ ├── DejaVuSerifCondensed-BoldItalic.ttf │ ├── ocrbinfo.txt │ ├── XW Zar Font Info.txt │ ├── GNUFreeFontinfo.txt │ └── DejaVuinfo.txt ├── includes │ ├── no_image.jpg │ ├── out.php │ ├── functions.php │ └── CJKdata.php ├── iccprofiles │ ├── sRGB_IEC61966-2-1.icc │ └── SWOP2006_Coated5v2.icc ├── font │ ├── ccourier.php │ ├── ccourierb.php │ ├── ccourierbi.php │ ├── ccourieri.php │ ├── czapfdingbats.php │ ├── csymbol.php │ ├── chelveticai.php │ ├── chelveticabi.php │ ├── chelveticab.php │ ├── chelvetica.php │ ├── ctimesbi.php │ ├── ctimes.php │ ├── ctimesb.php │ └── ctimesi.php ├── README.txt ├── composer.json ├── mpdf.css ├── utils │ ├── index.php │ └── font_collections.php ├── progbar.css ├── mpdfi │ ├── pdf_context.php │ └── filters │ │ ├── FilterASCII85.php │ │ └── FilterLZW.php ├── CHANGELOG.txt ├── CHANGES 5.7.3.txt ├── config_cp.php └── compress.php ├── README.md └── index.php /mpdf/tmp/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /mpdf/ttfontdata/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /mpdf/graph_cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /mpdf/patterns/dictionary.txt: -------------------------------------------------------------------------------- 1 | dis/es/tab/lish/men/tar/i/an/ism 2 | -------------------------------------------------------------------------------- /mpdf/CREDITS.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/CREDITS.txt -------------------------------------------------------------------------------- /mpdf/FONT INFO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/FONT INFO.txt -------------------------------------------------------------------------------- /mpdf/classes/svg.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/classes/svg.php -------------------------------------------------------------------------------- /mpdf/examples/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bg.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger -------------------------------------------------------------------------------- /mpdf/examples/alpha.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/alpha.gif -------------------------------------------------------------------------------- /mpdf/examples/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/alpha.png -------------------------------------------------------------------------------- /mpdf/examples/goto.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/goto.gif -------------------------------------------------------------------------------- /mpdf/examples/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/img1.png -------------------------------------------------------------------------------- /mpdf/examples/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/img2.png -------------------------------------------------------------------------------- /mpdf/examples/img3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/img3.png -------------------------------------------------------------------------------- /mpdf/examples/img4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/img4.png -------------------------------------------------------------------------------- /mpdf/examples/img5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/img5.png -------------------------------------------------------------------------------- /mpdf/examples/test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/test.pdf -------------------------------------------------------------------------------- /mpdf/examples/tiger.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger.bmp -------------------------------------------------------------------------------- /mpdf/examples/tiger.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger.gif -------------------------------------------------------------------------------- /mpdf/examples/tiger.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger.png -------------------------------------------------------------------------------- /mpdf/examples/tiger.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger.wmf -------------------------------------------------------------------------------- /mpdf/ttfonts/Garuda.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Garuda.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Norasi.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Norasi.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB Zar.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB Zar.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ocrb10.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ocrb10.ttf -------------------------------------------------------------------------------- /mpdf/examples/alpha3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/alpha3.png -------------------------------------------------------------------------------- /mpdf/examples/bayeux1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bayeux1.jpg -------------------------------------------------------------------------------- /mpdf/examples/bgrock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bgrock.jpg -------------------------------------------------------------------------------- /mpdf/examples/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/loading.gif -------------------------------------------------------------------------------- /mpdf/examples/sunset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sunset.jpg -------------------------------------------------------------------------------- /mpdf/examples/sunsetv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sunsetv.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger2.png -------------------------------------------------------------------------------- /mpdf/examples/tiger2.wmf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger2.wmf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB Riyaz.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB Riyaz.ttf -------------------------------------------------------------------------------- /mpdf/examples/bgbarcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bgbarcode.png -------------------------------------------------------------------------------- /mpdf/examples/borders2FF.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders2FF.jpg -------------------------------------------------------------------------------- /mpdf/examples/borders2IE.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders2IE.jpg -------------------------------------------------------------------------------- /mpdf/examples/borders3FF.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders3FF.jpg -------------------------------------------------------------------------------- /mpdf/examples/borders3IE.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders3IE.jpg -------------------------------------------------------------------------------- /mpdf/examples/borders4FF.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders4FF.jpg -------------------------------------------------------------------------------- /mpdf/examples/borders4IE.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/borders4IE.jpg -------------------------------------------------------------------------------- /mpdf/examples/bordersFF.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bordersFF.jpg -------------------------------------------------------------------------------- /mpdf/examples/bordersIE.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bordersIE.jpg -------------------------------------------------------------------------------- /mpdf/examples/clematis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/clematis.jpg -------------------------------------------------------------------------------- /mpdf/examples/firefox-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/firefox-48.png -------------------------------------------------------------------------------- /mpdf/examples/klematis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/klematis.jpg -------------------------------------------------------------------------------- /mpdf/examples/quran282.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/quran282.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger8trns.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger8trns.gif -------------------------------------------------------------------------------- /mpdf/examples/tiger8trns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger8trns.png -------------------------------------------------------------------------------- /mpdf/examples/tigercmyk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tigercmyk.jpg -------------------------------------------------------------------------------- /mpdf/examples/windmill.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/windmill.jpg -------------------------------------------------------------------------------- /mpdf/includes/no_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/includes/no_image.jpg -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSans.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerif.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerif.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Garuda-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Garuda-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Norasi-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Norasi-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB RiyazBd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB RiyazBd.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB RiyazIt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB RiyazIt.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB Zar Bd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB Zar Bd.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB Zar BdIt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB Zar BdIt.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/XB Zar It.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB Zar It.ttf -------------------------------------------------------------------------------- /mpdf/examples/bordersMPDF2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/bordersMPDF2.jpg -------------------------------------------------------------------------------- /mpdf/examples/sample_basic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sample_basic.pdf -------------------------------------------------------------------------------- /mpdf/examples/tiger24trns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger24trns.png -------------------------------------------------------------------------------- /mpdf/ttfonts/XB RiyazBdIt.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/XB RiyazBdIt.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_bn_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_bn_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_gu_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_gu_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_hi_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_hi_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_kn_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_kn_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_ml_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_ml_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_or_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_or_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_pa_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_pa_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_ta_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_ta_1_001.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/ind_te_1_001.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/ind_te_1_001.ttf -------------------------------------------------------------------------------- /mpdf/examples/flowers-pattern.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/flowers-pattern.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger300px72dpi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger300px72dpi.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger300px96dpi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger300px96dpi.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger300px96dpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger300px96dpi.png -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSans-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansMono.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansMono.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerif-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerif-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Garuda-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Garuda-Oblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Norasi-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Norasi-Oblique.ttf -------------------------------------------------------------------------------- /mpdf/examples/tiger300px300dpi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger300px300dpi.jpg -------------------------------------------------------------------------------- /mpdf/examples/tiger300px300dpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/tiger300px300dpi.png -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSans-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSans-Oblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerif-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerif-Italic.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Garuda-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Garuda-BoldOblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/Norasi-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/Norasi-BoldOblique.ttf -------------------------------------------------------------------------------- /mpdf/examples/sample_logoheader2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sample_logoheader2.pdf -------------------------------------------------------------------------------- /mpdf/examples/sample_orientation2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sample_orientation2.pdf -------------------------------------------------------------------------------- /mpdf/examples/sample_orientation3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/examples/sample_orientation3.pdf -------------------------------------------------------------------------------- /mpdf/iccprofiles/sRGB_IEC61966-2-1.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/iccprofiles/sRGB_IEC61966-2-1.icc -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansCondensed.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansCondensed.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansMono-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansMono-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerifCondensed.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerifCondensed.ttf -------------------------------------------------------------------------------- /mpdf/iccprofiles/SWOP2006_Coated5v2.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/iccprofiles/SWOP2006_Coated5v2.icc -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSans-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSans-BoldOblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansMono-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansMono-Oblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerif-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerif-BoldItalic.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansCondensed-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansMono-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansMono-BoldOblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerifCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerifCondensed-Bold.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansCondensed-Oblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansCondensed-Oblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerifCondensed-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerifCondensed-Italic.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSansCondensed-BoldOblique.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSansCondensed-BoldOblique.ttf -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuSerifCondensed-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dcblogdev/form-to-pdf/HEAD/mpdf/ttfonts/DejaVuSerifCondensed-BoldItalic.ttf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Form to PDF 2 | ============= 3 | 4 | These files acompany the tutorial: [Form to PDF](https://daveismyname.com/create-pdf-with-form-data-bp) 5 | -------------------------------------------------------------------------------- /mpdf/font/ccourier.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-23 -250 715 805]'); 6 | $up=-100; 7 | $ut=50; 8 | 9 | ?> 10 | -------------------------------------------------------------------------------- /mpdf/font/ccourierb.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-113 -250 749 801]'); 5 | $up=-100; 6 | $ut=50; 7 | 8 | 9 | ?> 10 | -------------------------------------------------------------------------------- /mpdf/font/ccourierbi.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-57 -250 869 801]'); 5 | $up=-100; 6 | $ut=50; 7 | 8 | 9 | ?> 10 | -------------------------------------------------------------------------------- /mpdf/font/ccourieri.php: -------------------------------------------------------------------------------- 1 | 629,'Descent'=>-157,'CapHeight'=>562,'FontBBox'=>'[-27 -250 849 805]'); 5 | $up=-100; 6 | $ut=50; 7 | 8 | 9 | ?> 10 | -------------------------------------------------------------------------------- /mpdf/patterns/NOTES.txt: -------------------------------------------------------------------------------- 1 | Alternative sources of Hyphenation programs or TEX files: 2 | 3 | OpenOffice: http://wiki.services.openoffice.org/wiki/Dictionaries 4 | 5 | Hyphenator4PHP- alternative PHP hyphenator scripts: http://apps.sourceforge.net/trac/hyphenator4php/ -------------------------------------------------------------------------------- /mpdf/README.txt: -------------------------------------------------------------------------------- 1 | Upgrading 2 | ============ 3 | 4 | To upgrade from mPDF 5.7 or 5.7.1 to 5.7.2, simply upload the files to their corresponding folders, overwriting files as required. 5 | 6 | Note: classes/barcode.php and includes/functions.php have not changed between 5.7.1 and 5.7.2 - they are included here to permit upgrading directly from 5.7 to 5.7.2 7 | 8 | 9 | -------------------------------------------------------------------------------- /mpdf/examples/example40_MPDFI_thumbnails.php: -------------------------------------------------------------------------------- 1 | SetImportUse(); 7 | 8 | $mpdf->Thumbnail('sample_orientation2.pdf', 4, 5); // number per row // spacing in mm 9 | 10 | $mpdf->WriteHTML('
Now with rotated pages
'); 11 | 12 | $mpdf->Thumbnail('sample_orientation3.pdf', 4); // number per row // spacing in mm 13 | 14 | 15 | $mpdf->Output(); 16 | 17 | exit; 18 | 19 | 20 | ?> -------------------------------------------------------------------------------- /mpdf/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mpdf/mpdf", 3 | "type": "library", 4 | "description": "A PHP class to generate PDF files from HTML with Unicode/UTF-8 and CJK support", 5 | "keywords": ["php", "pdf", "utf-8"], 6 | "homepage": "http://www.mpdf1.com/mpdf/index.php", 7 | "license": ["GPL-1.0+"], 8 | "authors": [ 9 | { 10 | "name": "Ian Back" 11 | } 12 | ], 13 | "require": { 14 | "php": ">=4.3.10", 15 | "ext-mbstring": "*" 16 | }, 17 | "autoload": { 18 | "classmap": ["mpdf.php", "classes"] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /mpdf/mpdf.css: -------------------------------------------------------------------------------- 1 | /* 2 | This is a secondary default stylesheet for mPDF 3 | It will only parse element-level CSS here 4 | Remove the comment marks below and edit as required 5 | */ 6 | 7 | 8 | 9 | /* 10 | These values used to be the default prior to mPDF 4.2 11 | Altered to make appearance closer to that of browsers 12 | Uncomment these lines to return to behaviour prior to v4.2 13 | */ 14 | 15 | 16 | /* 17 | img { margin: 0.83em 0; vertical-align: bottom; } 18 | table { margin: 0.5em; } 19 | textarea { vertical-align: top; } 20 | */ 21 | -------------------------------------------------------------------------------- /mpdf/examples/tiger.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mpdf/examples/example41_MPDFI_template.php: -------------------------------------------------------------------------------- 1 | SetImportUse(); 7 | 8 | $mpdf->SetDisplayMode('fullpage'); 9 | 10 | $mpdf->SetCompression(false); 11 | 12 | // Add First page 13 | $pagecount = $mpdf->SetSourceFile('sample_basic.pdf'); 14 | 15 | $crop_x = 50; 16 | $crop_y = 50; 17 | $crop_w = 100; 18 | $crop_h = 100; 19 | 20 | $tplIdx = $mpdf->ImportPage(2, $crop_x, $crop_y, $crop_w, $crop_h); 21 | 22 | $x = 50; 23 | $y = 50; 24 | $w = 100; 25 | $h = 100; 26 | 27 | $mpdf->UseTemplate($tplIdx, $x, $y, $w, $h); 28 | 29 | $mpdf->Rect($x, $y, $w, $h); 30 | 31 | $mpdf->Output('newpdf.pdf', 'I'); 32 | 33 | exit; 34 | 35 | 36 | ?> -------------------------------------------------------------------------------- /mpdf/utils/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

mPDF Font Utility scripts for Version 5.0

8 |

9 | Dump all characters from a font (font_dump.php) 10 |

11 |

12 | Show a list of all font names available (font_names.php) 13 |

14 |

15 | Show fonts in Collections .ttc (font_collections.php) 16 |

17 |

18 | Show coverage of characters from all fonts (font_coverage.php) 19 |

20 | 21 |

Edit the scripts to change the font folder if you wish - this is set by default to /ttfonts/

22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /mpdf/examples/example42_MPDFI_templatedoc.php: -------------------------------------------------------------------------------- 1 | SetImportUse(); 7 | 8 | $mpdf->SetDocTemplate('sample_logoheader2.pdf',1); // 1|0 to continue after end of document or not - used on matching page numbers 9 | 10 | //=================================================== 11 | $mpdf->AddPage(); 12 | $mpdf->WriteHTML('Hallo World'); 13 | $mpdf->AddPage(); 14 | $mpdf->WriteHTML('Hallo World'); 15 | $mpdf->AddPage(); 16 | $mpdf->WriteHTML('Hallo World'); 17 | //=================================================== 18 | 19 | $mpdf->RestartDocTemplate(); 20 | 21 | //=================================================== 22 | $mpdf->AddPage(); 23 | $mpdf->WriteHTML('Hallo World'); 24 | $mpdf->AddPage(); 25 | $mpdf->WriteHTML('Hallo World'); 26 | $mpdf->AddPage(); 27 | $mpdf->WriteHTML('Hallo World'); 28 | //=================================================== 29 | 30 | 31 | $mpdf->Output(); 32 | 33 | exit; 34 | 35 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example39_PDFA_compliance.php: -------------------------------------------------------------------------------- 1 | mPDF 7 |

PDFA Compliance

8 |

PDF/A1-b is a file format for the long-term archiving of electronic documents. This is an example of a PDF/A1-b compliant files.

9 | '; 10 | //============================================================== 11 | //============================================================== 12 | //============================================================== 13 | include("../mpdf.php"); 14 | 15 | $mpdf=new mPDF(); 16 | 17 | $mpdf->PDFA = true; 18 | $mpdf->PDFAauto = true; 19 | $mpdf->WriteHTML($html); 20 | 21 | $mpdf->Output(); 22 | 23 | exit; 24 | //============================================================== 25 | //============================================================== 26 | //============================================================== 27 | //============================================================== 28 | //============================================================== 29 | 30 | 31 | ?> -------------------------------------------------------------------------------- /mpdf/examples/index.php: -------------------------------------------------------------------------------- 1 |

mPDF Example Files

'; 14 | 15 | foreach($files AS $n=>$f) { 16 | echo '

'.$n.') '.$f[0].'   PDF   PHP

'; 17 | } 18 | 19 | echo ''; 20 | exit; 21 | 22 | 23 | // For PHP4 compatability 24 | if (!function_exists('scandir')) { 25 | function scandir($dir = './', $sort = 0) { 26 | $dir_open = @ opendir($dir); 27 | if (! $dir_open) 28 | return false; 29 | while (($dir_content = readdir($dir_open)) !== false) 30 | $files[] = $dir_content; 31 | if ($sort == 1) 32 | rsort($files, SORT_STRING); 33 | else 34 | sort($files, SORT_STRING); 35 | return $files; 36 | } 37 | } 38 | 39 | 40 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example49_changelog.php: -------------------------------------------------------------------------------- 1 | tabSpaces = 6; 12 | 13 | $mpdf->allow_charset_conversion=true; 14 | $mpdf->charset_in='windows-1252'; 15 | 16 | 17 | //============================================================== 18 | 19 | $html = ' 20 |

mPDF

21 |

ChangeLog

22 |
23 | '; 24 | $lines = file('../CHANGELOG.txt'); 25 | 26 | $html .= '
';
27 | foreach($lines AS $line) {
28 | 	$html .= htmlspecialchars($line);
29 | }
30 | $html .= '
'; 31 | $html .= '
'; 32 | 33 | //============================================================== 34 | 35 | $mpdf->WriteHTML($html); 36 | 37 | $mpdf->Output(); 38 | exit; 39 | 40 | 41 | ?> -------------------------------------------------------------------------------- /mpdf/progbar.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin : 0 auto; 3 | width:100%; 4 | font-family: "Verdana"; 5 | color: #40454b; 6 | font-size: 12px; 7 | text-align:center; 8 | } 9 | .main { 10 | width:540px; 11 | margin: 0 auto; 12 | text-align:left; 13 | } 14 | .heading { 15 | font-size:14px; 16 | font-weight:bold; 17 | color:#CC0000; 18 | padding:5px; 19 | margin-left:10px; 20 | border-bottom:solid; 21 | border-bottom-width:1px; 22 | border-bottom-color:#333333; 23 | /* Use this to suppress the horizontal line under the heading */ 24 | /* border-bottom: 0px solid #000000; */ 25 | } 26 | table { 27 | font-family: "Verdana"; 28 | color: #40454b; 29 | font-size: 12px; 30 | } 31 | .demo { 32 | margin : 0 auto; 33 | width:100%; 34 | margin:20px; 35 | /* Use this to suppress all the bars and text */ 36 | /* display: none; */ 37 | } 38 | td { 39 | vertical-align: top; 40 | padding: 0 0.5em 0 0; 41 | } 42 | .code { 43 | font-family: "Courier New", Courier, monospace; 44 | font-size: 10px; 45 | } 46 | .code2 { 47 | font-family: "Courier New", Courier, monospace; 48 | font-size: 11px; font-weight: bold; color: red; 49 | } 50 | .barheading { 51 | color:#006600; 52 | font-weight:bold; 53 | } 54 | .progressBar { 55 | border: 1px solid #000000; 56 | background-color: #EEEEEE; 57 | width: 200px; 58 | font-size: 6px; 59 | } 60 | .innerBar { 61 | background-color:#00CC00; 62 | width: 0%; 63 | } 64 | #box3 { 65 | font-weight: bold; 66 | } 67 | -------------------------------------------------------------------------------- /mpdf/examples/example38_dot_tab.php: -------------------------------------------------------------------------------- 1 | 6 | dottab.menu { 7 | outdent: 4em; 8 | } 9 | p.menu { 10 | text-align: left; 11 | padding-right: 4em; 12 | } 13 | 14 | 15 |

Menu

16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | '; 29 | 30 | 31 | include("../mpdf.php"); 32 | 33 | $mpdf=new mPDF(); 34 | 35 | $mpdf->WriteHTML($html); 36 | 37 | $mpdf->Output(); 38 | 39 | exit; 40 | 41 | 42 | 43 | ?> -------------------------------------------------------------------------------- /mpdf/examples/show_code.php: -------------------------------------------------------------------------------- 1 | debug=true; 10 | $mpdf->tabSpaces = 6; 11 | 12 | $mpdf->allow_charset_conversion=true; 13 | $mpdf->charset_in='windows-1252'; 14 | 15 | //============================================================== 16 | preg_match('/example[0]{0,1}(\d+)_(.*?)\.php/',$filename,$m); 17 | $num = intval($m[1]); 18 | $title = ucfirst(preg_replace('/_/',' ',$m[2])); 19 | 20 | if (!$num || !$title) { die("Invalid file"); } 21 | if (preg_match('/\//', $filename) || !preg_match('/\.php$/',$filename)) { die("Hacking attempt"); } 22 | 23 | $html = ' 24 |

mPDF

25 |

Example '.$num.'. '.$title.'

26 |
27 | '; 28 | $lines = file($filename); 29 | 30 | $html .= '
';
31 | foreach($lines AS $line) {
32 | 	$html .= htmlspecialchars($line);
33 | }
34 | $html .= '
'; 35 | $html .= '
'; 36 | 37 | $mpdf->WriteHTML($html,2); // The 2 is important to prevent 11 | 12 | 13 |

Line-height & vertical alignment

14 |
In these examples, top and bottom padding are set to 0, so the block height = line height.
15 |
The inline text (set to a larger font-size) inherits the line-height as a factor of the largest font-size i.e. the line height will expand to reflect the largest font on the line.
16 | Line-height: "normal" (set in mPDF by default as 1.33).
17 |

Normal text 16pt font-size  and normal again

18 | 19 |
Line-height: 2.0 When using relative line-heights, the text is aligned vertically so that the centre-line of the line goes throught the middle of the largest font.
20 |

Normal text 16pt font-size  and normal again

21 | 22 |
Line-heights set as a percentages are computed on the base font-size, and are then inherited and treated the same as absolute lengths. This is also true for "em" values. The line-height of this line is set as 200% of the paragraph font-size (10pt).
23 | When using absolute line-heights, the text is aligned vertically so that the centre-line of the line goes throught the middle of the base font.
24 | This means that as far as possible, multiple lines will remain equally spaced
25 | Line-height: 200%
26 |

Normal text 16pt font-size  and normal again

27 | 28 |
If the line includes a font-size greater than 1.6 times the computed line-height, then the text baseline is dropped so that the text will approximately fit within the line-height. 29 |
Line-height: 2em
30 |

Normal text 18pt font-size  and normal again

31 | 32 |
If the line includes a font-size greater than 2 times the computed line-height, then the line-height is increased to accommodate the larger fontsize.
33 | Line-height: 2em
34 |

Normal text 24pt font-size  and normal again

35 | 36 | -------------------------------------------------------------------------------- /mpdf/CHANGELOG.txt: -------------------------------------------------------------------------------- 1 | ================ 2 | mPDF 5.7.2 3 | 15/05/2014 4 | ================ 5 | 6 | Files changed (from 5.7.1) 7 | ------------- 8 | mpdf.php 9 | classes/cssmgr.php 10 | classes/svg.php 11 | classes/tocontents.php 12 | 13 | Bug Fixes 14 | --------- 15 | - not printing at all (since v5.7) 16 | - list-style incorrectly overriding list-style-type in cascading CSS 17 | - page-break-after:avoid not taking into account bottom padding and margin when estimating if next line can fit on page 18 | - images not displayed when using "https://" if images are referenced by src="//domain.com/image" 19 | - +aCJK incorrectly parsed when instantiating class e.g. new mpDF('ja+aCJK') 20 | - line-breaking - zero-width object at end of line (e.g. index entry) causing a space left untrimmed at end of line 21 | - ToC since v5.7 incorrectly handling non-ascii characters, entities or tags 22 | - cell height miscalculated when using hard-hyphenate 23 | - border colors set with transparency not working 24 | - transparency settings for stroke and fill interfering with one another 25 | - 'float' inside a HTML header/footer - not clearing the float before first line of text 26 | - error if script run across date change at midnight 27 | - temporary file name collisions (e.g. when processing images) if numerous users 28 | - position attribute not working 29 | - < (less-than sign) inside a PRE element, and NOT start of a valid tag, was incorrectly removed 30 | - file attachments not opening in Reader XI 31 | - JPG images not recognised if not containing JFIF or Exif markers 32 | - instance of preg_replace with /e modifier causing error in PHP 5.5 33 | - correctly handle CSS URLs with no scheme 34 | - Index entries causing errors when repeat entries are used within page-break-inside:avoid, rotated tables etc. 35 | - table with fixed width column and long word in cell set to colspan across this column (adding spare width to all columns) 36 | - incorrect hyphenation if multiple soft-hyphens on line before break 37 | - SVG images - objects contained in being displayed 38 | - SVG images - multiple, or quoted fonts e.g. style="font-family:'lucida grande', verdana" not recognised 39 | - SVG images - line with opacity=0 still visible (only in some PDF viewers/browsers) 40 | - text in an SVG image displaying with incorrect font in some PDF viewers/browsers 41 | - SVG images - fill:RGB(0,0,0) not recognised when uppercase 42 | - background images using data:image\/(jpeg|gif|png);base64 format - error when reading in stylesheet 43 | 44 | New CSS support 45 | --------------- 46 | - added support for style="opacity:0.6;" in SVG images - previously only supported style="fill-opacity:0.6; stroke-opacity: 0.6;" 47 | - improved PNG image handling for some cases of alpha channel transparency 48 | - khmer, cambodian and lao recognised as list-style-type for numbered lists 49 | 50 | SVG Images 51 | ---------- 52 | Limited support for and 53 | 54 | -------------------------------------------------------------------------------- /mpdf/CHANGES 5.7.3.txt: -------------------------------------------------------------------------------- 1 | Files changed 2 | ------------- 3 | mpdf.php 4 | classes/cssmgr.php 5 | config.php (added 'main' to $this->allowedCSStags and $this->outerblocktags) 6 | 7 | 8 | Bug Fixes & Minor Additions 9 | --------------------------- 10 | - Tables - cellSpacing and cellPadding taking preference over CSS stylesheet 11 | - Tables - background images in table inside HTML Footer incorrectly positioned 12 | - Tables - cell in a nested table with a specified width, should determine width of parent table cell 13 | (cf. http://www.mpdf1.com/forum/discussion/1648/nested-table-bug-) 14 | - Tables - colspan (on a row after first row) exceeds number of columns in table 15 | - Gradients in Imported documents (mPDFI) causing error in some browsers 16 | - Fatal error after page-break-after:always on root level block element 17 | - Support for 'https/SSL' if file_get_contents_by_socket required (e.g. getting images with allow_url_fopen turned off) 18 | - Improved support for specified ports when getting external CSS stylesheets e.g. www.domain.com:80 19 | - error accessing local .css files with dummy queries (cache-busting) e.g. mpdfstyleA4.css?v=2.0.18.9 20 | - start of end tag in PRE incorrectly changed to < 21 | - error thrown when open.basedir restriction in effect (deleting temporary files) 22 | - image which forces pagebreak incorrectly positioned at top of page 23 | - [changes to avoid warning notices by checking if (isset(x)) before referencing it] 24 | - text with letter-spacing set inside table which needs to be resixed (shrunk) - letter-spacing was not adjusted 25 | - nested table incorrectly calculating width and unnecessarily wrapping text 26 | - vertical-align:super|sub can be nested using elements 27 | - inline elements can be nested e.g. text text13text text 28 | - CSS vertical-align:0.5em (or %) now supported 29 | - underline and strikethrough now use the parent inline block baseline/fontsize/color for child inline elements *** change in behaviour 30 | (Adjusts line height to take account of superscript and subscript except in tables) 31 | - nested table incorrectly calculating width and unnecessarily wrapping text 32 | - tables - font size carrying over from one nested table to the next nested table 33 | - tables - border set as attribute on overrides border set as CSS on
34 | - tables - if table width set to 100% and one cell/column is empty with no padding/border, sizing incorrectly 35 | (http://www.mpdf1.com/forum/discussion/1886/td-fontsize-in-nested-table-bug-#Item_5) 36 | -
added as recognised tag 37 | - CSS style transform supported on element (only) 38 | All transform functions are supported except matrix() i.e. translate(), translateX(), translateY(), skew(), skewX(), skewY(), 39 | scale(), scaleX(), scaleY(), rotate() 40 | NB When using Columns or Keep-with-table (use_kwt), cannot use transform 41 | - CSS background-color now supported on element 42 | - @page :first not recognised unless @page {} has styles set 43 | - left/right margins not allowed on @page :first 44 | -------------------------------------------------------------------------------- /mpdf/examples/example15_headers_method_1.php: -------------------------------------------------------------------------------- 1 | mirrorMargins = 1; // Use different Odd/Even headers and footers and mirror margins 8 | 9 | $mpdf->defaultheaderfontsize = 10; /* in pts */ 10 | $mpdf->defaultheaderfontstyle = B; /* blank, B, I, or BI */ 11 | $mpdf->defaultheaderline = 1; /* 1 to include line below header/above footer */ 12 | 13 | $mpdf->defaultfooterfontsize = 12; /* in pts */ 14 | $mpdf->defaultfooterfontstyle = B; /* blank, B, I, or BI */ 15 | $mpdf->defaultfooterline = 1; /* 1 to include line below header/above footer */ 16 | 17 | 18 | $mpdf->SetHeader('{DATE j-m-Y}|{PAGENO}/{nb}|My document'); 19 | $mpdf->SetFooter('{PAGENO}'); /* defines footer for Odd and Even Pages - placed at Outer margin */ 20 | 21 | $mpdf->SetFooter(array( 22 | 'L' => array( 23 | 'content' => 'Text to go on the left', 24 | 'font-family' => 'sans-serif', 25 | 'font-style' => 'B', /* blank, B, I, or BI */ 26 | 'font-size' => '10', /* in pts */ 27 | ), 28 | 'C' => array( 29 | 'content' => '- {PAGENO} -', 30 | 'font-family' => 'serif', 31 | 'font-style' => 'BI', 32 | 'font-size' => '18', /* gives default */ 33 | ), 34 | 'R' => array( 35 | 'content' => 'Printed @ {DATE j-m-Y H:m}', 36 | 'font-family' => 'monospace', 37 | 'font-style' => '', 38 | 'font-size' => '10', 39 | ), 40 | 'line' => 1, /* 1 to include line below header/above footer */ 41 | ), 'E' /* defines footer for Even Pages */ 42 | ); 43 | 44 | 45 | $html = ' 46 |

mPDF

47 |

Headers & Footers Method 1

48 |

Odd / Right page

49 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

50 | 51 |

Even / Left page

52 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

53 | '; 54 | 55 | $mpdf->WriteHTML($html); 56 | 57 | $mpdf->Output(); 58 | exit; 59 | 60 | ?> -------------------------------------------------------------------------------- /mpdf/font/czapfdingbats.php: -------------------------------------------------------------------------------- 1 | 0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0, 4 | chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939, 5 | ','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692, 6 | 'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776, 7 | 'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873, 8 | 'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317, 9 | chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, 10 | chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788, 11 | chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788, 12 | chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918, 13 | chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874, 14 | chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0); 15 | 16 | $desc=array('FontBBox'=>'[-1 -143 981 820]'); 17 | $up=-100; 18 | $ut=50; 19 | 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example16_headers_method_2.php: -------------------------------------------------------------------------------- 1 | mirrorMargins = 1; // Use different Odd/Even headers and footers and mirror margins 8 | 9 | $header = ' 10 | 11 | 12 | 13 | 14 |
Left header p {PAGENO}Right header
15 | '; 16 | $headerE = ' 17 | 18 | 19 | 20 | 21 |
Outer headerInner header p {PAGENO}
22 | '; 23 | 24 | $footer = ''; 25 | $footerE = ''; 26 | 27 | 28 | $mpdf->SetHTMLHeader($header); 29 | $mpdf->SetHTMLHeader($headerE,'E'); 30 | $mpdf->SetHTMLFooter($footer); 31 | $mpdf->SetHTMLFooter($footerE,'E'); 32 | 33 | 34 | $html = ' 35 |

mPDF

36 |

Headers & Footers Method 2

37 |

Odd / Right page

38 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

39 | 40 |

Even / Left page

41 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

42 | '; 43 | 44 | $mpdf->WriteHTML($html); 45 | 46 | $mpdf->Output(); 47 | exit; 48 | 49 | ?> -------------------------------------------------------------------------------- /mpdf/font/csymbol.php: -------------------------------------------------------------------------------- 1 | 250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, 4 | chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549, 5 | ','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722, 6 | 'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768, 7 | 'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576, 8 | 'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0, 9 | chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, 10 | chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603, 11 | chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768, 12 | chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042, 13 | chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329, 14 | chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0); 15 | 16 | $desc=array('FontBBox'=>'[-180 -293 1090 1010]'); 17 | $up=-100; 18 | $ut=50; 19 | 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/mpdfi/filters/FilterASCII85.php: -------------------------------------------------------------------------------- 1 | ORD_u) { 56 | $this->error('Illegal character in ASCII85Decode.'); 57 | } 58 | 59 | $chn[$state++] = $ch - ORD_exclmark; 60 | 61 | if ($state == 5) { 62 | $state = 0; 63 | $r = 0; 64 | for ($j = 0; $j < 5; ++$j) 65 | $r = $r * 85 + $chn[$j]; 66 | $out .= chr($r >> 24); 67 | $out .= chr($r >> 16); 68 | $out .= chr($r >> 8); 69 | $out .= chr($r); 70 | } 71 | } 72 | $r = 0; 73 | 74 | if ($state == 1) 75 | $this->error('Illegal length in ASCII85Decode.'); 76 | if ($state == 2) { 77 | $r = $chn[0] * 85 * 85 * 85 * 85 + ($chn[1]+1) * 85 * 85 * 85; 78 | $out .= chr($r >> 24); 79 | } 80 | else if ($state == 3) { 81 | $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + ($chn[2]+1) * 85 * 85; 82 | $out .= chr($r >> 24); 83 | $out .= chr($r >> 16); 84 | } 85 | else if ($state == 4) { 86 | $r = $chn[0] * 85 * 85 * 85 * 85 + $chn[1] * 85 * 85 * 85 + $chn[2] * 85 * 85 + ($chn[3]+1) * 85 ; 87 | $out .= chr($r >> 24); 88 | $out .= chr($r >> 16); 89 | $out .= chr($r >> 8); 90 | } 91 | 92 | return $out; 93 | } 94 | 95 | function encode($in) { 96 | $this->error("ASCII85 encoding not implemented."); 97 | } 98 | } -------------------------------------------------------------------------------- /mpdf/ttfonts/ocrbinfo.txt: -------------------------------------------------------------------------------- 1 | Mostly-free OCR B 2 | 3 | This font is used in UPC bar code symbols, including the ISBN symbols on 4 | most published books. 5 | 6 | A freely distributable version seems to be sorely needed. Until now, it's 7 | been very difficult to find the font in computer-usable format except by 8 | paying a high fee to a commercial font vendor. Even many serious commercial 9 | publishers have so much trouble getting it right that they just go ahead and 10 | use Helvetica instead, or even (shudder) Arial. Since the OCR B font is 11 | required by an international standard, it seems like it ought to be free. 12 | So here it is. The font in this package is not a "ripped", pirated, or 13 | shadily reverse engineered version; every effort has been made to ensure 14 | that it genuinely derives from free sources and all the creators involved 15 | have actually intended it for free public use. 16 | 17 | Converted by Matthew Skala from Metafont format to Postscript and TrueType 18 | formats, July 28, 2006, using mftrace 1.2.4 by Paul Vojta, which is 19 | available from 20 | http://www.xs4all.nl/~hanwen/mftrace/ 21 | and Autotrace 0.31.1 available from 22 | http://autotrace.sourceforge.net/ 23 | 24 | The Metafont files (not included - see notes below) were coded by Norbert 25 | Schwarz in the 1980s, based on German standards documents. He has attached 26 | a notice, notably not actually claiming any copyright - see the file 27 | "ocrbinfo" - saying that the fonts are "given to free non commercial use", 28 | but commenting that he is only free to grant rights to his own work on the 29 | digitization, because he did not design the original letter forms. He 30 | suggests that there may be other copyright claims attached to the letter 31 | forms themselves, which Schwarz credits as being originally designed by 32 | "Adam Frutiger" [sic], almost certainly a mistake for Adrian Frutiger. My 33 | (Matthew Skala's) understanding of copyright law, at least in the USA and 34 | Canada, is that in fact typefaces per se cannot be subject to copyright 35 | claims, so the software embodiment is the only thing subject to copyright 36 | and Schwarz's release makes it available for whatever "non commercial use" 37 | means. 38 | 39 | To avoid muddying the waters further, any copyright claims by Matthew Skala 40 | on these files are hereby released to the public domain. I'd like for these 41 | fonts to be freely usable even in marginally commercial applications, such 42 | as to generate UPC labels for books that will be sold for profit, but it may 43 | not be within my power to grant that myself because I didn't write the 44 | Metafont files although I did do considerable, and probably copyrightable, 45 | work on the translation to Postscript and TrueType. It was *not* a purely 46 | automated process; try using the tools I used and see how far you get 47 | without human editing! I'd also like for these fonts (the fonts themselves 48 | as opposed to documents made with them) not to be sold, not even indirectly 49 | by those Web sites that advertise "free downloads" but make it difficult to 50 | actually download fonts without paying a fee. 51 | 52 | NOTE: This ZIP archive is a stripped-down version containing just the 53 | essential files for using the main OCR B font on most systems. If you want 54 | the much larger complete package, which contains Metafont sources and several 55 | variant fonts (reverse-video, outline, and slanted), look for a ZIP archive 56 | called ocrb-complete.zip wherever you found this one. 57 | 58 | Matthew Skala 59 | mskala@ansuz.sooke.bc.ca 60 | http://ansuz.sooke.bc.ca/ 61 | -------------------------------------------------------------------------------- /mpdf/examples/example35_watermarks.php: -------------------------------------------------------------------------------- 1 | mPDF 5 |

Watermarks

6 |

P: Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

7 | 8 |
9 | 10 |
DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim.
11 |
DIV: Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim.
12 | 13 |
Blockquote: Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus. Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus.
14 | 15 |
Address: Vestibulum feugiat, orci at imperdiet tincidunt, mauris erat facilisis urna, sagittis ultricies dui nisl et lectus. Sed lacinia, lectus vitae dictum sodales, elit ipsum ultrices orci, non euismod arcu diam non metus.
16 | 17 | '; 18 | 19 | 20 | //============================================================== 21 | //============================================================== 22 | //============================================================== 23 | 24 | include("../mpdf.php"); 25 | 26 | $mpdf=new mPDF('c'); 27 | 28 | $mpdf->SetDisplayMode('fullpage'); 29 | 30 | $mpdf->SetWatermarkText('DRAFT'); 31 | $mpdf->watermark_font = 'DejaVuSansCondensed'; 32 | $mpdf->showWatermarkText = true; 33 | 34 | 35 | $mpdf->WriteHTML($html); 36 | $mpdf->AddPage(); 37 | 38 | $mpdf->SetWatermarkImage('tiger.wmf', 1, '', array(160,10)); 39 | $mpdf->showWatermarkImage = true; 40 | 41 | $mpdf->WriteHTML('

Using a Watermark as a Header

'); 42 | $mpdf->WriteHTML($html); 43 | $mpdf->AddPage(); 44 | 45 | $mpdf->SetWatermarkImage('tiger.wmf', 0.15, 'F'); 46 | 47 | $mpdf->WriteHTML('

Using a Watermark Image as Background

'); 48 | $mpdf->WriteHTML($html); 49 | 50 | 51 | $mpdf->Output(); 52 | exit; 53 | 54 | //============================================================== 55 | //============================================================== 56 | //============================================================== 57 | 58 | 59 | ?> -------------------------------------------------------------------------------- /mpdf/examples/formsubmit.php: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 |

Submitted data from PDF Form

11 |

(See formsubmit.php in the Examples folder for details)

12 | '; 13 | 14 | 15 | if (count($_POST)) { 16 | // To display HTML output from PDF form 17 | echo '

HTML format data sent as POST

'; 18 | foreach($_POST AS $name=>$val) { 19 | $t = mb_convert_encoding(PDFDocEncodingToWin1252($val), 'UTF-8', 'Windows-1252' ); // If from core fonts doc 20 | echo '

PDFDocEnc: '.$name.' => '.htmlspecialchars($t).'

'; 21 | } 22 | } 23 | else if (count($_GET)) { 24 | // To display HTML output from PDF form 25 | echo '

HTML format data sent as GET

'; 26 | foreach($_GET AS $name=>$val) { 27 | $t = mb_convert_encoding(PDFDocEncodingToWin1252($val), 'UTF-8', 'Windows-1252' ); // If from core fonts doc 28 | echo '

PDFDocEnc: '.$name.' => '.htmlspecialchars($t).'

'; 29 | } 30 | } 31 | 32 | else { 33 | $postdata = file_get_contents("php://input"); 34 | 35 | if ($postdata) { 36 | echo '

XFDF format data detected

'; 37 | // To parse XFDF 38 | if (preg_match_all('/\s*((.*?)<\/value\s*>)\s*<\/field\s*>/s', $postdata, $m)) { 39 | for($i=0; $i(.*?)<\/value\s*>/s', $m[2][$i], $v); 42 | if (count($v[0])>1) { 43 | $values = array(); 44 | foreach($v[1] AS $val) { $values[] = $val; } 45 | //foreach($v[1] AS $val) { $values[] = htmlspecialchars_decode($val); } 46 | echo '

Field: '.$m[1][$i].' => [array of values] ('.implode(', ',$values).')

'; 47 | } 48 | else { 49 | //echo '

Field: '.$m[1][$i].' => '.htmlspecialchars_decode($m[3][$i]).'

'; 50 | echo '

Field: '.$m[1][$i].' => '.$m[3][$i].'

'; 51 | } 52 | } 53 | } 54 | if (preg_match_all('/\s*\s*<\/field\s*>/s', $postdata, $m)) { 55 | for($i=0; $iField: '.$m[1][$i].' => [blank]

'; 57 | } 58 | } 59 | if (preg_match_all('//s', $postdata, $m)) { 60 | for($i=0; $iField: '.$m[1][$i].' => [no value]

'; 62 | } 63 | } 64 | 65 | 66 | // To display whole XFDF 67 | //$postdata = preg_replace("/[\n\r]/", "", $postdata); 68 | //$postdata = preg_replace('/>\s*\n<", $postdata); 69 | //echo nl2br(htmlspecialchars($postdata)); 70 | } 71 | else { echo "No form data detected"; } 72 | } 73 | 74 | 75 | 76 | echo ''; 77 | 78 | exit; 79 | 80 | function PDFDocEncodingToWin1252($txt) { 81 | $Win1252ToPDFDocEncoding = array( 82 | chr(0200) => chr(0240), chr(0214) => chr(0226), chr(0212) => chr(0227), chr(0237) => chr(0230), 83 | chr(0225) => chr(0200), chr(0210) => chr(0032), chr(0206) => chr(0201), chr(0207) => chr(0202), 84 | chr(0205) => chr(0203), chr(0227) => chr(0204), chr(0226) => chr(0205), chr(0203) => chr(0206), 85 | chr(0213) => chr(0210), chr(0233) => chr(0211), chr(0211) => chr(0213), chr(0204) => chr(0214), 86 | chr(0223) => chr(0215), chr(0224) => chr(0216), chr(0221) => chr(0217), chr(0222) => chr(0220), 87 | chr(0202) => chr(0221), chr(0232) => chr(0235), chr(0230) => chr(0037), chr(0231) => chr(0222), 88 | chr(0216) => chr(0231) 89 | ); 90 | return strtr($txt, array_flip($Win1252ToPDFDocEncoding) ); 91 | } 92 | 93 | 94 | ?> -------------------------------------------------------------------------------- /mpdf/examples/mpdfstyleA4.css: -------------------------------------------------------------------------------- 1 | body { font-family: DejaVuSansCondensed, sans-serif; font-size: 11pt; } 2 | p { text-align: justify; margin-bottom: 4pt; margin-top:0pt; } 3 | 4 | hr { width: 70%; height: 1px; 5 | text-align: center; color: #999999; 6 | margin-top: 8pt; margin-bottom: 8pt; } 7 | 8 | a { color: #000066; font-style: normal; text-decoration: underline; 9 | font-weight: normal; } 10 | 11 | ul { text-indent: 5mm; margin-bottom: 9pt; } 12 | ol { text-indent: 5mm; margin-bottom: 9pt; } 13 | 14 | pre { font-family: DejaVuSansMono, monospaced; font-size: 9pt; margin-top: 5pt; margin-bottom: 5pt; } 15 | 16 | h1 { font-weight: normal; font-size: 26pt; color: #000066; 17 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 18pt; margin-bottom: 6pt; 18 | border-top: 0.075cm solid #000000; border-bottom: 0.075cm solid #000000; 19 | text-align: ; page-break-after:avoid; } 20 | h2 { font-weight: bold; font-size: 12pt; color: #000066; 21 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 6pt; margin-bottom: 6pt; 22 | border-top: 0.07cm solid #000000; border-bottom: 0.07cm solid #000000; 23 | text-align: ; text-transform: uppercase; page-break-after:avoid; } 24 | h3 { font-weight: normal; font-size: 26pt; color: #000000; 25 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 0pt; margin-bottom: 6pt; 26 | border-top: 0; border-bottom: 0; 27 | text-align: ; page-break-after:avoid; } 28 | h4 { font-weight: ; font-size: 13pt; color: #9f2b1e; 29 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 10pt; margin-bottom: 7pt; 30 | font-variant: small-caps; 31 | text-align: ; margin-collapse:collapse; page-break-after:avoid; } 32 | h5 { font-weight: bold; font-style:italic; ; font-size: 11pt; color: #000044; 33 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 8pt; margin-bottom: 4pt; 34 | text-align: ; page-break-after:avoid; } 35 | h6 { font-weight: bold; font-size: 9.5pt; color: #333333; 36 | font-family: DejaVuSansCondensed, sans-serif; margin-top: 6pt; margin-bottom: ; 37 | text-align: ; page-break-after:avoid; } 38 | 39 | 40 | .breadcrumb { 41 | text-align: right; font-size: 8pt; font-family: DejaVuSerifCondensed, serif; color: #666666; 42 | font-weight: bold; font-style: normal; margin-bottom: 6pt; } 43 | 44 | .infobox { margin-top:10pt; background-color:#DDDDBB; text-align:center; border:1px solid #880000; } 45 | 46 | .big { font-size: 1.5em; } 47 | .red { color: #880000; } 48 | .slanted { font-style: italic; } 49 | 50 | /* For Table of Contents */ 51 | div.mpdf_toc { 52 | font-family: sans-serif; 53 | font-size: 11pt; 54 | } 55 | a.mpdf_toc_a { 56 | text-decoration: none; 57 | color: black; 58 | } 59 | div.mpdf_toc_level_0 { /* Whole line level 0 */ 60 | line-height: 1.5; 61 | margin-left: 0; 62 | padding-right: 2em; /* should match e.g 0 is default */ 63 | } 64 | span.mpdf_toc_t_level_0 { /* Title level 0 - may be inside */ 65 | font-weight: bold; 66 | } 67 | span.mpdf_toc_p_level_0 { /* Page no. level 0 - may be inside */ 68 | } 69 | div.mpdf_toc_level_1 { /* Whole line level 1 */ 70 | margin-left: 2em; 71 | text-indent: -2em; 72 | padding-right: 2em; /* should match 2em is default */ 73 | } 74 | span.mpdf_toc_t_level_1 { /* Title level 1 */ 75 | font-style: italic; 76 | font-weight: bold; 77 | } 78 | span.mpdf_toc_p_level_1 { /* Page no. level 1 - may be inside */ 79 | } 80 | div.mpdf_toc_level_2 { /* Whole line level 2 */ 81 | margin-left: 4em; 82 | text-indent: -2em; 83 | padding-right: 2em; /* should match 2em is default */ 84 | } 85 | span.mpdf_toc_t_level_2 { /* Title level 2 */ 86 | } 87 | span.mpdf_toc_p_level_2 { /* Page no. level 2 - may be inside */ 88 | } 89 | 90 | -------------------------------------------------------------------------------- /mpdf/examples/example17_headers_method_3.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | 17 | 18 | 24 | 25 |

mPDF

26 |

Headers & Footers Method 3

27 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

28 | 29 | 30 |

Headers & Footers Method 3

31 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

32 | 33 | 34 | 35 |

Headers & Footers

36 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

37 | '; 38 | 39 | //============================================================== 40 | //============================================================== 41 | //============================================================== 42 | 43 | include("../mpdf.php"); 44 | 45 | $mpdf=new mPDF('c','A4','','',32,25,27,25,16,13); 46 | 47 | $mpdf->mirrorMargins = 1; // Use different Odd/Even headers and footers and mirror margins 48 | 49 | $mpdf->WriteHTML($html); 50 | 51 | $mpdf->Output(); 52 | exit; 53 | //============================================================== 54 | //============================================================== 55 | //============================================================== 56 | 57 | 58 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example10_floating_and_fixed_position_elements.php: -------------------------------------------------------------------------------- 1 | 5 | .gradient { 6 | border:0.1mm solid #220044; 7 | background-color: #f0f2ff; 8 | background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5; 9 | } 10 | h4 { 11 | font-family: sans; 12 | font-weight: bold; 13 | margin-top: 1em; 14 | margin-bottom: 0.5em; 15 | } 16 | div { 17 | padding:1em; 18 | margin-bottom: 1em; 19 | text-align:justify; 20 | } 21 | .myfixed1 { position: absolute; 22 | overflow: visible; 23 | left: 0; 24 | bottom: 0; 25 | border: 1px solid #880000; 26 | background-color: #FFEEDD; 27 | background-gradient: linear #dec7cd #fff0f2 0 1 0 0.5; 28 | padding: 1.5em; 29 | font-family:sans; 30 | margin: 0; 31 | } 32 | .myfixed2 { position: fixed; 33 | overflow: auto; 34 | right: 0; 35 | bottom: 0mm; 36 | width: 65mm; 37 | border: 1px solid #880000; 38 | background-color: #FFEEDD; 39 | background-gradient: linear #dec7cd #fff0f2 0 1 0 0.5; 40 | padding: 0.5em; 41 | font-family:sans; 42 | margin: 0; 43 | rotate: 90; 44 | } 45 | 46 | 47 | 48 |

mPDF

49 |

Floating & Fixed Position elements

50 | 51 |

CSS "Float"

52 |
53 | Block elements can be positioned alongside each other using the CSS property float: left or right. The clear property can also be used, set as left|right|both. Float is only supported on block elements (i.e. not SPAN etc.) and is not fully compliant with the CSS specification. 54 | Float only works properly if a width is set for the float, otherwise the width is set to the maximum available (full width, or less if floats already set). 55 |
56 | Margin-right can still be set for a float:right and vice-versa. 57 |
58 | A block element next to a float has the padding adjusted so that content fits in the remaining width. Text next to a float should wrap correctly, but backgrounds and borders will overlap and/or lie under the floats in a mess. 59 |
60 | NB The width that is set defines the width of the content-box. So if you have two floats with width=50% and either of them has padding, margin or border, they will not fit together on the page. 61 |
62 | 63 |
64 | This is text in a <div> element that is set to float:right and width:28%. It also has an image with float:right inside. With this exception, you cannot nest elements with the float property set inside one another. 65 |
66 |
67 | This is text in a <div> element that is set to float:left and width:54%. 68 |
69 | 70 |
71 | This is text that follows a <div> element that is set to clear:both. 72 | 73 |

CSS "Position"

74 | At the bottom of the page are two DIV elements with position:fixed and position:absolute set 75 | 76 |
1 Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate. Donec luctus. Cras euismod tellus vel leo. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate. Donec luctus. Cras euismod tellus vel leo.
77 | 78 |
2 Praesent pharetra nulla in turpis. Sed ipsum nulla, sodales nec, vulputate in, scelerisque vitae, magna. Sed egestas justo nec ipsum. Nulla facilisi. Praesent sit amet pede quis metus aliquet vulputate. Donec luctus. Cras euismod tellus vel leo.
79 | 80 | 81 | '; 82 | 83 | //============================================================== 84 | //============================================================== 85 | //============================================================== 86 | include("../mpdf.php"); 87 | 88 | $mpdf=new mPDF(); 89 | 90 | $mpdf->SetDisplayMode('fullpage'); 91 | 92 | $mpdf->WriteHTML($html); 93 | 94 | $mpdf->Output(); 95 | 96 | exit; 97 | 98 | //============================================================== 99 | //============================================================== 100 | //============================================================== 101 | 102 | 103 | ?> -------------------------------------------------------------------------------- /mpdf/examples/mpdfstylePaged.css: -------------------------------------------------------------------------------- 1 | @page { 2 | size: 15cm 17cm; /* width height {1,2} | auto | portrait | landscape NB 'em' and 'ex' % are not allowed */ 3 | margin: 10%; /* % of page-box width for LR, height for TB */ 4 | margin-header: 5mm; 5 | margin-footer: 5mm; 6 | margin-left: 4cm; 7 | margin-right: 2cm; 8 | odd-header-name: myHeader2Odd; 9 | even-header-name: html_myHTMLHeaderEven; 10 | odd-footer-name: html_myHTMLFooterOdd; 11 | even-footer-name: myFooter2Even; 12 | marks: crop; /* crop | cross | none */ 13 | } 14 | 15 | @page :first { 16 | margin-top: 5cm; /* Top margin on first page 10cm */ 17 | } 18 | 19 | @page standard { 20 | size: auto; /* auto is the default mPDF value */ 21 | margin: 10%; /* % of page-box width for LR, height for TB */ 22 | marks: none; /* crop | cross | none */ 23 | } 24 | 25 | @page standard :first { 26 | margin-top: 7cm; /* Top margin on first page 10cm */ 27 | } 28 | 29 | @page bigsquare { 30 | size: 15cm 20cm; 31 | margin-left: 4cm; 32 | marks: crop cross; /* crop | cross | none */ 33 | background: transparent url('bg.jpg') repeat scroll 5mm 5mm; /* position inset by bleedMargin */ 34 | } 35 | 36 | @page bigsquare :right { 37 | header: html_myHTMLHeaderOdd; 38 | footer: html_myHTMLFooterOdd; 39 | } 40 | 41 | @page bigsquare :left { /* left is what mPDF calls EVEN page - right=ODD */ 42 | header: html_myHTMLHeaderEven; 43 | footer: html_myHTMLFooterEven; 44 | } 45 | 46 | @page smallsquare { 47 | size: 25cm 15cm; 48 | margin-left: 4cm; 49 | marks: crop; /* crop | cross | none */ 50 | background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5; 51 | } 52 | 53 | @page rotated { 54 | size: landscape; 55 | marks: none; /* crop | cross | none */ 56 | background-color: #fff0f2; 57 | margin-left: 3cm; 58 | margin-right: 3cm; 59 | } 60 | @page rotated :first { 61 | margin-top: 7cm; /* Top margin on first page 10cm */ 62 | } 63 | 64 | h1.heading1 { color: #1188FF; 65 | } 66 | 67 | h1.heading2 { color: #88FF11; 68 | page-break-before: always; 69 | page: standard; 70 | } 71 | h1.heading3 { color: #FF1188; 72 | page-break-before: right; 73 | } 74 | h1.heading4 { color: #FF8811; 75 | page-break-before: left; 76 | page: bigsquare; 77 | } 78 | h1.heading5 { color: #11FF88; 79 | page: smallsquare; 80 | } 81 | h1.heading6 { color: #8811FF; 82 | page: rotated; 83 | } 84 | 85 | br.paging { page-break-after: always; } 86 | 87 | body { font-family: DejaVuSansCondensed; font-size: 11pt; } 88 | p { text-align: justify; margin-bottom: 4pt; margin-top:0pt; } 89 | 90 | hr { width: 70%; height: 1px; 91 | text-align: center; color: #999999; 92 | margin-top: 8pt; margin-bottom: 8pt; } 93 | 94 | a { color: #000066; font-style: normal; text-decoration: underline; 95 | font-weight: normal; } 96 | 97 | ul { text-indent: 5mm; margin-bottom: 9pt; } 98 | ol { text-indent: 5mm; margin-bottom: 9pt; } 99 | 100 | pre { font-family: DejaVuSansMono; font-size: 9pt; margin-top: 5pt; margin-bottom: 5pt; } 101 | 102 | h1 { font-weight: normal; font-size: 26pt; color: #000066; 103 | font-family: DejaVuSansCondensed; margin-top: 18pt; margin-bottom: 6pt; 104 | border-top: 0.075cm solid #000000; border-bottom: 0.075cm solid #000000; 105 | text-align: ; page-break-after:avoid; } 106 | h2 { font-weight: bold; font-size: 12pt; color: #000066; 107 | font-family: DejaVuSansCondensed; margin-top: 6pt; margin-bottom: 6pt; 108 | border-top: 0.07cm solid #000000; border-bottom: 0.07cm solid #000000; 109 | text-align: ; text-transform: uppercase; page-break-after:avoid; } 110 | h3 { font-weight: normal; font-size: 26pt; color: #000000; 111 | font-family: DejaVuSansCondensed; margin-top: 0pt; margin-bottom: 6pt; 112 | border-top: 0; border-bottom: 0; 113 | text-align: ; page-break-after:avoid; } 114 | h4 { font-weight: ; font-size: 13pt; color: #9f2b1e; 115 | font-family: DejaVuSansCondensed; margin-top: 10pt; margin-bottom: 7pt; 116 | text-align: ; margin-collapse:collapse; page-break-after:avoid; } 117 | h5 { font-weight: bold; font-style:italic; ; font-size: 11pt; color: #000044; 118 | font-family: DejaVuSansCondensed; margin-top: 8pt; margin-bottom: 4pt; 119 | text-align: ; page-break-after:avoid; } 120 | h6 { font-weight: bold; font-size: 9.5pt; color: #333333; 121 | font-family: DejaVuSansCondensed; margin-top: 6pt; margin-bottom: ; 122 | text-align: ; page-break-after:avoid; } 123 | 124 | -------------------------------------------------------------------------------- /mpdf/config_cp.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mpdf/ttfonts/XW Zar Font Info.txt: -------------------------------------------------------------------------------- 1 | 2 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 3 | This license is copied below, and is also available with a FAQ at: 4 | http://scripts.sil.org/OFL 5 | 6 | 7 | ----------------------------------------------------------- 8 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 9 | ----------------------------------------------------------- 10 | 11 | PREAMBLE 12 | The goals of the Open Font License (OFL) are to stimulate worldwide 13 | development of collaborative font projects, to support the font creation 14 | efforts of academic and linguistic communities, and to provide a free and 15 | open framework in which fonts may be shared and improved in partnership 16 | with others. 17 | 18 | The OFL allows the licensed fonts to be used, studied, modified and 19 | redistributed freely as long as they are not sold by themselves. The 20 | fonts, including any derivative works, can be bundled, embedded, 21 | redistributed and/or sold with any software provided that any reserved 22 | names are not used by derivative works. The fonts and derivatives, 23 | however, cannot be released under any other type of license. The 24 | requirement for fonts to remain under this license does not apply 25 | to any document created using the fonts or their derivatives. 26 | 27 | DEFINITIONS 28 | "Font Software" refers to the set of files released by the Copyright 29 | Holder(s) under this license and clearly marked as such. This may 30 | include source files, build scripts and documentation. 31 | 32 | "Reserved Font Name" refers to any names specified as such after the 33 | copyright statement(s). 34 | 35 | "Original Version" refers to the collection of Font Software components as 36 | distributed by the Copyright Holder(s). 37 | 38 | "Modified Version" refers to any derivative made by adding to, deleting, 39 | or substituting -- in part or in whole -- any of the components of the 40 | Original Version, by changing formats or by porting the Font Software to a 41 | new environment. 42 | 43 | "Author" refers to any designer, engineer, programmer, technical 44 | writer or other person who contributed to the Font Software. 45 | 46 | PERMISSION & CONDITIONS 47 | Permission is hereby granted, free of charge, to any person obtaining 48 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 49 | redistribute, and sell modified and unmodified copies of the Font 50 | Software, subject to the following conditions: 51 | 52 | 1) Neither the Font Software nor any of its individual components, 53 | in Original or Modified Versions, may be sold by itself. 54 | 55 | 2) Original or Modified Versions of the Font Software may be bundled, 56 | redistributed and/or sold with any software, provided that each copy 57 | contains the above copyright notice and this license. These can be 58 | included either as stand-alone text files, human-readable headers or 59 | in the appropriate machine-readable metadata fields within text or 60 | binary files as long as those fields can be easily viewed by the user. 61 | 62 | 3) No Modified Version of the Font Software may use the Reserved Font 63 | Name(s) unless explicit written permission is granted by the corresponding 64 | Copyright Holder. This restriction only applies to the primary font name as 65 | presented to the users. 66 | 67 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 68 | Software shall not be used to promote, endorse or advertise any 69 | Modified Version, except to acknowledge the contribution(s) of the 70 | Copyright Holder(s) and the Author(s) or with their explicit written 71 | permission. 72 | 73 | 5) The Font Software, modified or unmodified, in part or in whole, 74 | must be distributed entirely under this license, and must not be 75 | distributed under any other license. The requirement for fonts to 76 | remain under this license does not apply to any document created 77 | using the Font Software. 78 | 79 | TERMINATION 80 | This license becomes null and void if any of the above conditions are 81 | not met. 82 | 83 | DISCLAIMER 84 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 85 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 86 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 87 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 88 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 89 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 90 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 91 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 92 | OTHER DEALINGS IN THE FONT SOFTWARE. 93 | -------------------------------------------------------------------------------- /mpdf/ttfonts/GNUFreeFontinfo.txt: -------------------------------------------------------------------------------- 1 | -*-text-*- 2 | GNU FreeFont 3 | 4 | The GNU FreeFont project aims to provide a useful set of free scalable 5 | (i.e., OpenType) fonts covering as much as possible of the ISO 10646/Unicode 6 | UCS (Universal Character Set). 7 | 8 | Statement of Purpose 9 | -------------------- 10 | 11 | The practical reason for putting glyphs together in a single font face is 12 | to conveniently mix symbols and characters from different writing systems, 13 | without having to switch fonts. 14 | 15 | Coverage 16 | -------- 17 | 18 | FreeFont covers the following character sets 19 | 20 | * ISO 8859 parts 1-15 21 | * CEN MES-3 European Unicode Subset 22 | http://www.evertype.com/standards/iso10646/pdf/cwa13873.pdf 23 | * IBM/Microsoft code pages 437, 850, 852, 1250, 1252 and more 24 | * Microsoft/Adobe Windows Glyph List 4 (WGL4) 25 | http://www.microsoft.com/typography/otspec/WGL4.htm 26 | * KOI8-R and KOI8-RU 27 | * DEC VT100 graphics symbols 28 | * International Phonetic Alphabet 29 | * Arabic, Hebrew, Armenian, Georgian, Ethiopian and Thai alphabets, 30 | including Arabic presentation forms A/B 31 | * mathematical symbols, including the whole TeX repertoire of symbols 32 | * APL symbols 33 | etc. 34 | 35 | Editing 36 | ------- 37 | 38 | The free outline font editor, George Williams's FontForge 39 | is used for editing the fonts. 40 | 41 | Design Issues 42 | ------------- 43 | 44 | Which font shapes should be made? Historical style terms like Renaissance 45 | or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek 46 | scripts to any greater extent than Kufi or Nashki can be applied beyond 47 | Arabic script; "italic" is really only meaningful for Latin letters. 48 | 49 | However, most modern writing systems have typographic formulations for 50 | contrasting uniform and modulated character stroke widths, and have some 51 | history with "oblique", faces. Since the advent of the typewriter, most 52 | have developed a typographic style with uniform-width characters. 53 | 54 | Accordingly, the FreeFont family has one monospaced - FreeMono - and two 55 | proportional faces (one with uniform stroke - FreeSans - and one with 56 | modulated stroke - FreeSerif). 57 | 58 | To make text from different writing systems look good side-by-side, each 59 | FreeFont face is meant to contain characters of similar style and weight. 60 | 61 | Licensing 62 | --------- 63 | 64 | Free UCS scalable fonts is free software; you can redistribute it and/or 65 | modify it under the terms of the GNU General Public License as published 66 | by the Free Software Foundation; either version 2 of the License, or 67 | (at your option) any later version. 68 | 69 | The fonts are distributed in the hope that they will be useful, but 70 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 71 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 72 | for more details. 73 | 74 | You should have received a copy of the GNU General Public License along 75 | with this program; if not, write to the Free Software Foundation, Inc., 76 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 77 | 78 | As a special exception, if you create a document which uses this font, and 79 | embed this font or unaltered portions of this font into the document, this 80 | font does not by itself cause the resulting document to be covered by the 81 | GNU General Public License. This exception does not however invalidate any 82 | other reasons why the document might be covered by the GNU General Public 83 | License. If you modify this font, you may extend this exception to your 84 | version of the font, but you are not obligated to do so. If you do not 85 | wish to do so, delete this exception statement from your version. 86 | 87 | 88 | Files and their suffixes 89 | ------------------------ 90 | 91 | The files with .sfd (Spline Font Database) are in FontForge's native format. 92 | Please use these if you plan to modify the font files. 93 | 94 | TrueType fonts for immediate consumption are the files with the .ttf 95 | (TrueType Font) suffix. These are ready to use in Xwindows based 96 | systems using FreeType, on Mac OS, and on older Windows systems. 97 | 98 | OpenType fonts (with suffix .otf) are for use in Windows Vista. 99 | Note that although they can be installed on Linux, but many applications 100 | in Linux still don't support them. 101 | 102 | 103 | -------------------------------------------------------------------------- 104 | Primoz Peterlin, 105 | Steve White 106 | 107 | Free UCS scalable fonts: http://savannah.gnu.org/projects/freefont/ 108 | $Id: README,v 1.6 2008/12/25 12:51:41 Stevan_White Exp $ 109 | -------------------------------------------------------------------------------- /mpdf/font/chelveticai.php: -------------------------------------------------------------------------------- 1 | 278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, 4 | chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, 5 | ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, 6 | 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, 7 | 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, 8 | 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, 9 | chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, 12 | chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, 14 | chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); 15 | 16 | $desc=array('Ascent'=>718,'Descent'=>-207,'CapHeight'=>718,'FontBBox'=>'[-170 -225 1116 931]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -74, ), chr(65)=> array ( chr(84)=> -74, chr(86)=> -55, chr(87)=> -18, chr(89)=> -74, chr(118)=> -18, chr(119)=> -18, chr(121)=> -8, chr(146)=> -37, ), chr(70)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(76)=> array ( chr(84)=> -74, chr(86)=> -55, chr(87)=> -37, chr(89)=> -91, chr(121)=> -18, chr(146)=> -55, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(82)=> array ( chr(84)=> -18, chr(86)=> -18, chr(87)=> -18, chr(89)=> -37, ), chr(84)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -74, chr(65)=> -74, chr(79)=> -18, chr(97)=> -91, chr(99)=> -91, chr(101)=> -91, chr(105)=> -8, chr(111)=> -91, chr(114)=> -74, chr(115)=> -91, chr(117)=> -74, chr(119)=> -74, chr(121)=> -74, ), chr(86)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -18, chr(65)=> -55, chr(97)=> -37, chr(101)=> -37, chr(105)=> -18, chr(111)=> -37, chr(114)=> -18, chr(117)=> -18, chr(121)=> -18, ), chr(87)=> array ( chr(44)=> -37, chr(46)=> -37, chr(65)=> -18, chr(97)=> -18, chr(101)=> -18, chr(105)=> -8, ), chr(89)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -37, chr(65)=> -55, chr(97)=> -74, chr(101)=> -55, chr(105)=> -18, chr(111)=> -55, chr(112)=> -55, chr(113)=> -55, chr(117)=> -37, chr(118)=> -37, ), chr(102)=> array ( chr(146)=> 37, ), chr(114)=> array ( chr(44)=> -55, chr(46)=> -37, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(119)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(121)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(145)=> array ( chr(145)=> -37, ), chr(146)=> array ( chr(115)=> -18, chr(146)=> -37, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/mpdfi/filters/FilterLZW.php: -------------------------------------------------------------------------------- 1 | error('LZW flavour not supported.'); 46 | } 47 | 48 | $this->initsTable(); 49 | 50 | $this->data = $data; 51 | $this->dataLength = strlen($data); 52 | 53 | // Initialize pointers 54 | $this->bytePointer = 0; 55 | $this->bitPointer = 0; 56 | 57 | $this->nextData = 0; 58 | $this->nextBits = 0; 59 | 60 | $oldCode = 0; 61 | 62 | $string = ''; 63 | $uncompData = ''; 64 | 65 | while (($code = $this->getNextCode()) != 257) { 66 | if ($code == 256) { 67 | $this->initsTable(); 68 | $code = $this->getNextCode(); 69 | 70 | if ($code == 257) { 71 | break; 72 | } 73 | 74 | $uncompData .= $this->sTable[$code]; 75 | $oldCode = $code; 76 | 77 | } else { 78 | 79 | if ($code < $this->tIdx) { 80 | $string = $this->sTable[$code]; 81 | $uncompData .= $string; 82 | 83 | $this->addStringToTable($this->sTable[$oldCode], $string[0]); 84 | $oldCode = $code; 85 | } else { 86 | $string = $this->sTable[$oldCode]; 87 | $string = $string.$string[0]; 88 | $uncompData .= $string; 89 | 90 | $this->addStringToTable($string); 91 | $oldCode = $code; 92 | } 93 | } 94 | } 95 | 96 | return $uncompData; 97 | } 98 | 99 | 100 | /** 101 | * Initialize the string table. 102 | */ 103 | function initsTable() { 104 | $this->sTable = array(); 105 | 106 | for ($i = 0; $i < 256; $i++) 107 | $this->sTable[$i] = chr($i); 108 | 109 | $this->tIdx = 258; 110 | $this->bitsToGet = 9; 111 | } 112 | 113 | /** 114 | * Add a new string to the string table. 115 | */ 116 | function addStringToTable ($oldString, $newString='') { 117 | $string = $oldString.$newString; 118 | 119 | // Add this new String to the table 120 | $this->sTable[$this->tIdx++] = $string; 121 | 122 | if ($this->tIdx == 511) { 123 | $this->bitsToGet = 10; 124 | } else if ($this->tIdx == 1023) { 125 | $this->bitsToGet = 11; 126 | } else if ($this->tIdx == 2047) { 127 | $this->bitsToGet = 12; 128 | } 129 | } 130 | 131 | // Returns the next 9, 10, 11 or 12 bits 132 | function getNextCode() { 133 | if ($this->bytePointer == $this->dataLength) { 134 | return 257; 135 | } 136 | 137 | $this->nextData = ($this->nextData << 8) | (ord($this->data[$this->bytePointer++]) & 0xff); 138 | $this->nextBits += 8; 139 | 140 | if ($this->nextBits < $this->bitsToGet) { 141 | $this->nextData = ($this->nextData << 8) | (ord($this->data[$this->bytePointer++]) & 0xff); 142 | $this->nextBits += 8; 143 | } 144 | 145 | $code = ($this->nextData >> ($this->nextBits - $this->bitsToGet)) & $this->andTable[$this->bitsToGet-9]; 146 | $this->nextBits -= $this->bitsToGet; 147 | 148 | return $code; 149 | } 150 | 151 | function encode($in) { 152 | $this->error("LZW encoding not implemented."); 153 | } 154 | } -------------------------------------------------------------------------------- /mpdf/font/chelveticabi.php: -------------------------------------------------------------------------------- 1 | 278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, 4 | chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, 5 | ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, 6 | 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, 7 | 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, 8 | 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, 9 | chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, 12 | chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, 14 | chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); 15 | 16 | $desc=array('Ascent'=>718,'Descent'=>-207,'CapHeight'=>718,'FontBBox'=>'[-174 -228 1114 962]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -74, ), chr(65)=> array ( chr(84)=> -74, chr(86)=> -74, chr(87)=> -55, chr(89)=> -74, chr(146)=> -55, ), chr(70)=> array ( chr(44)=> -110, chr(46)=> -110, chr(65)=> -55, ), chr(76)=> array ( chr(84)=> -74, chr(86)=> -55, chr(87)=> -55, chr(89)=> -74, chr(146)=> -74, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(82)=> array ( chr(84)=> -18, chr(87)=> -18, chr(89)=> -18, ), chr(84)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -74, chr(65)=> -74, chr(79)=> -18, chr(97)=> -37, chr(99)=> -37, chr(101)=> -37, chr(105)=> -18, chr(111)=> -37, chr(114)=> -18, chr(115)=> -37, chr(117)=> -18, chr(119)=> -37, chr(121)=> -37, ), chr(86)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -37, chr(65)=> -74, chr(97)=> -37, chr(101)=> -37, chr(105)=> -37, chr(111)=> -37, chr(114)=> -18, chr(117)=> -18, chr(121)=> -18, ), chr(87)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -37, chr(65)=> -55, chr(97)=> -18, chr(101)=> -18, chr(105)=> -8, chr(111)=> -18, chr(114)=> -18, chr(117)=> -18, chr(121)=> -18, ), chr(89)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -55, chr(65)=> -74, chr(97)=> -37, chr(101)=> -37, chr(105)=> -37, chr(111)=> -37, chr(112)=> -37, chr(113)=> -37, chr(117)=> -37, chr(118)=> -37, ), chr(102)=> array ( chr(102)=> -18, chr(146)=> 18, ), chr(114)=> array ( chr(44)=> -55, chr(46)=> -55, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(119)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(121)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(145)=> array ( chr(145)=> -37, ), chr(146)=> array ( chr(115)=> -18, chr(116)=> 18, chr(146)=> -37, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/includes/functions.php: -------------------------------------------------------------------------------- 1 | = count($array)) { array_push($array, $value); } 17 | else if ($offset == 0) { array_unshift($array, $value); } 18 | else { 19 | $temp = array_slice($array, 0, $offset); 20 | array_push($temp, $value); 21 | $array = array_slice($array, $offset); 22 | $array = array_merge($temp, $array); 23 | } 24 | } 25 | else { $array = array($value); } 26 | return count($array); 27 | } 28 | 29 | function urlencode_part($url) { // mPDF 5.6.02 30 | if (!preg_match('/^[a-z]+:\/\//i',$url)) { return $url; } 31 | $file=$url; 32 | $query=''; 33 | if (preg_match('/[?]/',$url)) { 34 | $bits = preg_split('/[?]/',$url,2); 35 | $file=$bits[0]; 36 | $query='?'.$bits[1]; 37 | } 38 | $file = str_replace(array(" ","!","$","&","'","(",")","*","+",",",";","="),array("%20","%21","%24","%26","%27","%28","%29","%2A","%2B","%2C","%3B","%3D"),$file); 39 | return $file.$query; 40 | } 41 | 42 | 43 | function _strspn($str1, $str2, $start=null, $length=null) { 44 | $numargs = func_num_args(); 45 | if ($numargs == 2) { 46 | return strspn($str1, $str2); 47 | } 48 | else if ($numargs == 3) { 49 | return strspn($str1, $str2, $start); 50 | } 51 | else { 52 | return strspn($str1, $str2, $start, $length); 53 | } 54 | } 55 | 56 | 57 | function _strcspn($str1, $str2, $start=null, $length=null) { 58 | $numargs = func_num_args(); 59 | if ($numargs == 2) { 60 | return strcspn($str1, $str2); 61 | } 62 | else if ($numargs == 3) { 63 | return strcspn($str1, $str2, $start); 64 | } 65 | else { 66 | return strcspn($str1, $str2, $start, $length); 67 | } 68 | } 69 | 70 | function _fgets (&$h, $force=false) { 71 | $startpos = ftell($h); 72 | $s = fgets($h, 1024); 73 | if ($force && preg_match("/^([^\r\n]*[\r\n]{1,2})(.)/",trim($s), $ns)) { 74 | $s = $ns[1]; 75 | fseek($h,$startpos+strlen($s)); 76 | } 77 | return $s; 78 | } 79 | 80 | 81 | // For PHP4 compatability 82 | if(!function_exists('str_ireplace')) { 83 | function str_ireplace($search,$replace,$subject) { 84 | $search = preg_quote($search, "/"); 85 | return preg_replace("/".$search."/i", $replace, $subject); 86 | } 87 | } 88 | if(!function_exists('htmlspecialchars_decode')) { 89 | function htmlspecialchars_decode ($str) { 90 | return strtr($str, array_flip(get_html_translation_table(HTML_SPECIALCHARS))); 91 | } 92 | } 93 | 94 | function PreparePreText($text,$ff='//FF//') { 95 | $text = htmlspecialchars($text); 96 | if ($ff) { $text = str_replace($ff,'
',$text); }
 97 | 	return ('
'.$text.'
'); 98 | } 99 | 100 | if(!function_exists('strcode2utf')){ 101 | function strcode2utf($str,$lo=true) { 102 | //converts all the &#nnn; and &#xhhh; in a string to Unicode 103 | // mPDF 5.7 104 | if ($lo) { 105 | $str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_lo_callback', $str); 106 | $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_lo_callback', $str); 107 | } 108 | else { 109 | $str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_callback', $str); 110 | $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_callback', $str); 111 | } 112 | return $str; 113 | } 114 | } 115 | function code2utf_callback($matches) { 116 | return code2utf($matches[1], 0); 117 | } 118 | function code2utf_lo_callback($matches) { 119 | return code2utf($matches[1], 1); 120 | } 121 | function codeHex2utf_callback($matches) { 122 | return codeHex2utf($matches[1], 0); 123 | } 124 | function codeHex2utf_lo_callback($matches) { 125 | return codeHex2utf($matches[1], 1); 126 | } 127 | 128 | if(!function_exists('code2utf')){ 129 | function code2utf($num,$lo=true){ 130 | //Returns the utf string corresponding to the unicode value 131 | if ($num<128) { 132 | if ($lo) return chr($num); 133 | else return '&#'.$num.';'; 134 | } 135 | if ($num<2048) return chr(($num>>6)+192).chr(($num&63)+128); 136 | if ($num<65536) return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128); 137 | if ($num<2097152) return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128); 138 | return '?'; 139 | } 140 | } 141 | 142 | 143 | if(!function_exists('codeHex2utf')){ 144 | function codeHex2utf($hex,$lo=true){ 145 | $num = hexdec($hex); 146 | if (($num<128) && !$lo) return '&#x'.$hex.';'; 147 | return code2utf($num,$lo); 148 | } 149 | } 150 | 151 | 152 | ?> -------------------------------------------------------------------------------- /mpdf/font/chelveticab.php: -------------------------------------------------------------------------------- 1 | 278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, 4 | chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, 5 | ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, 6 | 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, 7 | 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, 8 | 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, 9 | chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, 12 | chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, 14 | chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); 15 | 16 | $desc=array('Ascent'=>718,'Descent'=>-207,'CapHeight'=>718,'FontBBox'=>'[-170 -228 1003 962]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -55, ), chr(65)=> array ( chr(84)=> -74, chr(86)=> -74, chr(87)=> -55, chr(89)=> -91, chr(118)=> -37, chr(119)=> -18, chr(121)=> -37, chr(146)=> -55, ), chr(70)=> array ( chr(44)=> -110, chr(46)=> -110, chr(65)=> -55, ), chr(76)=> array ( chr(84)=> -74, chr(86)=> -74, chr(87)=> -55, chr(89)=> -91, chr(121)=> -37, chr(146)=> -55, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(82)=> array ( chr(86)=> -18, chr(87)=> -18, chr(89)=> -37, ), chr(84)=> array ( chr(44)=> -110, chr(46)=> -110, chr(58)=> -110, chr(65)=> -74, chr(79)=> -18, chr(97)=> -74, chr(99)=> -74, chr(101)=> -74, chr(105)=> -18, chr(111)=> -74, chr(114)=> -55, chr(115)=> -74, chr(117)=> -74, chr(119)=> -74, chr(121)=> -74, ), chr(86)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -55, chr(65)=> -74, chr(97)=> -55, chr(101)=> -55, chr(105)=> -18, chr(111)=> -74, chr(114)=> -55, chr(117)=> -37, chr(121)=> -37, ), chr(87)=> array ( chr(44)=> -55, chr(46)=> -55, chr(58)=> -18, chr(65)=> -55, chr(97)=> -37, chr(101)=> -18, chr(105)=> -8, chr(111)=> -18, chr(114)=> -18, chr(117)=> -18, chr(121)=> -18, ), chr(89)=> array ( chr(44)=> -110, chr(46)=> -110, chr(58)=> -74, chr(65)=> -91, chr(97)=> -55, chr(101)=> -55, chr(105)=> -37, chr(111)=> -74, chr(112)=> -55, chr(113)=> -74, chr(117)=> -55, chr(118)=> -55, ), chr(102)=> array ( chr(146)=> 18, ), chr(114)=> array ( chr(44)=> -55, chr(46)=> -55, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(119)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(121)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(145)=> array ( chr(145)=> -37, ), chr(146)=> array ( chr(115)=> -37, chr(146)=> -37, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/font/chelvetica.php: -------------------------------------------------------------------------------- 1 | 278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, 4 | chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, 5 | ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, 6 | 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, 7 | 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, 8 | 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, 9 | chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, 12 | chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, 14 | chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); 15 | 16 | $desc=array('Ascent'=>718,'Descent'=>-207,'CapHeight'=>718,'FontBBox'=>'[-166 -225 1000 931]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -74, ), chr(65)=> array ( chr(84)=> -74, chr(86)=> -74, chr(87)=> -37, chr(89)=> -74, chr(118)=> -18, chr(119)=> -18, chr(121)=> -18, chr(146)=> -74, ), chr(70)=> array ( chr(44)=> -110, chr(46)=> -110, chr(65)=> -55, ), chr(76)=> array ( chr(84)=> -74, chr(86)=> -74, chr(87)=> -74, chr(89)=> -74, chr(121)=> -37, chr(146)=> -55, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(82)=> array ( chr(84)=> -18, chr(86)=> -18, chr(87)=> -18, chr(89)=> -18, ), chr(84)=> array ( chr(44)=> -110, chr(46)=> -110, chr(58)=> -110, chr(65)=> -74, chr(79)=> -18, chr(97)=> -110, chr(99)=> -110, chr(101)=> -110, chr(105)=> -37, chr(111)=> -110, chr(114)=> -37, chr(115)=> -110, chr(117)=> -37, chr(119)=> -55, chr(121)=> -55, ), chr(86)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -37, chr(65)=> -74, chr(97)=> -74, chr(101)=> -55, chr(105)=> -18, chr(111)=> -55, chr(114)=> -37, chr(117)=> -37, chr(121)=> -37, ), chr(87)=> array ( chr(44)=> -55, chr(46)=> -55, chr(58)=> -18, chr(65)=> -37, chr(97)=> -37, chr(101)=> -18, chr(105)=> 0, chr(111)=> -18, chr(114)=> -18, chr(117)=> -18, chr(121)=> -8, ), chr(89)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -55, chr(65)=> -74, chr(97)=> -74, chr(101)=> -91, chr(105)=> -37, chr(111)=> -91, chr(112)=> -74, chr(113)=> -91, chr(117)=> -55, chr(118)=> -55, ), chr(102)=> array ( chr(102)=> -18, chr(146)=> 18, ), chr(114)=> array ( chr(44)=> -55, chr(46)=> -55, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(119)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(121)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(145)=> array ( chr(145)=> -18, ), chr(146)=> array ( chr(115)=> -18, chr(146)=> -18, ), ); 20 | ?> -------------------------------------------------------------------------------- /mpdf/font/ctimesbi.php: -------------------------------------------------------------------------------- 1 | 250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, 4 | chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, 5 | ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667, 6 | 'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889, 7 | 'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, 8 | 'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, 9 | chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, 12 | chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, 14 | chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444); 15 | 16 | $desc=array('Ascent'=>683,'Descent'=>-217,'CapHeight'=>669,'FontBBox'=>'[-200 -218 996 921]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -55, ), chr(65)=> array ( chr(84)=> -55, chr(86)=> -74, chr(87)=> -91, chr(89)=> -55, chr(118)=> -74, chr(119)=> -74, chr(121)=> -74, chr(146)=> -74, ), chr(70)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -91, ), chr(76)=> array ( chr(84)=> -18, chr(86)=> -37, chr(87)=> -37, chr(89)=> -37, chr(121)=> -37, chr(146)=> -55, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -74, ), chr(82)=> array ( chr(86)=> -18, chr(87)=> -18, chr(89)=> -18, chr(121)=> -18, ), chr(84)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -74, chr(65)=> -55, chr(79)=> -18, chr(97)=> -91, chr(99)=> -91, chr(101)=> -91, chr(105)=> -37, chr(111)=> -91, chr(114)=> -37, chr(115)=> -91, chr(117)=> -37, chr(119)=> -37, chr(121)=> -37, ), chr(86)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -74, chr(65)=> -74, chr(97)=> -110, chr(101)=> -110, chr(105)=> -55, chr(111)=> -110, chr(114)=> -55, chr(117)=> -55, chr(121)=> -74, ), chr(87)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -55, chr(65)=> -74, chr(97)=> -74, chr(101)=> -74, chr(105)=> -37, chr(111)=> -74, chr(114)=> -74, chr(117)=> -55, chr(121)=> -55, ), chr(89)=> array ( chr(44)=> -91, chr(46)=> -74, chr(58)=> -91, chr(65)=> -74, chr(97)=> -91, chr(101)=> -110, chr(105)=> -55, chr(111)=> -110, chr(112)=> -74, chr(113)=> -110, chr(117)=> -91, chr(118)=> -91, ), chr(102)=> array ( chr(102)=> -18, chr(146)=> 55, ), chr(114)=> array ( chr(44)=> -55, chr(46)=> -55, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(119)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(121)=> array ( chr(44)=> -37, chr(46)=> -37, ), chr(145)=> array ( chr(145)=> -74, ), chr(146)=> array ( chr(115)=> -74, chr(116)=> -37, chr(146)=> -74, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/font/ctimes.php: -------------------------------------------------------------------------------- 1 | 250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, 4 | chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564, 5 | ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722, 6 | 'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944, 7 | 'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, 8 | 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, 9 | chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980, 10 | chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, 12 | chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, 14 | chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500); 15 | 16 | $desc=array('Ascent'=>683,'Descent'=>-217,'CapHeight'=>662,'FontBBox'=>'[-168 -218 1000 898]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -37, ), chr(65)=> array ( chr(84)=> -110, chr(86)=> -128, chr(87)=> -80, chr(89)=> -91, chr(118)=> -74, chr(119)=> -91, chr(121)=> -91, chr(146)=> -110, ), chr(70)=> array ( chr(44)=> -80, chr(46)=> -80, chr(65)=> -74, ), chr(76)=> array ( chr(84)=> -91, chr(86)=> -91, chr(87)=> -74, chr(89)=> -100, chr(121)=> -55, chr(146)=> -91, ), chr(80)=> array ( chr(44)=> -110, chr(46)=> -110, chr(65)=> -91, ), chr(82)=> array ( chr(84)=> -60, chr(86)=> -80, chr(87)=> -55, chr(89)=> -55, chr(121)=> -40, ), chr(84)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -49, chr(65)=> -80, chr(79)=> -18, chr(97)=> -69, chr(99)=> -69, chr(101)=> -69, chr(105)=> -35, chr(111)=> -69, chr(114)=> -35, chr(115)=> -69, chr(117)=> -35, chr(119)=> -69, chr(121)=> -69, ), chr(86)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -74, chr(65)=> -128, chr(97)=> -110, chr(101)=> -110, chr(105)=> -60, chr(111)=> -128, chr(114)=> -60, chr(117)=> -60, chr(121)=> -110, ), chr(87)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -37, chr(65)=> -110, chr(97)=> -80, chr(101)=> -80, chr(105)=> -40, chr(111)=> -80, chr(114)=> -40, chr(117)=> -40, chr(121)=> -60, ), chr(89)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -91, chr(65)=> -110, chr(97)=> -100, chr(101)=> -100, chr(105)=> -55, chr(111)=> -100, chr(112)=> -91, chr(113)=> -110, chr(117)=> -110, chr(118)=> -100, ), chr(102)=> array ( chr(102)=> -18, chr(146)=> 55, ), chr(114)=> array ( chr(44)=> -40, chr(46)=> -55, chr(103)=> -18, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -64, chr(46)=> -64, ), chr(119)=> array ( chr(44)=> -64, chr(46)=> -64, ), chr(121)=> array ( chr(44)=> -64, chr(46)=> -64, ), chr(145)=> array ( chr(145)=> -74, ), chr(146)=> array ( chr(115)=> -55, chr(116)=> -18, chr(146)=> -74, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/font/ctimesb.php: -------------------------------------------------------------------------------- 1 | 250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, 4 | chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, 5 | ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722, 6 | 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000, 7 | 'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833, 8 | 'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, 9 | chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, 10 | chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, 12 | chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, 14 | chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); 15 | 16 | $desc=array('Ascent'=>683,'Descent'=>-217,'CapHeight'=>676,'FontBBox'=>'[-168 -218 1000 935]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -55, ), chr(65)=> array ( chr(84)=> -74, chr(86)=> -128, chr(87)=> -110, chr(89)=> -91, chr(118)=> -74, chr(119)=> -74, chr(121)=> -74, chr(146)=> -74, ), chr(70)=> array ( chr(44)=> -91, chr(46)=> -91, chr(65)=> -74, ), chr(76)=> array ( chr(84)=> -91, chr(86)=> -91, chr(87)=> -91, chr(89)=> -91, chr(121)=> -55, chr(146)=> -91, ), chr(80)=> array ( chr(44)=> -91, chr(46)=> -91, chr(65)=> -74, ), chr(82)=> array ( chr(84)=> -35, chr(86)=> -35, chr(87)=> -35, chr(89)=> -35, chr(121)=> -35, ), chr(84)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -74, chr(65)=> -74, chr(79)=> -18, chr(97)=> -91, chr(99)=> -91, chr(101)=> -91, chr(105)=> -18, chr(111)=> -91, chr(114)=> -74, chr(115)=> -91, chr(117)=> -91, chr(119)=> -74, chr(121)=> -74, ), chr(86)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -91, chr(65)=> -128, chr(79)=> -20, chr(97)=> -91, chr(101)=> -91, chr(105)=> -37, chr(111)=> -91, chr(114)=> -74, chr(117)=> -91, chr(121)=> -91, ), chr(87)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -55, chr(65)=> -110, chr(97)=> -55, chr(101)=> -55, chr(105)=> -18, chr(111)=> -55, chr(114)=> -18, chr(117)=> -18, chr(121)=> -37, ), chr(89)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -91, chr(65)=> -91, chr(97)=> -110, chr(101)=> -110, chr(105)=> -37, chr(111)=> -110, chr(112)=> -91, chr(113)=> -110, chr(117)=> -91, chr(118)=> -110, ), chr(102)=> array ( chr(102)=> 0, chr(146)=> 55, ), chr(114)=> array ( chr(44)=> -91, chr(46)=> -91, chr(99)=> -18, chr(101)=> -18, chr(104)=> 0, chr(111)=> -18, chr(113)=> -18, chr(116)=> 0, chr(119)=> 0, chr(120)=> 0, chr(121)=> 0, chr(122)=> 0, chr(146)=> 18, ), chr(118)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(119)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(121)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(145)=> array ( chr(145)=> -74, ), chr(146)=> array ( chr(115)=> -37, chr(146)=> -74, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/font/ctimesi.php: -------------------------------------------------------------------------------- 1 | 250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, 4 | chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675, 5 | ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611, 6 | 'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833, 7 | 'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722, 8 | 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, 9 | chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980, 10 | chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333, 11 | chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611, 12 | chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, 13 | chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, 14 | chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444); 15 | 16 | $desc=array('Ascent'=>683,'Descent'=>-217,'CapHeight'=>653,'FontBBox'=>'[-169 -217 1010 883]'); 17 | $up=-100; 18 | $ut=50; 19 | $kerninfo=array ( chr(49)=> array ( chr(49)=> -74, ), chr(65)=> array ( chr(84)=> -37, chr(86)=> -49, chr(87)=> -37, chr(89)=> -55, chr(118)=> -55, chr(119)=> -55, chr(121)=> -55, chr(146)=> -37, ), chr(70)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -128, ), chr(76)=> array ( chr(84)=> -20, chr(86)=> -37, chr(87)=> -37, chr(89)=> -20, chr(121)=> -29, chr(146)=> -37, ), chr(80)=> array ( chr(44)=> -128, chr(46)=> -128, chr(65)=> -128, ), chr(82)=> array ( chr(84)=> 0, chr(86)=> -18, chr(87)=> -18, chr(89)=> -18, chr(121)=> -18, ), chr(84)=> array ( chr(44)=> -74, chr(46)=> -74, chr(58)=> -55, chr(65)=> -74, chr(79)=> -18, chr(97)=> -91, chr(99)=> -91, chr(101)=> -91, chr(105)=> -55, chr(111)=> -91, chr(114)=> -55, chr(115)=> -91, chr(117)=> -55, chr(119)=> -74, chr(121)=> -74, ), chr(86)=> array ( chr(44)=> -128, chr(46)=> -128, chr(58)=> -64, chr(65)=> -74, chr(79)=> -29, chr(97)=> -110, chr(101)=> -110, chr(105)=> -74, chr(111)=> -110, chr(114)=> -74, chr(117)=> -74, chr(121)=> -91, ), chr(87)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -64, chr(65)=> -69, chr(97)=> -91, chr(101)=> -91, chr(105)=> -55, chr(111)=> -91, chr(114)=> -55, chr(117)=> -55, chr(121)=> -91, ), chr(89)=> array ( chr(44)=> -91, chr(46)=> -91, chr(58)=> -64, chr(65)=> -69, chr(97)=> -91, chr(101)=> -91, chr(105)=> -74, chr(111)=> -91, chr(112)=> -91, chr(113)=> -110, chr(117)=> -91, chr(118)=> -91, ), chr(102)=> array ( chr(146)=> 91, ), chr(114)=> array ( chr(44)=> -110, chr(46)=> -110, chr(99)=> -37, chr(100)=> -37, chr(101)=> -37, chr(103)=> -37, chr(104)=> -18, chr(111)=> -37, chr(113)=> -37, chr(114)=> 0, chr(116)=> 0, chr(117)=> 0, chr(118)=> 0, chr(119)=> 0, chr(120)=> 0, chr(121)=> 0, chr(146)=> 37, ), chr(118)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(119)=> array ( chr(44)=> -74, chr(46)=> -74, ), chr(121)=> array ( chr(44)=> -55, chr(46)=> -55, ), chr(145)=> array ( chr(145)=> -110, ), chr(146)=> array ( chr(115)=> -128, chr(116)=> -110, chr(146)=> -110, ), ); 20 | 21 | ?> -------------------------------------------------------------------------------- /mpdf/ttfonts/DejaVuinfo.txt: -------------------------------------------------------------------------------- 1 | Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. 2 | Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) 3 | 4 | Bitstream Vera Fonts Copyright 5 | ------------------------------ 6 | 7 | Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is 8 | a trademark of Bitstream, Inc. 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of the fonts accompanying this license ("Fonts") and associated 12 | documentation files (the "Font Software"), to reproduce and distribute the 13 | Font Software, including without limitation the rights to use, copy, merge, 14 | publish, distribute, and/or sell copies of the Font Software, and to permit 15 | persons to whom the Font Software is furnished to do so, subject to the 16 | following conditions: 17 | 18 | The above copyright and trademark notices and this permission notice shall 19 | be included in all copies of one or more of the Font Software typefaces. 20 | 21 | The Font Software may be modified, altered, or added to, and in particular 22 | the designs of glyphs or characters in the Fonts may be modified and 23 | additional glyphs or characters may be added to the Fonts, only if the fonts 24 | are renamed to names not containing either the words "Bitstream" or the word 25 | "Vera". 26 | 27 | This License becomes null and void to the extent applicable to Fonts or Font 28 | Software that has been modified and is distributed under the "Bitstream 29 | Vera" names. 30 | 31 | The Font Software may be sold as part of a larger software package but no 32 | copy of one or more of the Font Software typefaces may be sold by itself. 33 | 34 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 35 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, 36 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, 37 | TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME 38 | FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING 39 | ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 40 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 41 | THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE 42 | FONT SOFTWARE. 43 | 44 | Except as contained in this notice, the names of Gnome, the Gnome 45 | Foundation, and Bitstream Inc., shall not be used in advertising or 46 | otherwise to promote the sale, use or other dealings in this Font Software 47 | without prior written authorization from the Gnome Foundation or Bitstream 48 | Inc., respectively. For further information, contact: fonts at gnome dot 49 | org. 50 | 51 | Arev Fonts Copyright 52 | ------------------------------ 53 | 54 | Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. 55 | 56 | Permission is hereby granted, free of charge, to any person obtaining 57 | a copy of the fonts accompanying this license ("Fonts") and 58 | associated documentation files (the "Font Software"), to reproduce 59 | and distribute the modifications to the Bitstream Vera Font Software, 60 | including without limitation the rights to use, copy, merge, publish, 61 | distribute, and/or sell copies of the Font Software, and to permit 62 | persons to whom the Font Software is furnished to do so, subject to 63 | the following conditions: 64 | 65 | The above copyright and trademark notices and this permission notice 66 | shall be included in all copies of one or more of the Font Software 67 | typefaces. 68 | 69 | The Font Software may be modified, altered, or added to, and in 70 | particular the designs of glyphs or characters in the Fonts may be 71 | modified and additional glyphs or characters may be added to the 72 | Fonts, only if the fonts are renamed to names not containing either 73 | the words "Tavmjong Bah" or the word "Arev". 74 | 75 | This License becomes null and void to the extent applicable to Fonts 76 | or Font Software that has been modified and is distributed under the 77 | "Tavmjong Bah Arev" names. 78 | 79 | The Font Software may be sold as part of a larger software package but 80 | no copy of one or more of the Font Software typefaces may be sold by 81 | itself. 82 | 83 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 84 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 85 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 86 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL 87 | TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 88 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 89 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 90 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 91 | OTHER DEALINGS IN THE FONT SOFTWARE. 92 | 93 | Except as contained in this notice, the name of Tavmjong Bah shall not 94 | be used in advertising or otherwise to promote the sale, use or other 95 | dealings in this Font Software without prior written authorization 96 | from Tavmjong Bah. For further information, contact: tavmjong @ free 97 | . fr. 98 | 99 | $Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $ 100 | -------------------------------------------------------------------------------- /mpdf/examples/example18_headers_method_4.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 43 | 44 | 45 | 49 | 50 |

mPDF

51 |

Headers & Footers Method 4

52 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

53 | 54 | 55 |

Headers & Footers Method 4

56 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

57 | 58 | 59 | 60 | 61 |

Headers & Footers Method 4

62 |

Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. Fusce eleifend neque sit amet erat. Integer consectetuer nulla non orci. Morbi feugiat pulvinar dolor. Cras odio. Donec mattis, nisi id euismod auctor, neque metus pellentesque risus, at eleifend lacus sapien et risus. Phasellus metus. Phasellus feugiat, lectus ac aliquam molestie, leo lacus tincidunt turpis, vel aliquam quam odio et sapien. Mauris ante pede, auctor ac, suscipit quis, malesuada sed, nulla. Integer sit amet odio sit amet lectus luctus euismod. Donec et nulla. Sed quis orci.

63 | '; 64 | 65 | //============================================================== 66 | //============================================================== 67 | //============================================================== 68 | 69 | include("../mpdf.php"); 70 | 71 | $mpdf=new mPDF('c','A4','','',32,25,47,47,10,10); 72 | 73 | $mpdf->mirrorMargins = 1; // Use different Odd/Even headers and footers and mirror margins 74 | 75 | $mpdf->WriteHTML($html); 76 | 77 | $mpdf->Output(); 78 | exit; 79 | //============================================================== 80 | //============================================================== 81 | //============================================================== 82 | 83 | 84 | ?> -------------------------------------------------------------------------------- /mpdf/examples/mpdfstyletables.css: -------------------------------------------------------------------------------- 1 | 2 | body { font-family: DejaVuSansCondensed; font-size: 11pt; } 3 | p { text-align: justify; margin-bottom: 4pt; margin-top:0pt; } 4 | 5 | table {font-family: DejaVuSansCondensed; font-size: 9pt; line-height: 1.2; 6 | margin-top: 2pt; margin-bottom: 5pt; 7 | border-collapse: collapse; } 8 | 9 | thead { font-weight: bold; vertical-align: bottom; } 10 | tfoot { font-weight: bold; vertical-align: top; } 11 | thead td { font-weight: bold; } 12 | tfoot td { font-weight: bold; } 13 | 14 | thead td, thead th, tfoot td, tfoot th { font-variant: small-caps; } 15 | 16 | .headerrow td, .headerrow th { background-gradient: linear #b7cebd #f5f8f5 0 1 0 0.2; } 17 | .footerrow td, .footerrow th { background-gradient: linear #b7cebd #f5f8f5 0 1 0 0.2; } 18 | 19 | th { font-weight: bold; 20 | vertical-align: top; 21 | text-align:left; 22 | padding-left: 2mm; 23 | padding-right: 2mm; 24 | padding-top: 0.5mm; 25 | padding-bottom: 0.5mm; 26 | } 27 | 28 | td { padding-left: 2mm; 29 | vertical-align: top; 30 | text-align:left; 31 | padding-right: 2mm; 32 | padding-top: 0.5mm; 33 | padding-bottom: 0.5mm; 34 | } 35 | 36 | th p { text-align: left; margin:0pt; } 37 | td p { text-align: left; margin:0pt; } 38 | 39 | table.widecells td { 40 | padding-left: 5mm; 41 | padding-right: 5mm; 42 | } 43 | table.tallcells td { 44 | padding-top: 3mm; 45 | padding-bottom: 3mm; 46 | } 47 | 48 | hr { width: 70%; height: 1px; 49 | text-align: center; color: #999999; 50 | margin-top: 8pt; margin-bottom: 8pt; } 51 | 52 | a { color: #000066; font-style: normal; text-decoration: underline; 53 | font-weight: normal; } 54 | 55 | ul { text-indent: 5mm; margin-bottom: 9pt; } 56 | ol { text-indent: 5mm; margin-bottom: 9pt; } 57 | 58 | pre { font-family: DejaVuSansMono; font-size: 9pt; margin-top: 5pt; margin-bottom: 5pt; } 59 | 60 | h1 { font-weight: normal; font-size: 26pt; color: #000066; 61 | font-family: DejaVuSansCondensed; margin-top: 18pt; margin-bottom: 6pt; 62 | border-top: 0.075cm solid #000000; border-bottom: 0.075cm solid #000000; 63 | text-align: ; page-break-after:avoid; } 64 | h2 { font-weight: bold; font-size: 12pt; color: #000066; 65 | font-family: DejaVuSansCondensed; margin-top: 6pt; margin-bottom: 6pt; 66 | border-top: 0.07cm solid #000000; border-bottom: 0.07cm solid #000000; 67 | text-align: ; text-transform:uppercase; page-break-after:avoid; } 68 | h3 { font-weight: normal; font-size: 26pt; color: #000000; 69 | font-family: DejaVuSansCondensed; margin-top: 0pt; margin-bottom: 6pt; 70 | border-top: 0; border-bottom: 0; 71 | text-align: ; page-break-after:avoid; } 72 | h4 { font-weight: ; font-size: 13pt; color: #9f2b1e; 73 | font-family: DejaVuSansCondensed; margin-top: 10pt; margin-bottom: 7pt; 74 | font-variant: small-caps; 75 | text-align: ; margin-collapse:collapse; page-break-after:avoid; } 76 | h5 { font-weight: bold; font-style:italic; ; font-size: 11pt; color: #000044; 77 | font-family: DejaVuSansCondensed; margin-top: 8pt; margin-bottom: 4pt; 78 | text-align: ; page-break-after:avoid; } 79 | h6 { font-weight: bold; font-size: 9.5pt; color: #333333; 80 | font-family: DejaVuSansCondensed; margin-top: 6pt; margin-bottom: ; 81 | text-align: ; page-break-after:avoid; } 82 | 83 | .breadcrumb { 84 | text-align: right; font-size: 8pt; font-family: DejaVuSerifCondensed; color: #666666; 85 | font-weight: bold; font-style: normal; margin-bottom: 6pt; } 86 | 87 | .evenrow td, .evenrow th { background-color: #f5f8f5; } 88 | .oddrow td, .oddrow th { background-color: #e3ece4; } 89 | 90 | .bpmTopic { background-color: #e3ece4; } 91 | .bpmTopicC { background-color: #e3ece4; } 92 | .bpmNoLines { background-color: #e3ece4; } 93 | .bpmNoLinesC { background-color: #e3ece4; } 94 | .bpmClear { } 95 | .bpmClearC { text-align: center; } 96 | .bpmTopnTail { background-color: #e3ece4; topntail: 0.02cm solid #495b4a;} 97 | .bpmTopnTailC { background-color: #e3ece4; topntail: 0.02cm solid #495b4a;} 98 | .bpmTopnTailClear { topntail: 0.02cm solid #495b4a; } 99 | .bpmTopnTailClearC { topntail: 0.02cm solid #495b4a; } 100 | 101 | .bpmTopicC td, .bpmTopicC td p { text-align: center; } 102 | .bpmNoLinesC td, .bpmNoLinesC td p { text-align: center; } 103 | .bpmClearC td, .bpmClearC td p { text-align: center; } 104 | .bpmTopnTailC td, .bpmTopnTailC td p { text-align: center; } 105 | .bpmTopnTailClearC td, .bpmTopnTailClearC td p { text-align: center; } 106 | 107 | .pmhMiddleCenter { text-align:center; vertical-align:middle; } 108 | .pmhMiddleRight { text-align:right; vertical-align:middle; } 109 | .pmhBottomCenter { text-align:center; vertical-align:bottom; } 110 | .pmhBottomRight { text-align:right; vertical-align:bottom; } 111 | .pmhTopCenter { text-align:center; vertical-align:top; } 112 | .pmhTopRight { text-align:right; vertical-align:top; } 113 | .pmhTopLeft { text-align:left; vertical-align:top; } 114 | .pmhBottomLeft { text-align:left; vertical-align:bottom; } 115 | .pmhMiddleLeft { text-align:left; vertical-align:middle; } 116 | 117 | .infobox { margin-top:10pt; background-color:#DDDDBB; text-align:center; border:1px solid #880000; } 118 | 119 | .bpmTopic td, .bpmTopic th { border-top: 1px solid #FFFFFF; } 120 | .bpmTopicC td, .bpmTopicC th { border-top: 1px solid #FFFFFF; } 121 | .bpmTopnTail td, .bpmTopnTail th { border-top: 1px solid #FFFFFF; } 122 | .bpmTopnTailC td, .bpmTopnTailC th { border-top: 1px solid #FFFFFF; } 123 | 124 | 125 | -------------------------------------------------------------------------------- /mpdf/examples/example22_columns.php: -------------------------------------------------------------------------------- 1 | mPDF 7 |

Columns

8 | '; 9 | //============================================================== 10 | 11 | $loremH = "

Lectus facilisis

12 |

Sed auctor viverra diam. In lacinia lectus.

13 |

Praesent tincidunt massa in dolor. Morbi viverra leo quis ipsum. In vitae velit. In aliquam nulla nec mi. Sed accumsan, justo id congue fringilla, diam mauris volutpat ligula, sed aliquet elit diam at felis. Quisque et velit sed eros convallis posuere.

14 |
Nunc tincidunt
15 |

Nunc diam ipsum, consectetuer nec, hendrerit vitae, malesuada a, ante. Nulla ornare aliquet ante. Maecenas in lectus. Morbi porttitor mauris. Praesent ut.

16 |

Pede quis ante tincidunt blandit. Maecenas bibendum erat. Curabitur sit amet ante quis velit ultricies facilisis. Ut hendrerit dolor commodo magna. In nec ligula a purus tincidunt adipiscing. Etiam non ante.

Suspendisse potenti. Suspendisse accumsan euismod lectus. Nunc commodo pede et turpis. Pellentesque porta mauris sed lorem. Ut nec augue vitae elit eleifend eleifend.Quisque ornare feugiat diam. Duis nulla metus, tempus sit amet, scelerisque a, rutrum at, nisl. Nulla facilisi. Duis metus turpis, molestie nec, laoreet tincidunt, ultrices et, purus. Nullam faucibus aliquam nisi.

Ut leo. Etiam tempus interdum tortor. Donec porta, arcu vel tincidunt placerat, lacus lorem iaculis diam, id sagittis sapien metus eu nunc. Morbi vitae nunc.
Mauris sapien. Phasellus elementum velit sed sapien. Nullam ante diam, consectetuer commodo, dignissim vitae, tempor vel, magna. Donec dictum. Nullam ultrices leo volutpat magna. Mauris blandit purus nec turpis. Curabitur nunc. Aliquam condimentum eleifend32 lectus. Praesent vitae nibh et libero ullamcorper scelerisque. Nullam auctor. Mauris ipsum nulla, malesuada id, aliquet at, feugiat vitae, eros.

17 | 18 |
Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. 19 |
Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim.
20 | Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim.
21 |

Maecenas arcu justo, malesuada eu, dapibus ac, adipiscing vitae, turpis. Fusce mollis. Aliquam egestas. In purus dolor, facilisis at, fermentum nec, molestie et, metus. Vestibulum feugiat, orci at imperdiet tincidunt, mauris erat facilisis urna, sagittis ultricies dui nisl et lectus. Sed lacinia, lectus vitae dictum sodales, elit ipsum ultrices orci, non euismod arcu diam non metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In suscipit turpis vitae odio. Integer convallis dui at metus. Fusce magna. Sed sed lectus vitae enim tempor cursus. Cras eu erat vel libero sodales congue. Sed erat est, interdum nec, elementum eleifend, pretium at, nibh. Praesent massa diam, adipiscing id, mollis sed, posuere et, urna. Quisque ut leo. Aliquam interdum hendrerit tortor. Vestibulum elit. Vestibulum et arcu at diam mattis commodo. Nam ipsum sem, ultricies at, rutrum sit amet, posuere nec, velit. Sed molestie mollis dui.

22 | "; 23 | 24 | 25 | 26 | //============================================================== 27 | //============================================================== 28 | //============================================================== 29 | include("../mpdf.php"); 30 | 31 | $mpdf=new mPDF('c','A4','','',32,25,27,25,16,13); 32 | 33 | $mpdf->SetDisplayMode('fullpage'); 34 | 35 | $stylesheet = file_get_contents('mpdfstyleA4.css'); 36 | $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text 37 | 38 | // Bullets in columns are probably best not indented 39 | $mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list 40 | 41 | $mpdf->max_colH_correction = 1.1; 42 | 43 | 44 | $mpdf->WriteHTML($html,2); 45 | $mpdf->WriteHTML($loremH,2); 46 | 47 | // consider reducing lineheight when using columns - especially if vAligned justify 48 | $mpdf->SetDefaultBodyCSS('line-height', 1.2); 49 | 50 | $mpdf->SetColumns(3,'J'); 51 | $mpdf->WriteHTML($loremH,2); 52 | 53 | $mpdf->SetColumns(0); 54 | $mpdf->WriteHTML('
'); 55 | 56 | 57 | $mpdf->SetColumns(2,'J'); 58 | $mpdf->WriteHTML($loremH,2); 59 | $mpdf->WriteHTML('
'); 60 | $mpdf->SetColumns(0); 61 | $mpdf->WriteHTML('
'); 62 | 63 | $mpdf->SetColumns(3,'J'); 64 | $mpdf->WriteHTML($loremH,2); 65 | 66 | $mpdf->SetColumns(0); 67 | $mpdf->WriteHTML('
'); 68 | $mpdf->SetColumns(2,'J'); 69 | $mpdf->WriteHTML($loremH,2); 70 | 71 | 72 | 73 | $mpdf->Output(); 74 | exit; 75 | //============================================================== 76 | //============================================================== 77 | //============================================================== 78 | 79 | 80 | ?> -------------------------------------------------------------------------------- /mpdf/compress.php: -------------------------------------------------------------------------------- 1 | 29 | 30 | 48 | 49 | 50 |

WARNING: This utility will OVERWRITE mpdf.php file in the current directory.

51 |

Select the functions you wish to INCLUDE in your mpdf.php program. When you click generate, a new mpdf.php file will be written to the current directory.

52 |
Notes 53 |
    54 |
  • HTML-CSS is required for many of the other functions to work including: Tables, Lists, Backgrounds, Forms, Border-radius and all other CSS
  • 55 |
  • DIRECTW includes the functions to Write directly to the PDF file e.g. Write, WriteText, WriteCell, Text, Shaded_box, AutosizeText
  • 56 |
  • You must include either HTML-CSS or DIRECTW
  • 57 |
  • JPG, PNG and JPG images are supported with IMAGES-CORE
  • 58 |
  • For WMF Images, you must include both IMAGES-CORE and IMAGES-WMF
  • 59 |
  • IMAGES-CORE are required for BACKGROUNDS (IMAGES) or WATERMARKS to work
  • 60 |
61 |
62 | Select/Unselect All

63 | 64 |
65 | '; 66 | foreach($excl AS $k=>$ex) { 67 | echo ' 1 && $k < 5)) { 69 | echo ' checked="checked"'; 70 | } 71 | echo ' /> '.$ex.'
'; 72 | } 73 | 74 | echo '
75 | 76 |
77 | 78 | '; 79 | exit; 80 | } 81 | 82 | $inc = $_POST['inc']; 83 | if (is_array($inc) && count($inc)>0 ) { 84 | foreach($inc AS $i=>$v) { 85 | $key = array_search($i, $excl); 86 | unset($excl[$key]); 87 | } 88 | } 89 | 90 | if (!defined('PHP_VERSION_ID')) { 91 | $version = explode('.', PHP_VERSION); 92 | define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2])); 93 | } 94 | if (PHP_VERSION_ID < 50300) { $mqr = @get_magic_quotes_runtime(); } 95 | else { $mqr=0; } 96 | if ($mqr) { set_magic_quotes_runtime(0); } 97 | 98 | $l = file('mpdf_source.php'); 99 | if (!count($l)) { die("ERROR - Could not find mpdf_source.php file in current directory"); } 100 | $exclflags = array(); 101 | $x = ''; 102 | 103 | // Excluding 'HTML-CSS' will also exclude: 'TABLES', 'LISTS', 'TABLES-ADVANCED-BORDERS', 'HTMLHEADERS-FOOTERS', 'FORMS', 'BACKGROUNDS', 'CSS-FLOAT', 'CSS-IMAGE-FLOAT', 'CSS-POSITION', 'CSS-PAGE', 'BORDER-RADIUS' 104 | if ($excl[0]=='HTML-CSS') { 105 | $excl[] = 'TABLES'; 106 | $excl[] = 'LISTS'; 107 | $excl[] = 'TABLES-ADVANCED-BORDERS'; 108 | $excl[] = 'HTMLHEADERS-FOOTERS'; 109 | $excl[] = 'FORMS'; 110 | $excl[] = 'BACKGROUNDS'; 111 | $excl[] = 'CSS-FLOAT'; 112 | $excl[] = 'CSS-IMAGE-FLOAT'; 113 | $excl[] = 'CSS-POSITION'; 114 | $excl[] = 'CSS-PAGE'; 115 | $excl[] = 'BORDER-RADIUS'; 116 | } 117 | $excl = array_unique($excl); 118 | 119 | foreach($l AS $k=>$ln) { 120 | $exclude = false; 121 | // *XXXXX* 122 | preg_match_all("/\/\/ \*([A-Za-z\-]+)\*/", $ln, $m); 123 | foreach($m[1] AS $mm) { 124 | if (in_array($mm, $excl)) { 125 | $exclude = true; 126 | } 127 | } 128 | /*-- XXXXX --*/ 129 | preg_match_all("/\/\*-- ([A-Za-z\-]+) --\*\//", $ln, $m); 130 | foreach($m[1] AS $mm) { 131 | if (in_array($mm, $excl)) { 132 | $exclflags[$mm] = true; 133 | } 134 | $exclude = true; 135 | } 136 | $exclflags = array_unique($exclflags); 137 | /*-- END XXXX --*/ 138 | preg_match_all("/\/\*-- END ([A-Za-z\-]+) --\*\//", $ln, $m); 139 | foreach($m[1] AS $mm) { 140 | if (in_array($mm, $excl)) { 141 | unset($exclflags[$mm]); 142 | } 143 | $exclude = true; 144 | } 145 | if (count($exclflags)==0 && !$exclude) { 146 | $x .= $ln; 147 | } 148 | } 149 | // mPDF 5.0 150 | if (function_exists('file_put_contents')) { 151 | $check = file_put_contents('mpdf.php', $x); 152 | } 153 | else { 154 | $f=fopen('mpdf.php', 'w'); 155 | $check = fwrite($f, $x); 156 | fclose($f); 157 | } 158 | if (!$check) { die("ERROR - Could not write to mpdf.php file. Are permissions correctly set?"); } 159 | echo '

mPDF file generated successfully!

'; 160 | echo '
mPDF file size '.number_format((strlen($x)/1024)).' kB
'; 161 | 162 | unset($l); 163 | unset($x); 164 | 165 | include('mpdf.php'); 166 | $mpdf = new mPDF(); 167 | 168 | echo '
Memory usage on loading mPDF class '.number_format((memory_get_usage(true)/(1024*1024)),2).' MB
'; 169 | 170 | exit; 171 | 172 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example03_backgrounds_and_borders.php: -------------------------------------------------------------------------------- 1 | 5 | .gradient { 6 | border:0.1mm solid #220044; 7 | background-color: #f0f2ff; 8 | background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5; 9 | } 10 | .radialgradient { 11 | border:0.1mm solid #220044; 12 | background-color: #f0f2ff; 13 | background-gradient: radial #00FFFF #FFFF00 0.5 0.5 0.5 0.5 0.65; 14 | margin: auto; 15 | } 16 | .rounded { 17 | border:0.1mm solid #220044; 18 | background-color: #f0f2ff; 19 | background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5; 20 | border-radius: 2mm; 21 | background-clip: border-box; 22 | } 23 | h4 { 24 | font-family: sans; 25 | font-weight: bold; 26 | margin-top: 1em; 27 | margin-bottom: 0.5em; 28 | } 29 | div { 30 | padding:1em; 31 | margin-bottom: 1em; 32 | text-align:justify; 33 | } 34 | .example pre { 35 | background-color: #d5d5d5; 36 | margin: 1em 1cm; 37 | padding: 0 0.3cm; 38 | } 39 | 40 | pre { text-align:left } 41 | pre.code { font-family: monospace } 42 | 43 | 44 | 45 | 46 |

mPDF

47 |

Backgrounds & Borders

48 | 49 |
50 |

Page background

51 |
52 | The background colour can be set by CSS styles on the <body> tag. This will set the background for the whole page. In this document, the background has been set as a gradient (see below). 53 |
54 | 55 |

Background Gradients

56 |
57 | Background can be set as a linear or radial gradient between two colours. The background has been set on this <div> element to a linear gradient. CSS style used here is:
58 | background-gradient: linear #c7cdde #f0f2ff 0 1 0 0.5;
59 | The four numbers are coordinates in the form (x1, y1, x2, y2) which defines the gradient vector. x and y are values from 0 to 1, where 1 represents the height or width of the box as it is printed. 60 |
61 |
62 | Background gradients can be set on all block elements e.g. P, DIV, H1-H6, as well as on BODY. 63 |
64 |
65 | The background has been set on this <div> element to a radial gradient. CSS style used here is:
66 | background-gradient: radial #00FFFF #FFFF00 0.5 0.5 0.5 0.5 0.65;
67 | The five numbers are coordinates in the form (x1, y1, x2, y2, r) where (x1, y1) is the starting point of the gradient with color1, 68 | (x2, y2) is the center of the circle with color2, and r is the radius of the circle. 69 | (x1, y1) should be inside the circle, otherwise some areas will not be defined. 70 |
71 |
72 | Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec mattis lacus ac purus feugiat semper. Donec aliquet nunc odio, vitae pellentesque diam. Pellentesque sed velit lacus. Duis quis dui quis sem consectetur sollicitudin. Cras dolor quam, dapibus et pretium sit amet, elementum vel arcu. Duis rhoncus facilisis erat nec mattis. In hac habitasse platea dictumst. Vivamus hendrerit sem in justo aliquet a pellentesque lorem scelerisque. Suspendisse a augue sed urna rhoncus elementum. Aliquam erat volutpat. 73 |
74 | 75 |

Background Images

76 |
77 | The CSS properties background-image, background-position, and background-repeat are supported as defined in CSS2, as well as the shorthand form "background". 78 |
79 | The background has been set on this <div> element to:
80 | background: transparent url(\'bg.jpg\') repeat fixed right top;
81 | Background gradients can be set on all block elements e.g. P, DIV, H1-H6, as well as on BODY. 82 |
83 | 84 |

Rounded Borders

85 |
86 | Rounded corners to borders can be added using border-radius as defined in the draft spec. of CSS3.
87 | 88 | The two length values of the border-*-radius properties define the radii of a quarter ellipse that defines the shape of the corner of the outer border edge. 89 | The first value is the horizontal radius.
90 | border-top-left-radius: 55pt 25pt; 55pt is radius of curve from top end of left border starting to go round to the top.
91 | 92 | If the second length is omitted it is equal to the first (and the corner is thus a quarter circle). If either length is zero, the corner is square, not rounded.
93 | 94 | The border-radius shorthand sets all four border-*-radius properties. If values are given before and after a slash, then the values before the slash set the horizontal radius and the values after the slash set the vertical radius. If there is no slash, then the values set both radii equally. The four values for each radii are given in the order top-left, top-right, bottom-right, bottom-left. If bottom-left is omitted it is the same as top-right. If bottom-right is omitted it is the same as top-left. If top-right is omitted it is the same as top-left. 95 |
96 |
97 | border-radius: 4em;
98 | 99 | would be equivalent to
100 | 101 | border-top-left-radius: 4em;
102 | border-top-right-radius: 4em;
103 | border-bottom-right-radius: 4em;
104 | border-bottom-left-radius: 4em;

105 |
106 | and
107 | border-radius: 2em 1em 4em / 0.5em 3em;
108 | would be equivalent to
109 | border-top-left-radius: 2em 0.5em;
110 | border-top-right-radius: 1em 3em;
111 | border-bottom-right-radius: 4em 0.5em;
112 | border-bottom-left-radius: 1em 3em;
113 |
114 | 115 |
116 | '; 117 | 118 | //============================================================== 119 | //============================================================== 120 | //============================================================== 121 | include("../mpdf.php"); 122 | 123 | $mpdf=new mPDF(); 124 | 125 | $mpdf->SetDisplayMode('fullpage'); 126 | 127 | $mpdf->WriteHTML($html); 128 | 129 | $mpdf->Output(); 130 | 131 | exit; 132 | 133 | //============================================================== 134 | //============================================================== 135 | //============================================================== 136 | 137 | 138 | ?> -------------------------------------------------------------------------------- /mpdf/includes/CJKdata.php: -------------------------------------------------------------------------------- 1 | 250, 33 => 250, 34 => 408, 35 => 668, 36 => 490, 37 => 875, 38 => 698, 39 => 250, 40 => 240, 41 => 240, 7 | 42 => 417, 43 => 667, 44 => 250, 45 => 313, 46 => 250, 47 => 520, 48 => 500, 49 => 500, 50 => 500, 51 => 500, 8 | 52 => 500, 53 => 500, 54 => 500, 55 => 500, 56 => 500, 57 => 500, 58 => 250, 59 => 250, 60 => 667, 61 => 667, 9 | 62 => 667, 63 => 396, 64 => 921, 65 => 677, 66 => 615, 67 => 719, 68 => 760, 69 => 625, 70 => 552, 71 => 771, 10 | 72 => 802, 73 => 354, 74 => 354, 75 => 781, 76 => 604, 77 => 927, 78 => 750, 79 => 823, 80 => 563, 81 => 823, 11 | 82 => 729, 83 => 542, 84 => 698, 85 => 771, 86 => 729, 87 => 948, 88 => 771, 89 => 677, 90 => 635, 91 => 344, 12 | 92 => 520, 93 => 344, 94 => 469, 95 => 500, 96 => 250, 97 => 469, 98 => 521, 99 => 427, 100 => 521, 101 => 438, 13 | 102 => 271, 103 => 469, 104 => 531, 105 => 250, 106 => 250, 107 => 458, 108 => 240, 109 => 802, 110 => 531, 111 => 500, 14 | 112 => 521, 113 => 521, 114 => 365, 115 => 333, 116 => 292, 117 => 521, 118 => 458, 119 => 677, 120 => 479, 121 => 458, 15 | 122 => 427, 123 => 480, 124 => 496, 125 => 480, 126 => 667, 16 | 17601 => 500, 17 | ); 18 | $this->Big5_widths=$cw; 19 | 20 | 21 | // GB 22 | $cw = array( 23 | 32 => 207, 33 => 270, 34 => 342, 35 => 467, 36 => 462, 37 => 797, 38 => 710, 39 => 239, 40 => 374, 41 => 374, 24 | 42 => 423, 43 => 605, 44 => 238, 45 => 375, 46 => 238, 47 => 334, 48 => 462, 49 => 462, 50 => 462, 51 => 462, 25 | 52 => 462, 53 => 462, 54 => 462, 55 => 462, 56 => 462, 57 => 462, 58 => 238, 59 => 238, 60 => 605, 61 => 605, 26 | 62 => 605, 63 => 344, 64 => 748, 65 => 684, 66 => 560, 67 => 695, 68 => 739, 69 => 563, 70 => 511, 71 => 729, 27 | 72 => 793, 73 => 318, 74 => 312, 75 => 666, 76 => 526, 77 => 896, 78 => 758, 79 => 772, 80 => 544, 81 => 772, 28 | 82 => 628, 83 => 465, 84 => 607, 85 => 753, 86 => 711, 87 => 972, 88 => 647, 89 => 620, 90 => 607, 91 => 374, 29 | 92 => 333, 93 => 374, 94 => 606, 95 => 500, 96 => 239, 97 => 417, 98 => 503, 99 => 427, 100 => 529, 101 => 415, 30 | 102 => 264, 103 => 444, 104 => 518, 105 => 241, 106 => 230, 107 => 495, 108 => 228, 109 => 793, 110 => 527, 111 => 524, 31 | 112 => 524, 113 => 504, 114 => 338, 115 => 336, 116 => 277, 117 => 517, 118 => 450, 119 => 652, 120 => 466, 121 => 452, 32 | 122 => 407, 123 => 370, 124 => 258, 125 => 370, 126 => 605, 33 | ); 34 | $this->GB_widths=$cw; 35 | 36 | // Japanese 37 | $cw = array( 38 | 32 => 278, 33 => 299, 34 => 353, 35 => 614, 36 => 614, 37 => 721, 38 => 735, 39 => 216, 40 => 323, 41 => 323, 39 | 42 => 449, 43 => 529, 44 => 219, 45 => 306, 46 => 219, 47 => 453, 48 => 614, 49 => 614, 50 => 614, 51 => 614, 40 | 52 => 614, 53 => 614, 54 => 614, 55 => 614, 56 => 614, 57 => 614, 58 => 219, 59 => 219, 60 => 529, 61 => 529, 41 | 62 => 529, 63 => 486, 64 => 744, 65 => 646, 66 => 604, 67 => 617, 68 => 681, 69 => 567, 70 => 537, 71 => 647, 42 | 72 => 738, 73 => 320, 74 => 433, 75 => 637, 76 => 566, 77 => 904, 78 => 710, 79 => 716, 80 => 605, 81 => 716, 43 | 82 => 623, 83 => 517, 84 => 601, 85 => 690, 86 => 668, 87 => 990, 88 => 681, 89 => 634, 90 => 578, 91 => 316, 44 | 92 => 614, 93 => 316, 94 => 529, 95 => 500, 96 => 387, 97 => 509, 98 => 566, 99 => 478, 100 => 565, 101 => 503, 45 | 102 => 337, 103 => 549, 104 => 580, 105 => 275, 106 => 266, 107 => 544, 108 => 276, 109 => 854, 110 => 579, 111 => 550, 46 | 112 => 578, 113 => 566, 114 => 410, 115 => 444, 116 => 340, 117 => 575, 118 => 512, 119 => 760, 120 => 503, 121 => 529, 47 | 122 => 453, 123 => 326, 124 => 380, 125 => 326, 126 => 387, 127 => 216, 128 => 453, 129 => 216, 130 => 380, 131 => 529, 48 | 132 => 299, 133 => 614, 134 => 614, 135 => 265, 136 => 614, 137 => 475, 138 => 614, 139 => 353, 140 => 451, 141 => 291, 49 | 142 => 291, 143 => 588, 144 => 589, 145 => 500, 146 => 476, 147 => 476, 148 => 219, 149 => 494, 150 => 452, 151 => 216, 50 | 152 => 353, 153 => 353, 154 => 451, 156 => 1075, 157 => 486, 158 => 387, 159 => 387, 160 => 387, 161 => 387, 51 | 162 => 387, 163 => 387, 164 => 387, 165 => 387, 166 => 387, 167 => 387, 168 => 387, 170 => 880, 171 => 448, 52 | 172 => 566, 173 => 716, 174 => 903, 175 => 460, 176 => 805, 177 => 275, 178 => 276, 179 => 550, 180 => 886, 181 => 582, 53 | 182 => 529, 183 => 738, 184 => 529, 185 => 738, 186 => 357, 187 => 529, 188 => 406, 189 => 406, 190 => 575, 191 => 406, 54 | 192 => 934, 193 => 934, 194 => 934, 195 => 646, 196 => 646, 197 => 646, 198 => 646, 199 => 646, 200 => 646, 201 => 617, 55 | 202 => 567, 203 => 567, 204 => 567, 205 => 567, 206 => 320, 207 => 320, 208 => 320, 209 => 320, 210 => 681, 211 => 710, 56 | 212 => 716, 213 => 716, 214 => 716, 215 => 716, 216 => 716, 217 => 529, 218 => 690, 219 => 690, 220 => 690, 221 => 690, 57 | 222 => 634, 223 => 605, 224 => 509, 225 => 509, 226 => 509, 227 => 509, 228 => 509, 229 => 509, 230 => 478, 231 => 503, 58 | 232 => 503, 233 => 503, 234 => 503, 235 => 275, 236 => 275, 237 => 275, 238 => 275, 239 => 550, 240 => 579, 241 => 550, 59 | 242 => 550, 243 => 550, 244 => 550, 245 => 550, 246 => 529, 247 => 575, 248 => 575, 249 => 575, 250 => 575, 251 => 529, 60 | 252 => 578, 253 => 529, 254 => 517, 255 => 634, 256 => 578, 257 => 445, 258 => 444, 259 => 842, 260 => 453, 261 => 614, 61 | ); 62 | 63 | 64 | $_cr = array( 65 | array(231, 632, 500), // half-width 66 | array(8718, 8718, 500), 67 | array(9738, 9757, 250), // quarter-width 68 | array(9758, 9778, 333), // third-width 69 | array(12063, 12087, 500), 70 | ); 71 | foreach($_cr as $_r) { 72 | for($i = $_r[0]; $i <= $_r[1]; $i++) { 73 | $cw[$i+31] = $_r[2]; 74 | } 75 | } 76 | $this->SJIS_widths=$cw; 77 | 78 | // Korean 79 | $cw = array( 80 | 32 => 333, 33 => 416, 34 => 416, 35 => 833, 36 => 625, 37 => 916, 38 => 833, 39 => 250, 40 => 500, 41 => 500, 81 | 42 => 500, 43 => 833, 44 => 291, 45 => 450, 46 => 291, 47 => 375, 48 => 625, 49 => 625, 50 => 625, 51 => 625, 82 | 52 => 625, 53 => 625, 54 => 625, 55 => 625, 56 => 625, 57 => 625, 58 => 333, 59 => 333, 60 => 833, 61 => 833, 83 | 62 => 916, 63 => 500, 64 => 1000, 65 => 791, 66 => 708, 67 => 708, 68 => 750, 69 => 708, 70 => 666, 71 => 750, 84 | 72 => 791, 73 => 375, 74 => 500, 75 => 791, 76 => 666, 77 => 916, 78 => 791, 79 => 750, 80 => 666, 81 => 750, 85 | 82 => 708, 83 => 666, 84 => 791, 85 => 791, 86 => 750, 87 => 1000, 88 => 708, 89 => 708, 90 => 666, 91 => 500, 86 | 92 => 375, 93 => 500, 94 => 500, 95 => 500, 96 => 333, 97 => 541, 98 => 583, 99 => 541, 100 => 583, 101 => 583, 87 | 102 => 375, 103 => 583, 104 => 583, 105 => 291, 106 => 333, 107 => 583, 108 => 291, 109 => 875, 110 => 583, 111 => 583, 88 | 112 => 583, 113 => 583, 114 => 458, 115 => 541, 116 => 375, 117 => 583, 118 => 583, 119 => 833, 120 => 625, 121 => 625, 89 | 122 => 500, 123 => 583, 124 => 583, 125 => 583, 126 => 750, 90 | ); 91 | $_cr = array( 92 | array(8094, 8190, 500) 93 | ); 94 | foreach($_cr as $_r) { 95 | for($i = $_r[0]; $i <= $_r[1]; $i++) { 96 | $cw[$i+31] = $_r[2]; 97 | } 98 | } 99 | $this->UHC_widths=$cw; 100 | 101 | ?> -------------------------------------------------------------------------------- /mpdf/examples/example20_justify.php: -------------------------------------------------------------------------------- 1 | mPDF 6 |

Justification

7 | 8 |

Tables

9 |

Text can be justified in table cells using in-line or stylesheet CSS. (Note that <p> tags are removed within cells along with any style definition or attributes.)

10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 26 | 29 | 30 | 33 | 36 | 37 | 38 | 42 | 43 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
Col/Row Header 13 |

Second column header p

14 |
Third column header
Row header 1This is dataThis is data
Row header 2 24 |

This is data p

25 |
27 |

This is data

28 |
31 |

Row header 3

32 |
34 |

This is long data

35 |
This is data
39 |

Row header 4

40 |

<th> cell acting as header

41 |

Proin aliquet lorem id felis. Curabitur vel libero at mauris nonummy tincidunt. Donec imperdiet. Vestibulum sem sem, lacinia vel, molestie et, laoreet eget, urna. Curabitur viverra faucibus pede. Morbi lobortis. Donec dapibus. Donec tempus. Ut arcu enim, rhoncus ac, venenatis eu, porttitor mollis, dui. Sed vitae risus. In elementum sem placerat dui. Nam tristique eros in nisl. Nulla cursus sapien non quam porta porttitor. Quisque dictum ipsum ornare tortor. Fusce ornare tempus enim.

44 |

This is data

45 |
Row header 5Also dataAlso data
Row header 6Also dataAlso data
Row header 7Also dataAlso data
Row header 8Also dataAlso data
64 |

 

65 | 66 |

Testing Justification with Long Words

67 |

http://www-950.ibm.com/software/globalization/icu/demo/converters?s=ALL&snd=4356&dnd=4356

68 |
Should not split
69 |

Maecenas feugiat pede vel risus. Nulla et lectus eleifend verylongwordthatwontsplit neque sit amet erat

70 |

Maecenas feugiat pede vel risus. Nulla et lectus eleifend et verylongwordthatwontsplit neque sit amet erat

71 | 72 |
Non-breaking Space &nbsp;

The next example has a non-breaking space between eleifend and the very long word.

Maecenas feugiat pede vel risus. Nulla et lectus eleifend verylongwordthatwontsplitanywhere neque sit amet erat

Nbsp will only work in fonts that have a glyph to represent the character i.e. not in the CJK languages nor some Unicode fonts.

73 | 74 | 75 | 76 |

Testing Justification with mixed Styles

77 |

This is strikethrough in block and small strikethrough in small span and big strikethrough in big span and then underline but out of span again but blue font and ACRONYM text

78 |

This is a green reference32-47 and underlined reference32-47 then reference32-47 and underlined reference32-47 then Strikethrough reference32-47 and strikethrough reference32-47 and then more text. 79 |

80 |

Repeated in BIG: This is reference32-47 and underlined reference32-47 then reference32-47 and underlined reference32-47 but out of span again but blue font and ACRONYM text 81 |

82 |

Repeated in small: This is reference32-47 and underlined reference32-47 then reference32-47 and underlined reference32-47 but out of span again but blue font and ACRONYM text 83 |

84 | 85 |

This is strikethrough in block and big strikethrough in big span and then underline but out of span again but blue font and ACRONYM text

86 |

This is reference32-47 and underlined reference32-47 then reference32-47 and underlined reference32-47 then Strikethrough reference32-47 and strikethrough reference32-47 then more text. 87 |

88 |

89 |

90 | Repeated in BIG: This is reference32-47 and underlined reference32-47 then reference32-47 and underlined reference32-47 but out of span again but blue font and ACRONYM text 91 |

92 | '; 93 | 94 | //============================================================== 95 | //============================================================== 96 | //============================================================== 97 | include("../mpdf.php"); 98 | 99 | $mpdf=new mPDF('c','A4','','',32,25,27,25,16,13); 100 | 101 | $mpdf->SetDisplayMode('fullpage'); 102 | 103 | // LOAD a stylesheet 104 | $stylesheet = file_get_contents('mpdfstyletables.css'); 105 | $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text 106 | 107 | $mpdf->WriteHTML($html); 108 | 109 | // SPACING 110 | $mpdf->WriteHTML("

Spacing

mPDF uses both letter- and word-spacing for text justification. The default is a mixture of both, set by the configurable values jSWord and jSmaxChar. (Only word spacing is used when cursive languages such as Arabic or Indic are detected.)

"); 111 | 112 | $mpdf->jSWord = 0; // Proportion (/1) of space (when justifying margins) to allocate to Word vs. Character 113 | $mpdf->jSmaxChar = 0; // Maximum spacing to allocate to character spacing. (0 = no maximum) 114 | $mpdf->WriteHTML("
Character spacing

Maecenas feugiat pede vel risus. Nulla et lectus eleifend verylongwordthatwontsplitanywhere neque sit amet erat

"); 115 | 116 | // Back to default settings 117 | $mpdf->jSWord = 0.4; 118 | $mpdf->jSmaxChar = 2; 119 | $mpdf->WriteHTML("
Word spacing

Maecenas feugiat pede vel risus. Nulla et lectus eleifend verylongwordthatwontsplitanywhere neque sit amet erat

"); 120 | 121 | $mpdf->WriteHTML("
Mixed Character and Word spacing

Maecenas feugiat pede vel risus. Nulla et lectus eleifend verylongwordthatwontsplitanywhere neque sit amet erat

"); 122 | 123 | 124 | 125 | 126 | $mpdf->Output(); 127 | exit; 128 | 129 | 130 | ?> --------------------------------------------------------------------------------