diff --git a/examples/barcodes/example_1d_html.php b/examples/barcodes/example_1d_html.php new file mode 100644 index 0000000..67d22e7 --- /dev/null +++ b/examples/barcodes/example_1d_html.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.000 + */ + +// include 1D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_1d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDFBarcode('http://www.tcpdf.org', 'C128'); + +// output the barcode as HTML object +echo $barcodeobj->getBarcodeHTML(2, 30, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_1d_png.php b/examples/barcodes/example_1d_png.php new file mode 100644 index 0000000..9e44909 --- /dev/null +++ b/examples/barcodes/example_1d_png.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.000 + */ + +// include 1D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_1d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDFBarcode('http://www.tcpdf.org', 'C128'); + +// output the barcode as PNG image +$barcodeobj->getBarcodePNG(2, 30, array(0,0,0)); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_1d_svg.php b/examples/barcodes/example_1d_svg.php new file mode 100644 index 0000000..f7b585a --- /dev/null +++ b/examples/barcodes/example_1d_svg.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.000 + */ + +// include 1D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_1d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDFBarcode('http://www.tcpdf.org', 'C128'); + +// output the barcode as SVG image +$barcodeobj->getBarcodeSVG(2, 30, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_1d_svgi.php b/examples/barcodes/example_1d_svgi.php new file mode 100644 index 0000000..a74a304 --- /dev/null +++ b/examples/barcodes/example_1d_svgi.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.000 + */ + +// include 1D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_1d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDFBarcode('http://www.tcpdf.org', 'C128'); + +// output the barcode as SVG inline code +echo $barcodeobj->getBarcodeSVGcode(2, 40, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_datamatrix_html.php b/examples/barcodes/example_2d_datamatrix_html.php new file mode 100644 index 0000000..dc7bab3 --- /dev/null +++ b/examples/barcodes/example_2d_datamatrix_html.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'DATAMATRIX'); + +// output the barcode as HTML object +echo $barcodeobj->getBarcodeHTML(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_datamatrix_png.php b/examples/barcodes/example_2d_datamatrix_png.php new file mode 100644 index 0000000..87b7a33 --- /dev/null +++ b/examples/barcodes/example_2d_datamatrix_png.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'DATAMATRIX'); + +// output the barcode as PNG image +$barcodeobj->getBarcodePNG(6, 6, array(0,0,0)); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_datamatrix_svg.php b/examples/barcodes/example_2d_datamatrix_svg.php new file mode 100644 index 0000000..523ebfa --- /dev/null +++ b/examples/barcodes/example_2d_datamatrix_svg.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'DATAMATRIX'); + +// output the barcode as SVG image +$barcodeobj->getBarcodeSVG(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_datamatrix_svgi.php b/examples/barcodes/example_2d_datamatrix_svgi.php new file mode 100644 index 0000000..4470981 --- /dev/null +++ b/examples/barcodes/example_2d_datamatrix_svgi.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'DATAMATRIX'); + +// output the barcode as SVG inline code +echo $barcodeobj->getBarcodeSVGcode(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_pdf417_html.php b/examples/barcodes/example_2d_pdf417_html.php new file mode 100644 index 0000000..4c4e9ee --- /dev/null +++ b/examples/barcodes/example_2d_pdf417_html.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'PDF417'); + +// output the barcode as HTML object +echo $barcodeobj->getBarcodeHTML(4, 4, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_pdf417_png.php b/examples/barcodes/example_2d_pdf417_png.php new file mode 100644 index 0000000..df939bb --- /dev/null +++ b/examples/barcodes/example_2d_pdf417_png.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'PDF417'); + +// output the barcode as PNG image +$barcodeobj->getBarcodePNG(4, 4, array(0,0,0)); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_pdf417_svg.php b/examples/barcodes/example_2d_pdf417_svg.php new file mode 100644 index 0000000..fb29ea2 --- /dev/null +++ b/examples/barcodes/example_2d_pdf417_svg.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'PDF417'); + +// output the barcode as SVG image +$barcodeobj->getBarcodeSVG(4, 4, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_pdf417_svgi.php b/examples/barcodes/example_2d_pdf417_svgi.php new file mode 100644 index 0000000..94e1c71 --- /dev/null +++ b/examples/barcodes/example_2d_pdf417_svgi.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'PDF417'); + +// output the barcode as SVG inline code +echo $barcodeobj->getBarcodeSVGcode(4, 4, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_qrcode_html.php b/examples/barcodes/example_2d_qrcode_html.php new file mode 100644 index 0000000..ac828f7 --- /dev/null +++ b/examples/barcodes/example_2d_qrcode_html.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'QRCODE,H'); + +// output the barcode as HTML object +echo $barcodeobj->getBarcodeHTML(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_qrcode_png.php b/examples/barcodes/example_2d_qrcode_png.php new file mode 100644 index 0000000..71f8710 --- /dev/null +++ b/examples/barcodes/example_2d_qrcode_png.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'QRCODE,H'); + +// output the barcode as PNG image +$barcodeobj->getBarcodePNG(6, 6, array(0,0,0)); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_qrcode_svg.php b/examples/barcodes/example_2d_qrcode_svg.php new file mode 100644 index 0000000..1baa43d --- /dev/null +++ b/examples/barcodes/example_2d_qrcode_svg.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'QRCODE,H'); + +// output the barcode as SVG image +$barcodeobj->getBarcodeSVG(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/example_2d_qrcode_svgi.php b/examples/barcodes/example_2d_qrcode_svgi.php new file mode 100644 index 0000000..99d6590 --- /dev/null +++ b/examples/barcodes/example_2d_qrcode_svgi.php @@ -0,0 +1,53 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Example for tcpdf_barcodes_2d.php class +// +//============================================================+ + +/** + * @file + * Example for tcpdf_barcodes_2d.php class + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.009 + */ + +// include 2D barcode class (search for installation path) +require_once(dirname(__FILE__).'/tcpdf_barcodes_2d_include.php'); + +// set the barcode content and type +$barcodeobj = new TCPDF2DBarcode('http://www.tcpdf.org', 'QRCODE,H'); + +// output the barcode as SVG inline code +echo $barcodeobj->getBarcodeSVGcode(6, 6, 'black'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/barcodes/tcpdf_barcodes_1d_include.php b/examples/barcodes/tcpdf_barcodes_1d_include.php new file mode 100644 index 0000000..a0bde57 --- /dev/null +++ b/examples/barcodes/tcpdf_barcodes_1d_include.php @@ -0,0 +1,37 @@ +. +// +// See LICENSE.TXT file for more information. +//============================================================+ + +/** + * Example of alternative configuration file for TCPDF. + * @author Nicola Asuni + * @package com.tecnick.tcpdf + * @version 4.9.005 + * @since 2004-10-27 + */ + +/** + * Define the following constant to ignore the default configuration file. + */ +define ('K_TCPDF_EXTERNAL_CONFIG', true); + +/** + * Installation path (/var/www/tcpdf/). + * By default it is automatically calculated but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_MAIN', ''); + +/** + * URL path to tcpdf installation folder (http://localhost/tcpdf/). + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_URL', ''); + +/** + * Path for PDF fonts. + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/'); + +/** + * Default images directory. + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +define ('K_PATH_IMAGES', dirname(__FILE__).'/../images/'); + +/** + * Deafult image logo used be the default Header() method. + * Please set here your own logo or an empty string to disable it. + */ +define ('PDF_HEADER_LOGO', 'tcpdf_logo.jpg'); + +/** + * Header logo image width in user units. + */ +define ('PDF_HEADER_LOGO_WIDTH', 30); + +/** + * Cache directory for temporary files (full path). + */ +define ('K_PATH_CACHE', sys_get_temp_dir().'/'); + +/** + * Generic name for a blank image. + */ +define ('K_BLANK_IMAGE', '_blank.png'); + +/** + * Page format. + */ +define ('PDF_PAGE_FORMAT', 'A4'); + +/** + * Page orientation (P=portrait, L=landscape). + */ +define ('PDF_PAGE_ORIENTATION', 'P'); + +/** + * Document creator. + */ +define ('PDF_CREATOR', 'TCPDF'); + +/** + * Document author. + */ +define ('PDF_AUTHOR', 'TCPDF'); + +/** + * Header title. + */ +define ('PDF_HEADER_TITLE', 'TCPDF Example'); + +/** + * Header description string. + */ +define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org"); + +/** + * Document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]. + */ +define ('PDF_UNIT', 'mm'); + +/** + * Header margin. + */ +define ('PDF_MARGIN_HEADER', 5); + +/** + * Footer margin. + */ +define ('PDF_MARGIN_FOOTER', 10); + +/** + * Top margin. + */ +define ('PDF_MARGIN_TOP', 27); + +/** + * Bottom margin. + */ +define ('PDF_MARGIN_BOTTOM', 25); + +/** + * Left margin. + */ +define ('PDF_MARGIN_LEFT', 15); + +/** + * Right margin. + */ +define ('PDF_MARGIN_RIGHT', 15); + +/** + * Default main font name. + */ +define ('PDF_FONT_NAME_MAIN', 'helvetica'); + +/** + * Default main font size. + */ +define ('PDF_FONT_SIZE_MAIN', 10); + +/** + * Default data font name. + */ +define ('PDF_FONT_NAME_DATA', 'helvetica'); + +/** + * Default data font size. + */ +define ('PDF_FONT_SIZE_DATA', 8); + +/** + * Default monospaced font name. + */ +define ('PDF_FONT_MONOSPACED', 'courier'); + +/** + * Ratio used to adjust the conversion of pixels to user units. + */ +define ('PDF_IMAGE_SCALE_RATIO', 1.25); + +/** + * Magnification factor for titles. + */ +define('HEAD_MAGNIFICATION', 1.1); + +/** + * Height of cell respect font height. + */ +define('K_CELL_HEIGHT_RATIO', 1.25); + +/** + * Title magnification respect main font size. + */ +define('K_TITLE_MAGNIFICATION', 1.3); + +/** + * Reduction factor for small font. + */ +define('K_SMALL_RATIO', 2/3); + +/** + * Set to true to enable the special procedure used to avoid the overlappind of symbols on Thai language. + */ +define('K_THAI_TOPCHARS', true); + +/** + * If true allows to call TCPDF methods using HTML syntax + * IMPORTANT: For security reason, disable this feature if you are printing user HTML content. + */ +define('K_TCPDF_CALLS_IN_HTML', true); + +/** + * If true and PHP version is greater than 5, then the Error() method throw new exception instead of terminating the execution. + */ +define('K_TCPDF_THROW_EXCEPTION_ERROR', false); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/data/cert/tcpdf.crt b/examples/data/cert/tcpdf.crt new file mode 100644 index 0000000..f049139 --- /dev/null +++ b/examples/data/cert/tcpdf.crt @@ -0,0 +1,40 @@ +Bag Attributes + localKeyID: 7B AB 1B 7A BE 4C 85 C0 1A A6 DC 59 3F 79 48 C3 93 38 68 9C +subject=/CN=TCPDF DEMO/O=TCPDF/OU=DEMO/emailAddress=you@example.com/C=IT +issuer=/CN=TCPDF DEMO/O=TCPDF/OU=DEMO/emailAddress=you@example.com/C=IT +-----BEGIN CERTIFICATE----- +MIIC1TCCAj6gAwIBAgIKkehOL/XGkB5cjjANBgkqhkiG9w0BAQUFADBhMRMwEQYD +VQQDEwpUQ1BERiBERU1PMQ4wDAYDVQQKEwVUQ1BERjENMAsGA1UECxMEREVNTzEe +MBwGCSqGSIb3DQEJARYPeW91QGV4YW1wbGUuY29tMQswCQYDVQQGEwJJVDAeFw0w +OTA4MjExMjU0NDhaFw0xNDA4MjExMjU0NDhaMGExEzARBgNVBAMTClRDUERGIERF +TU8xDjAMBgNVBAoTBVRDUERGMQ0wCwYDVQQLEwRERU1PMR4wHAYJKoZIhvcNAQkB +Fg95b3VAZXhhbXBsZS5jb20xCzAJBgNVBAYTAklUMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDAqIL0uGKmTR98Lxx2vEEE1OGKkMXFo0JViitALe7Onhxxqx0H +XMUDKF5mvEVu1rcvh7/oAnAfrCuEpL/up3u1mQCgBE7WXBnFFE/AE3jCksh9OkS0 +Z0Xj9woN5bzxRDsGoPiOu/4xzk5qSEXt8jf2Ep90QuNkqLIRT4swAzpDbwIDAQAB +o4GTMIGQMDcGA1UdEgQwMC6gEQYDVQQDDApUQ1BERiBERU1PoAwGA1UECgwFVENQ +REagCwYDVQQLDARERU1PMDcGA1UdEQQwMC6gEQYDVQQDDApUQ1BERiBERU1PoAwG +A1UECgwFVENQREagCwYDVQQLDARERU1PMA8GCSqGSIb3LwEBCgQCBQAwCwYDVR0P +BAQDAgSQMA0GCSqGSIb3DQEBBQUAA4GBAEhTQfqX3ZNdHmpTLDbIj22RHXii2roE +OavCbu9WsHoWpva0qSd+yIoD594VHvYAd29sfzDfiN+7W0aiZfDhq5jpaSQMVlN8 +RGYMupbHY/+a9Gz1wqxnR84mlTtIkZVRYAhsfPwy6M1BEjdMqfdh9h40JIdkdjtb +8faTCfXPePWQ +-----END CERTIFICATE----- +Bag Attributes + localKeyID: 7B AB 1B 7A BE 4C 85 C0 1A A6 DC 59 3F 79 48 C3 93 38 68 9C +Key Attributes: +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDAqIL0uGKmTR98Lxx2vEEE1OGKkMXFo0JViitALe7Onhxxqx0H +XMUDKF5mvEVu1rcvh7/oAnAfrCuEpL/up3u1mQCgBE7WXBnFFE/AE3jCksh9OkS0 +Z0Xj9woN5bzxRDsGoPiOu/4xzk5qSEXt8jf2Ep90QuNkqLIRT4swAzpDbwIDAQAB +AoGAXc+wNMmz/5Z+RlIKYia44klmqbplEx+0JULqXI4BQsrqvs67i+I4bJkznoL+ +rEIRYSuQ3sCRKFsFtckjTGpxadnxkB+uwGKc6pZChv99BFX6HFR4hgBlT/BBRAQA +hMDlM2JIRr4S4SMVXR7MHwGMUf9mUeanGLR3ZWtU3aXJrIECQQD7OaYUVYNEEnM9 +uXyjm22CuHyqyEf5gb13sK0uQty67547yJTMUQZd/sQc9KGwhzBbhrob2LO2jAhh +S+f+NSRnAkEAxFHm3fMI5RgXmswxlGm4QW07a/Ueo7ZJG6xjTkFXluJhd+XHswRD +dQIO3zG9nGjNUoeMrPhXhPvKqFc2F9RDuQJAQBEGin74N77gxqfr4ik79y8nE8J5 +oGZ2s/RJZdfFRKLg3mwbjjNHhWb4Ck5UgZkoOt8TzRApXG8/n9hktE5HFwJBALur +M5AueO1Pl5kB489lNJ9OxUQRYUXMxpxuscuoCQwSwmv0O2+0/qtG2WKhUQnI4aYo +L+FV0YwtivBb1jj3T/kCQQDIWOxq8eRowdaMzvJpRUHFgMcf1AVZExKyrugwYOWd +KNsDxC4KaQOsPt8iT/Ulo4g/MJC0HolCOhWibKmR9Ayl +-----END RSA PRIVATE KEY----- diff --git a/examples/data/cert/tcpdf.fdf b/examples/data/cert/tcpdf.fdf new file mode 100644 index 0000000..a8f7c35 Binary files /dev/null and b/examples/data/cert/tcpdf.fdf differ diff --git a/examples/data/cert/tcpdf.p12 b/examples/data/cert/tcpdf.p12 new file mode 100644 index 0000000..611f0df Binary files /dev/null and b/examples/data/cert/tcpdf.p12 differ diff --git a/examples/data/chapter_demo_1.txt b/examples/data/chapter_demo_1.txt new file mode 100644 index 0000000..4025de9 --- /dev/null +++ b/examples/data/chapter_demo_1.txt @@ -0,0 +1,19 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. + +Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa. + +Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu. + +Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra. + +Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. + +Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa. + +Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu. + +Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra. + +Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat. diff --git a/examples/data/chapter_demo_2.txt b/examples/data/chapter_demo_2.txt new file mode 100644 index 0000000..a0210ff --- /dev/null +++ b/examples/data/chapter_demo_2.txt @@ -0,0 +1,23 @@ +

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc.

+ + + +

Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.

+ +

Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu.

+ +

Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra.

+ +

Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat.

+ +

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc.

+ + + +

Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.

+ +

Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu.

+ +

Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra.

+ +

Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat.

diff --git a/examples/data/table_data_demo.txt b/examples/data/table_data_demo.txt new file mode 100644 index 0000000..5a48a42 --- /dev/null +++ b/examples/data/table_data_demo.txt @@ -0,0 +1,15 @@ +Austria;Vienna;83859;8075 +Belgium;Brussels;30518;10192 +Denmark;Copenhagen;43094;5295 +Finland;Helsinki;304529;5147 +France;Paris;543965;58728 +Germany;Berlin;357022;82057 +Greece;Athens;131625;10511 +Ireland;Dublin;70723;3694 +Italy;Roma;301316;57563 +Luxembourg;Luxembourg;2586;424 +Netherlands;Amsterdam;41526;15654 +Portugal;Lisbon;91906;9957 +Spain;Madrid;504790;39348 +Sweden;Stockholm;410934;8839 +United Kingdom;London;243820;58862 diff --git a/examples/data/utf8test.txt b/examples/data/utf8test.txt new file mode 100644 index 0000000..291d4e7 --- /dev/null +++ b/examples/data/utf8test.txt @@ -0,0 +1,128 @@ +Sentences that contain all letters commonly used in a language +-------------------------------------------------------------- + +This file is UTF-8 encoded. + +Czech (cz) +--------- + + Příšerně žluťoučký kůň úpěl ďábelské ódy. + Hleď, toť přízračný kůň v mátožné póze šíleně úpí. + Zvlášť zákeřný učeň s ďolíčky běží podél zóny úlů. + Loď čeří kýlem tůň obzvlášť v Grónské úžině. + Ó, náhlý déšť již zvířil prach a čilá laň teď běží s houfcem gazel k úkrytům. + +Danish (da) +--------- + + Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen + Wolther spillede på xylofon. + (= Quiz contestants were eating strawbery with cream while Wolther + the circus clown played on xylophone.) + +German (de) +----------- + + Falsches Üben von Xylophonmusik quält jeden größeren Zwerg + (= Wrongful practicing of xylophone music tortures every larger dwarf) + + Zwölf Boxkämpfer jagten Eva quer über den Sylter Deich + (= Twelve boxing fighters hunted Eva across the dike of Sylt) + + Heizölrückstoßabdämpfung + (= fuel oil recoil absorber) + (jqvwxy missing, but all non-ASCII letters in one word) + +English (en) +------------ + + The quick brown fox jumps over the lazy dog + +Spanish (es) +------------ + + El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y + frío, añoraba a su querido cachorro. + (Contains every letter and every accent, but not every combination + of vowel + acute.) + +French (fr) +----------- + + Portez ce vieux whisky au juge blond qui fume sur son île intérieure, à + côté de l'alcôve ovoïde, où les bûches se consument dans l'âtre, ce + qui lui permet de penser à la cænogenèse de l'être dont il est question + dans la cause ambiguë entendue à Moÿ, dans un capharnaüm qui, + pense-t-il, diminue çà et là la qualité de son œuvre. + + l'île exiguë + Où l'obèse jury mûr + Fête l'haï volapük, + Âne ex aéquo au whist, + Ôtez ce vœu déçu. + + Le cœur déçu mais l'âme plutôt naïve, Louÿs rêva de crapaüter en + canoë au delà des îles, près du mälström où brûlent les novæ. + +Irish Gaelic (ga) +----------------- + + D'fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh + +Hungarian (hu) +-------------- + + Árvíztűrő tükörfúrógép + (= flood-proof mirror-drilling machine, only all non-ASCII letters) + +Icelandic (is) +-------------- + + Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa + + Sævör grét áðan því úlpan var ónýt + (some ASCII letters missing) + +Greek (el) +------------- + + Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο + (= No more shall I see acacias or myrtles in the golden clearing) + + Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία + (= I uncover the soul-destroying abhorrence) + +Hebrew (iw) +----------- + + ? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה + +Polish (pl) +----------- + + Pchnąć w tę łódź jeża lub osiem skrzyń fig + (= To push a hedgehog or eight bins of figs in this boat) + + Zażółć gęślą jaźń + +Russian (ru) +------------ + + В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! + (= Would a citrus live in the bushes of south? Yes, but only a fake one!) + +Thai (th) +--------- + + [--------------------------|------------------------] + ๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน + จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร + ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย + ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ + + [The copyright for the Thai example is owned by The Computer + Association of Thailand under the Royal Patronage of His Majesty the + King.] + +Please let me know if you find others! Special thanks to the people +from all over the world who contributed these sentences. diff --git a/examples/example_001.php b/examples/example_001.php new file mode 100755 index 0000000..055c66a --- /dev/null +++ b/examples/example_001.php @@ -0,0 +1,106 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 001'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128)); +$pdf->setFooterData(array(0,64,0), array(0,64,128)); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set default font subsetting mode +$pdf->setFontSubsetting(true); + +// Set font +// dejavusans is a UTF-8 Unicode font, if you only need to +// print standard ASCII chars, you can use core fonts like +// helvetica or times to reduce file size. +$pdf->SetFont('dejavusans', '', 14, '', true); + +// Add a page +// This method has several options, check the source code documentation for more information. +$pdf->AddPage(); + +// set text shadow effect +$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal')); + +// Set some content to print +$html = <<Welcome to  TCPDF ! +This is the first example of TCPDF library. +

This text is printed using the writeHTMLCell() method but you can also use: Multicell(), writeHTML(), Write(), Cell() and Text().

+

Please check the source code documentation and other examples for further information.

+

TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!

+EOD; + +// Print text using writeHTMLCell() +$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); + +// --------------------------------------------------------- + +// Close and output PDF document +// This method has several options, check the source code documentation for more information. +$pdf->Output('example_001.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_002.php b/examples/example_002.php new file mode 100755 index 0000000..020dd29 --- /dev/null +++ b/examples/example_002.php @@ -0,0 +1,87 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 002'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// remove default header/footer +$pdf->setPrintHeader(false); +$pdf->setPrintFooter(false); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', 'BI', 20); + +// add a page +$pdf->AddPage(); + +// set some text to print +$txt = <<Write(0, $txt, '', 0, 'C', true, 0, false, false, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_002.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_003.php b/examples/example_003.php new file mode 100755 index 0000000..73a0e8c --- /dev/null +++ b/examples/example_003.php @@ -0,0 +1,118 @@ +Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false); + // Set font + $this->SetFont('helvetica', 'B', 20); + // Title + $this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M'); + } + + // Page footer + public function Footer() { + // Position at 15 mm from bottom + $this->SetY(-15); + // Set font + $this->SetFont('helvetica', 'I', 8); + // Page number + $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M'); + } +} + +// create new PDF document +$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 003'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', 'BI', 12); + +// add a page +$pdf->AddPage(); + +// set some text to print +$txt = <<Write(0, $txt, '', 0, 'C', true, 0, false, false, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_003.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_004.php b/examples/example_004.php new file mode 100755 index 0000000..88e08c1 --- /dev/null +++ b/examples/example_004.php @@ -0,0 +1,121 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 004'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 004', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 11); + +// add a page +$pdf->AddPage(); + +//Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M') + +// test Cell stretching +$pdf->Cell(0, 0, 'TEST CELL STRETCH: no stretch', 1, 1, 'C', 0, '', 0); +$pdf->Cell(0, 0, 'TEST CELL STRETCH: scaling', 1, 1, 'C', 0, '', 1); +$pdf->Cell(0, 0, 'TEST CELL STRETCH: force scaling', 1, 1, 'C', 0, '', 2); +$pdf->Cell(0, 0, 'TEST CELL STRETCH: spacing', 1, 1, 'C', 0, '', 3); +$pdf->Cell(0, 0, 'TEST CELL STRETCH: force spacing', 1, 1, 'C', 0, '', 4); + +$pdf->Ln(5); + +$pdf->Cell(45, 0, 'TEST CELL STRETCH: scaling', 1, 1, 'C', 0, '', 1); +$pdf->Cell(45, 0, 'TEST CELL STRETCH: force scaling', 1, 1, 'C', 0, '', 2); +$pdf->Cell(45, 0, 'TEST CELL STRETCH: spacing', 1, 1, 'C', 0, '', 3); +$pdf->Cell(45, 0, 'TEST CELL STRETCH: force spacing', 1, 1, 'C', 0, '', 4); + +$pdf->AddPage(); + +// example using general stretching and spacing + +for ($stretching = 90; $stretching <= 110; $stretching += 10) { + for ($spacing = -0.254; $spacing <= 0.254; $spacing += 0.254) { + + // set general stretching (scaling) value + $pdf->setFontStretching($stretching); + + // set general spacing value + $pdf->setFontSpacing($spacing); + + $pdf->Cell(0, 0, 'Stretching '.$stretching.'%, Spacing '.sprintf('%+.3F', $spacing).'mm, no stretch', 1, 1, 'C', 0, '', 0); + $pdf->Cell(0, 0, 'Stretching '.$stretching.'%, Spacing '.sprintf('%+.3F', $spacing).'mm, scaling', 1, 1, 'C', 0, '', 1); + $pdf->Cell(0, 0, 'Stretching '.$stretching.'%, Spacing '.sprintf('%+.3F', $spacing).'mm, force scaling', 1, 1, 'C', 0, '', 2); + $pdf->Cell(0, 0, 'Stretching '.$stretching.'%, Spacing '.sprintf('%+.3F', $spacing).'mm, spacing', 1, 1, 'C', 0, '', 3); + $pdf->Cell(0, 0, 'Stretching '.$stretching.'%, Spacing '.sprintf('%+.3F', $spacing).'mm, force spacing', 1, 1, 'C', 0, '', 4); + + $pdf->Ln(2); + } +} + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_004.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_005.php b/examples/example_005.php new file mode 100755 index 0000000..5a592d1 --- /dev/null +++ b/examples/example_005.php @@ -0,0 +1,158 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 005'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 005', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 10); + +// add a page +$pdf->AddPage(); + +// set cell padding +$pdf->setCellPaddings(1, 1, 1, 1); + +// set cell margins +$pdf->setCellMargins(1, 1, 1, 1); + +// set color for background +$pdf->SetFillColor(255, 255, 127); + +// MultiCell($w, $h, $txt, $border=0, $align='J', $fill=0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0) + +// set some text for example +$txt = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'; + +// Multicell test +$pdf->MultiCell(55, 5, '[LEFT] '.$txt, 1, 'L', 1, 0, '', '', true); +$pdf->MultiCell(55, 5, '[RIGHT] '.$txt, 1, 'R', 0, 1, '', '', true); +$pdf->MultiCell(55, 5, '[CENTER] '.$txt, 1, 'C', 0, 0, '', '', true); +$pdf->MultiCell(55, 5, '[JUSTIFY] '.$txt."\n", 1, 'J', 1, 2, '' ,'', true); +$pdf->MultiCell(55, 5, '[DEFAULT] '.$txt, 1, '', 0, 1, '', '', true); + +$pdf->Ln(4); + +// set color for background +$pdf->SetFillColor(220, 255, 220); + +// Vertical alignment +$pdf->MultiCell(55, 40, '[VERTICAL ALIGNMENT - TOP] '.$txt, 1, 'J', 1, 0, '', '', true, 0, false, true, 40, 'T'); +$pdf->MultiCell(55, 40, '[VERTICAL ALIGNMENT - MIDDLE] '.$txt, 1, 'J', 1, 0, '', '', true, 0, false, true, 40, 'M'); +$pdf->MultiCell(55, 40, '[VERTICAL ALIGNMENT - BOTTOM] '.$txt, 1, 'J', 1, 1, '', '', true, 0, false, true, 40, 'B'); + +$pdf->Ln(4); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// set color for background +$pdf->SetFillColor(215, 235, 255); + +// set some text for example +$txt = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. + +Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.'; + +// print a blox of text using multicell() +$pdf->MultiCell(80, 5, $txt."\n", 1, 'J', 1, 1, '' ,'', true); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// AUTO-FITTING + +// set color for background +$pdf->SetFillColor(255, 235, 235); + +// Fit text on cell by reducing font size +$pdf->MultiCell(55, 60, '[FIT CELL] '.$txt."\n", 1, 'J', 1, 1, 125, 145, true, 0, false, true, 60, 'M', true); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// CUSTOM PADDING + +// set color for background +$pdf->SetFillColor(255, 255, 215); + +// set font +$pdf->SetFont('helvetica', '', 8); + +// set cell padding +$pdf->setCellPaddings(2, 4, 6, 8); + +$txt = "CUSTOM PADDING:\nLeft=2, Top=4, Right=6, Bottom=8\nLorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue.\n"; + +$pdf->MultiCell(55, 5, $txt, 1, 'J', 1, 2, 125, 210, true); + +// move pointer to last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_005.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_006.php b/examples/example_006.php new file mode 100755 index 0000000..481f70e --- /dev/null +++ b/examples/example_006.php @@ -0,0 +1,330 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 006'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 006', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('dejavusans', '', 10); + +// add a page +$pdf->AddPage(); + +// writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='') +// writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true) + +// create some HTML content +$html = '

HTML Example

+Some special characters: < € € € & è è © > \\slash \\\\double-slash \\\\\\triple-slash +

List

+List example: +
    +
  1. test alt attribute test image
  2. +
  3. bold text
  4. +
  5. italic text
  6. +
  7. underlined text
  8. +
  9. bbibiubib
  10. +
  11. link to http://www.tecnick.com
  12. +
  13. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
    Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
  14. +
  15. SUBLIST +
      +
    1. row one +
        +
      • sublist
      • +
      +
    2. +
    3. row two
    4. +
    +
  16. +
  17. TEST line through
  18. +
  19. font + 3
  20. +
  21. small text normal small text normal subscript normal superscript normal
  22. +
+
+
Coffee
+
Black hot drink
+
Milk
+
White cold drink
+
+
IMAGES
+test alt attributetest alt attributetest alt attribute +
'; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + + +// output some RTL HTML content +$html = '
The words “מזל [mazel] טוב [tov]” mean “Congratulations!”
'; +$pdf->writeHTML($html, true, false, true, false, ''); + +// test some inline CSS +$html = '

This is just an example of html code to demonstrate some supported CSS inline styles. +bold text +line-trough +underline and line-trough +color +background color +bold +xx-small +x-small +small +medium +large +x-large +xx-large +

'; + +$pdf->writeHTML($html, true, false, true, false, ''); + +// reset pointer to the last page +$pdf->lastPage(); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Print a table + +// add a page +$pdf->AddPage(); + +// create some HTML content +$subtable = '
ab
cd
'; + +$html = '

HTML TABLE:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#RIGHT alignLEFT align4A
1A1 example link column span. One two tree four five six seven eight nine ten.
line after br
small text normal subscript normal superscript normal bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
  1. first
    1. sublist
    2. sublist
  2. second
small small small small small small small small small small small small small small small small small small small small
4B
'.$subtable.'A2 € € € & è è
A2 € € € & è è
Red Yellow BG4C
1A2AA
2AB
2AC
4D
1B4E
1C2C3C4F
'; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// Print some HTML Cells + +$html = 'red green blue
red green blue'; + +$pdf->SetFillColor(255,255,0); + +$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 0, true, 'L', true); +$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 1, true, 'C', true); +$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 0, true, 'R', true); + +// reset pointer to the last page +$pdf->lastPage(); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Print a table + +// add a page +$pdf->AddPage(); + +// create some HTML content +$html = '

Image alignments on HTML table

+ + + + + + + + +
'; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// reset pointer to the last page +$pdf->lastPage(); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// Print all HTML colors + +// add a page +$pdf->AddPage(); + +$textcolors = '

HTML Text Colors

'; +$bgcolors = '

HTML Background Colors

'; + +foreach(TCPDF_COLORS::$webcolor as $k => $v) { + $textcolors .= ''.$v.' '; + $bgcolors .= ''.$v.' '; +} + +// output the HTML content +$pdf->writeHTML($textcolors, true, false, true, false, ''); +$pdf->writeHTML($bgcolors, true, false, true, false, ''); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// Test word-wrap + +// create some HTML content +$html = '
+

Various tests

+link to page 2
+thisisaverylongword thisisanotherverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword thisisanotherverylongword thisisaverylongword'; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// Test fonts nesting +$html1 = 'Default Courier Helvetica Times dejavusans Times Helvetica Courier Default'; +$html2 = 'small text normal small text normal subscript normal superscript normal'; +$html3 = 'The quick brown fox jumps over the lazy dog.'; + +$html = $html1.'
'.$html2.'
'.$html3.'
'.$html3.'
'.$html2; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// test pre tag + +// add a page +$pdf->AddPage(); + +$html = << +Hello World!
+Hello + +
+int main() {
+    printf("HelloWorld");
+    return 0;
+}
+
+Monospace font, normal font, monospace font, normal font. +
+
DIV LEVEL 1
DIV LEVEL 2
DIV LEVEL 1
+
+SPAN LEVEL 1 SPAN LEVEL 2 SPAN LEVEL 1 +EOF; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// test custom bullet points for list + +// add a page +$pdf->AddPage(); + +$html = <<Test custom bullet image for list items +
    +
  • test custom bullet image
  • +
  • test custom bullet image
  • +
  • test custom bullet image
  • +
  • test custom bullet image
  • +
      +EOF; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_006.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_007.php b/examples/example_007.php new file mode 100755 index 0000000..97ebecb --- /dev/null +++ b/examples/example_007.php @@ -0,0 +1,113 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 007'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 007', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 12); + +// add a page +$pdf->AddPage(); + +// create columns content +$left_column = 'LEFT COLUMN left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column'; + +$right_column = 'RIGHT COLUMN right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column'; + +// writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true) + +// get current vertical position +$y = $pdf->getY(); + +// set color for background +$pdf->SetFillColor(255, 255, 200); + +// set color for text +$pdf->SetTextColor(0, 63, 127); + +// write the first column +$pdf->writeHTMLCell(80, '', '', $y, $left_column, 1, 0, 1, true, 'J', true); + +// set color for background +$pdf->SetFillColor(215, 235, 255); + +// set color for text +$pdf->SetTextColor(127, 31, 0); + +// write the second column +$pdf->writeHTMLCell(80, '', '', '', $right_column, 1, 1, 1, true, 'J', true); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_007.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_008.php b/examples/example_008.php new file mode 100755 index 0000000..4349c38 --- /dev/null +++ b/examples/example_008.php @@ -0,0 +1,97 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 008'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 008', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set default font subsetting mode +$pdf->setFontSubsetting(true); + +// set font +$pdf->SetFont('freeserif', '', 12); + +// add a page +$pdf->AddPage(); + +// get esternal file content +$utf8text = file_get_contents('data/utf8test.txt', false); + +// set color for text +$pdf->SetTextColor(0, 63, 127); + +//Write($h, $txt, $link='', $fill=0, $align='', $ln=false, $stretch=0, $firstline=false, $firstblock=false, $maxh=0) + +// write the text +$pdf->Write(5, $utf8text, '', 0, '', false, 0, false, false, 0); + + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_008.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_009.php b/examples/example_009.php new file mode 100755 index 0000000..235dd72 --- /dev/null +++ b/examples/example_009.php @@ -0,0 +1,146 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 009'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 009', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// ------------------------------------------------------------------- + +// add a page +$pdf->AddPage(); + +// set JPEG quality +$pdf->setJPEGQuality(75); + +// Image method signature: +// Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='', $ismask=false, $imgmask=false, $border=0, $fitbox=false, $hidden=false, $fitonpage=false) + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// Example of Image from data stream ('PHP rules') +$imgdata = base64_decode('iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABlBMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDrEX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='); + +// The '@' character is used to indicate that follows an image data stream and not an image file name +$pdf->Image('@'.$imgdata); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// Image example with resizing +$pdf->Image('images/image_demo.jpg', 15, 140, 75, 113, 'JPG', 'http://www.tcpdf.org', '', true, 150, '', false, false, 1, false, false, false); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// test fitbox with all alignment combinations + +$horizontal_alignments = array('L', 'C', 'R'); +$vertical_alignments = array('T', 'M', 'B'); + +$x = 15; +$y = 35; +$w = 30; +$h = 30; +// test all combinations of alignments +for ($i = 0; $i < 3; ++$i) { + $fitbox = $horizontal_alignments[$i].' '; + $x = 15; + for ($j = 0; $j < 3; ++$j) { + $fitbox[1] = $vertical_alignments[$j]; + $pdf->Rect($x, $y, $w, $h, 'F', array(), array(128,255,128)); + $pdf->Image('images/image_demo.jpg', $x, $y, $w, $h, 'JPG', '', '', false, 300, '', false, false, 0, $fitbox, false, false); + $x += 32; // new column + } + $y += 32; // new row +} + +$x = 115; +$y = 35; +$w = 25; +$h = 50; +for ($i = 0; $i < 3; ++$i) { + $fitbox = $horizontal_alignments[$i].' '; + $x = 115; + for ($j = 0; $j < 3; ++$j) { + $fitbox[1] = $vertical_alignments[$j]; + $pdf->Rect($x, $y, $w, $h, 'F', array(), array(128,255,255)); + $pdf->Image('images/image_demo.jpg', $x, $y, $w, $h, 'JPG', '', '', false, 300, '', false, false, 0, $fitbox, false, false); + $x += 27; // new column + } + $y += 52; // new row +} + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// Stretching, position and alignment example + +$pdf->SetXY(110, 200); +$pdf->Image('images/image_demo.jpg', '', '', 40, 40, '', '', 'T', false, 300, '', false, false, 1, false, false, false); +$pdf->Image('images/image_demo.jpg', '', '', 40, 40, '', '', '', false, 300, '', false, false, 1, false, false, false); + +// ------------------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_009.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_010.php b/examples/example_010.php new file mode 100755 index 0000000..5b980b0 --- /dev/null +++ b/examples/example_010.php @@ -0,0 +1,150 @@ +AddPage(); + // disable existing columns + $this->resetColumns(); + // print chapter title + $this->ChapterTitle($num, $title); + // set columns + $this->setEqualColumns(3, 57); + // print chapter body + $this->ChapterBody($file, $mode); + } + + /** + * Set chapter title + * @param $num (int) chapter number + * @param $title (string) chapter title + * @public + */ + public function ChapterTitle($num, $title) { + $this->SetFont('helvetica', '', 14); + $this->SetFillColor(200, 220, 255); + $this->Cell(180, 6, 'Chapter '.$num.' : '.$title, 0, 1, '', 1); + $this->Ln(4); + } + + /** + * Print chapter body + * @param $file (string) name of the file containing the chapter body + * @param $mode (boolean) if true the chapter body is in HTML, otherwise in simple text. + * @public + */ + public function ChapterBody($file, $mode=false) { + $this->selectColumn(); + // get esternal file content + $content = file_get_contents($file, false); + // set font + $this->SetFont('times', '', 9); + $this->SetTextColor(50, 50, 50); + // print content + if ($mode) { + // ------ HTML MODE ------ + $this->writeHTML($content, true, false, true, false, 'J'); + } else { + // ------ TEXT MODE ------ + $this->Write(0, $content, '', 0, 'J', true, 0, false, true, 0); + } + $this->Ln(); + } +} // end of extended class + +// --------------------------------------------------------- +// EXAMPLE +// --------------------------------------------------------- +// create new PDF document +$pdf = new MC_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 010'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 010', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// print TEXT +$pdf->PrintChapter(1, 'LOREM IPSUM [TEXT]', 'data/chapter_demo_1.txt', false); + +// print HTML +$pdf->PrintChapter(2, 'LOREM IPSUM [HTML]', 'data/chapter_demo_2.txt', true); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_010.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_011.php b/examples/example_011.php new file mode 100755 index 0000000..623ba3b --- /dev/null +++ b/examples/example_011.php @@ -0,0 +1,138 @@ +SetFillColor(255, 0, 0); + $this->SetTextColor(255); + $this->SetDrawColor(128, 0, 0); + $this->SetLineWidth(0.3); + $this->SetFont('', 'B'); + // Header + $w = array(40, 35, 40, 45); + $num_headers = count($header); + for($i = 0; $i < $num_headers; ++$i) { + $this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1); + } + $this->Ln(); + // Color and font restoration + $this->SetFillColor(224, 235, 255); + $this->SetTextColor(0); + $this->SetFont(''); + // Data + $fill = 0; + foreach($data as $row) { + $this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill); + $this->Cell($w[1], 6, $row[1], 'LR', 0, 'L', $fill); + $this->Cell($w[2], 6, number_format($row[2]), 'LR', 0, 'R', $fill); + $this->Cell($w[3], 6, number_format($row[3]), 'LR', 0, 'R', $fill); + $this->Ln(); + $fill=!$fill; + } + $this->Cell(array_sum($w), 0, '', 'T'); + } +} + +// create new PDF document +$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 011'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 011', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 12); + +// add a page +$pdf->AddPage(); + +// column titles +$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)'); + +// data loading +$data = $pdf->LoadData('data/table_data_demo.txt'); + +// print colored table +$pdf->ColoredTable($header, $data); + +// --------------------------------------------------------- + +// close and output PDF document +$pdf->Output('example_011.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_012.pdf b/examples/example_012.pdf new file mode 100644 index 0000000..eec8ee0 Binary files /dev/null and b/examples/example_012.pdf differ diff --git a/examples/example_012.php b/examples/example_012.php new file mode 100755 index 0000000..aaa196b --- /dev/null +++ b/examples/example_012.php @@ -0,0 +1,205 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 012'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// disable header and footer +$pdf->setPrintHeader(false); +$pdf->setPrintFooter(false); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 10); + +// add a page +$pdf->AddPage(); + +$style = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => '10,20,5,10', 'phase' => 10, 'color' => array(255, 0, 0)); +$style2 = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0)); +$style3 = array('width' => 1, 'cap' => 'round', 'join' => 'round', 'dash' => '2,10', 'color' => array(255, 0, 0)); +$style4 = array('L' => 0, + 'T' => array('width' => 0.25, 'cap' => 'butt', 'join' => 'miter', 'dash' => '20,10', 'phase' => 10, 'color' => array(100, 100, 255)), + 'R' => array('width' => 0.50, 'cap' => 'round', 'join' => 'miter', 'dash' => 0, 'color' => array(50, 50, 127)), + 'B' => array('width' => 0.75, 'cap' => 'square', 'join' => 'miter', 'dash' => '30,10,5,10')); +$style5 = array('width' => 0.25, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 64, 128)); +$style6 = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => '10,10', 'color' => array(0, 128, 0)); +$style7 = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 128, 0)); + +// Line +$pdf->Text(5, 4, 'Line examples'); +$pdf->Line(5, 10, 80, 30, $style); +$pdf->Line(5, 10, 5, 30, $style2); +$pdf->Line(5, 10, 80, 10, $style3); + +// Rect +$pdf->Text(100, 4, 'Rectangle examples'); +$pdf->Rect(100, 10, 40, 20, 'DF', $style4, array(220, 220, 200)); +$pdf->Rect(145, 10, 40, 20, 'D', array('all' => $style3)); + +// Curve +$pdf->Text(5, 34, 'Curve examples'); +$pdf->Curve(5, 40, 30, 55, 70, 45, 60, 75, null, $style6); +$pdf->Curve(80, 40, 70, 75, 150, 45, 100, 75, 'F', $style6); +$pdf->Curve(140, 40, 150, 55, 180, 45, 200, 75, 'DF', $style6, array(200, 220, 200)); + +// Circle and ellipse +$pdf->Text(5, 79, 'Circle and ellipse examples'); +$pdf->SetLineStyle($style5); +$pdf->Circle(25,105,20); +$pdf->Circle(25,105,10, 90, 180, null, $style6); +$pdf->Circle(25,105,10, 270, 360, 'F'); +$pdf->Circle(25,105,10, 270, 360, 'C', $style6); + +$pdf->SetLineStyle($style5); +$pdf->Ellipse(100,103,40,20); +$pdf->Ellipse(100,105,20,10, 0, 90, 180, null, $style6); +$pdf->Ellipse(100,105,20,10, 0, 270, 360, 'DF', $style6); + +$pdf->SetLineStyle($style5); +$pdf->Ellipse(175,103,30,15,45); +$pdf->Ellipse(175,105,15,7.50, 45, 90, 180, null, $style6); +$pdf->Ellipse(175,105,15,7.50, 45, 270, 360, 'F', $style6, array(220, 200, 200)); + +// Polygon +$pdf->Text(5, 129, 'Polygon examples'); +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))); +$pdf->Polygon(array(5,135,45,135,15,165)); +$pdf->Polygon(array(60,135,80,135,80,155,70,165,50,155), 'DF', array($style6, $style7, $style7, 0, $style6), array(220, 200, 200)); +$pdf->Polygon(array(120,135,140,135,150,155,110,155), 'D', array($style6, 0, $style7, $style6)); +$pdf->Polygon(array(160,135,190,155,170,155,200,160,160,165), 'DF', array('all' => $style6), array(220, 220, 220)); + +// Polygonal Line +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 164))); +$pdf->PolyLine(array(80,165,90,160,100,165,110,160,120,165,130,160,140,165), 'D', array(), array()); + +// Regular polygon +$pdf->Text(5, 169, 'Regular polygon examples'); +$pdf->SetLineStyle($style5); +$pdf->RegularPolygon(20, 190, 15, 6, 0, 1, 'F'); +$pdf->RegularPolygon(55, 190, 15, 6); +$pdf->RegularPolygon(55, 190, 10, 6, 45, 0, 'DF', array($style6, 0, $style7, 0, $style7, $style7)); +$pdf->RegularPolygon(90, 190, 15, 3, 0, 1, 'DF', array('all' => $style5), array(200, 220, 200), 'F', array(255, 200, 200)); +$pdf->RegularPolygon(125, 190, 15, 4, 30, 1, null, array('all' => $style5), null, null, $style6); +$pdf->RegularPolygon(160, 190, 15, 10); + +// Star polygon +$pdf->Text(5, 209, 'Star polygon examples'); +$pdf->SetLineStyle($style5); +$pdf->StarPolygon(20, 230, 15, 20, 3, 0, 1, 'F'); +$pdf->StarPolygon(55, 230, 15, 12, 5); +$pdf->StarPolygon(55, 230, 7, 12, 5, 45, 0, 'DF', array('all' => $style7), array(220, 220, 200), 'F', array(255, 200, 200)); +$pdf->StarPolygon(90, 230, 15, 20, 6, 0, 1, 'DF', array('all' => $style5), array(220, 220, 200), 'F', array(255, 200, 200)); +$pdf->StarPolygon(125, 230, 15, 5, 2, 30, 1, null, array('all' => $style5), null, null, $style6); +$pdf->StarPolygon(160, 230, 15, 10, 3); +$pdf->StarPolygon(160, 230, 7, 50, 26); + +// Rounded rectangle +$pdf->Text(5, 249, 'Rounded rectangle examples'); +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))); +$pdf->RoundedRect(5, 255, 40, 30, 3.50, '1111', 'DF'); +$pdf->RoundedRect(50, 255, 40, 30, 6.50, '1000'); +$pdf->RoundedRect(95, 255, 40, 30, 10.0, '1111', null, $style6); +$pdf->RoundedRect(140, 255, 40, 30, 8.0, '0101', 'DF', $style6, array(200, 200, 200)); + +// Arrows +$pdf->Text(185, 249, 'Arrows'); +$pdf->SetLineStyle($style5); +$pdf->SetFillColor(255, 0, 0); +$pdf->Arrow(200, 280, 185, 266, 0, 5, 15); +$pdf->Arrow(200, 280, 190, 263, 1, 5, 15); +$pdf->Arrow(200, 280, 195, 261, 2, 5, 15); +$pdf->Arrow(200, 280, 200, 260, 3, 5, 15); + +// - . - . - . - . - . - . - . - . - . - . - . - . - . - . - + +// ellipse + +// add a page +$pdf->AddPage(); + +$pdf->Cell(0, 0, 'Arc of Ellipse'); + +// center of ellipse +$xc=100; +$yc=100; + +// X Y axis +$pdf->SetDrawColor(200, 200, 200); +$pdf->Line($xc-50, $yc, $xc+50, $yc); +$pdf->Line($xc, $yc-50, $xc, $yc+50); + +// ellipse axis +$pdf->SetDrawColor(200, 220, 255); +$pdf->Line($xc-50, $yc-50, $xc+50, $yc+50); +$pdf->Line($xc-50, $yc+50, $xc+50, $yc-50); + +// ellipse +$pdf->SetDrawColor(200, 255, 200); +$pdf->Ellipse($xc, $yc, 30, 15, 45, 0, 360, 'D', array(), array(), 2); + +// ellipse arc +$pdf->SetDrawColor(255, 0, 0); +$pdf->Ellipse($xc, $yc, 30, 15, 45, 45, 90, 'D', array(), array(), 2); + + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_012.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_013.php b/examples/example_013.php new file mode 100755 index 0000000..a472760 --- /dev/null +++ b/examples/example_013.php @@ -0,0 +1,229 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 013'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 013', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Graphic Transformations', '', 0, 'C', 1, 0, false, false, 0); + +// set font +$pdf->SetFont('helvetica', '', 10); + +// --- Scaling --------------------------------------------- +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(50, 70, 40, 10, 'D'); +$pdf->Text(50, 66, 'Scale'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// Scale by 150% centered by (50,80) which is the lower left corner of the rectangle +$pdf->ScaleXY(150, 50, 80); +$pdf->Rect(50, 70, 40, 10, 'D'); +$pdf->Text(50, 66, 'Scale'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Translation ----------------------------------------- +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(125, 70, 40, 10, 'D'); +$pdf->Text(125, 66, 'Translate'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// Translate 7 to the right, 5 to the bottom +$pdf->Translate(7, 5); +$pdf->Rect(125, 70, 40, 10, 'D'); +$pdf->Text(125, 66, 'Translate'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Rotation -------------------------------------------- +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(70, 100, 40, 10, 'D'); +$pdf->Text(70, 96, 'Rotate'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// Rotate 20 degrees counter-clockwise centered by (70,110) which is the lower left corner of the rectangle +$pdf->Rotate(20, 70, 110); +$pdf->Rect(70, 100, 40, 10, 'D'); +$pdf->Text(70, 96, 'Rotate'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Skewing --------------------------------------------- +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(125, 100, 40, 10, 'D'); +$pdf->Text(125, 96, 'Skew'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// skew 30 degrees along the x-axis centered by (125,110) which is the lower left corner of the rectangle +$pdf->SkewX(30, 125, 110); +$pdf->Rect(125, 100, 40, 10, 'D'); +$pdf->Text(125, 96, 'Skew'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Mirroring horizontally ------------------------------ +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(70, 130, 40, 10, 'D'); +$pdf->Text(70, 126, 'MirrorH'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// mirror horizontally with axis of reflection at x-position 70 (left side of the rectangle) +$pdf->MirrorH(70); +$pdf->Rect(70, 130, 40, 10, 'D'); +$pdf->Text(70, 126, 'MirrorH'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Mirroring vertically -------------------------------- +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(125, 130, 40, 10, 'D'); +$pdf->Text(125, 126, 'MirrorV'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// mirror vertically with axis of reflection at y-position 140 (bottom side of the rectangle) +$pdf->MirrorV(140); +$pdf->Rect(125, 130, 40, 10, 'D'); +$pdf->Text(125, 126, 'MirrorV'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Point reflection ------------------------------------ +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(70, 160, 40, 10, 'D'); +$pdf->Text(70, 156, 'MirrorP'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +// Start Transformation +$pdf->StartTransform(); +// point reflection at the lower left point of rectangle +$pdf->MirrorP(70,170); +$pdf->Rect(70, 160, 40, 10, 'D'); +$pdf->Text(70, 156, 'MirrorP'); +// Stop Transformation +$pdf->StopTransform(); + +// --- Mirroring against a straigth line described by a point (120, 120) and an angle -20° +$angle=-20; +$px=120; +$py=170; + +// just for visualisation: the straight line to mirror against + +$pdf->SetDrawColor(200); +$pdf->Line($px-1,$py-1,$px+1,$py+1); +$pdf->Line($px-1,$py+1,$px+1,$py-1); +$pdf->StartTransform(); +$pdf->Rotate($angle, $px, $py); +$pdf->Line($px-5, $py, $px+60, $py); +$pdf->StopTransform(); + +$pdf->SetDrawColor(200); +$pdf->SetTextColor(200); +$pdf->Rect(125, 160, 40, 10, 'D'); +$pdf->Text(125, 156, 'MirrorL'); +$pdf->SetDrawColor(0); +$pdf->SetTextColor(0); +//Start Transformation +$pdf->StartTransform(); +//mirror against the straight line +$pdf->MirrorL($angle, $px, $py); +$pdf->Rect(125, 160, 40, 10, 'D'); +$pdf->Text(125, 156, 'MirrorL'); +//Stop Transformation +$pdf->StopTransform(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_013.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_014.php b/examples/example_014.php new file mode 100755 index 0000000..27e4efc --- /dev/null +++ b/examples/example_014.php @@ -0,0 +1,194 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 014'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 014', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// IMPORTANT: disable font subsetting to allow users editing the document +$pdf->setFontSubsetting(false); + +// set font +$pdf->SetFont('helvetica', '', 10, '', false); + +// add a page +$pdf->AddPage(); + +/* +It is possible to create text fields, combo boxes, check boxes and buttons. +Fields are created at the current position and are given a name. +This name allows to manipulate them via JavaScript in order to perform some validation for instance. +*/ + +// set default form properties +$pdf->setFormDefaultProp(array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 200), 'strokeColor'=>array(255, 128, 128))); + +$pdf->SetFont('helvetica', 'BI', 18); +$pdf->Cell(0, 5, 'Example of Form', 0, 1, 'C'); +$pdf->Ln(10); + +$pdf->SetFont('helvetica', '', 12); + +// First name +$pdf->Cell(35, 5, 'First name:'); +$pdf->TextField('firstname', 50, 5); +$pdf->Ln(6); + +// Last name +$pdf->Cell(35, 5, 'Last name:'); +$pdf->TextField('lastname', 50, 5); +$pdf->Ln(6); + +// Gender +$pdf->Cell(35, 5, 'Gender:'); +$pdf->ComboBox('gender', 30, 5, array(array('', '-'), array('M', 'Male'), array('F', 'Female'))); +$pdf->Ln(6); + +// Drink +$pdf->Cell(35, 5, 'Drink:'); +//$pdf->RadioButton('drink', 5, array('readonly' => 'true'), array(), 'Water'); +$pdf->RadioButton('drink', 5, array(), array(), 'Water'); +$pdf->Cell(35, 5, 'Water'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Beer', true); +$pdf->Cell(35, 5, 'Beer'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Wine'); +$pdf->Cell(35, 5, 'Wine'); +$pdf->Ln(6); +$pdf->Cell(35, 5, ''); +$pdf->RadioButton('drink', 5, array(), array(), 'Milk'); +$pdf->Cell(35, 5, 'Milk'); +$pdf->Ln(10); + +// Newsletter +$pdf->Cell(35, 5, 'Newsletter:'); +$pdf->CheckBox('newsletter', 5, true, array(), array(), 'OK'); + +$pdf->Ln(10); +// Address +$pdf->Cell(35, 5, 'Address:'); +$pdf->TextField('address', 60, 18, array('multiline'=>true, 'lineWidth'=>0, 'borderStyle'=>'none'), array('v'=>'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'dv'=>'Lorem ipsum dolor sit amet, consectetur adipiscing elit.')); +$pdf->Ln(19); + +// Listbox +$pdf->Cell(35, 5, 'List:'); +$pdf->ListBox('listbox', 60, 15, array('', 'item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7'), array('multipleSelection'=>'true')); +$pdf->Ln(20); + +// E-mail +$pdf->Cell(35, 5, 'E-mail:'); +$pdf->TextField('email', 50, 5); +$pdf->Ln(6); + +// Date of the day +$pdf->Cell(35, 5, 'Date:'); +$pdf->TextField('date', 30, 5, array(), array('v'=>date('Y-m-d'), 'dv'=>date('Y-m-d'))); +$pdf->Ln(10); + +$pdf->SetX(50); + +// Button to validate and print +$pdf->Button('print', 30, 10, 'Print', 'Print()', array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Reset Button +$pdf->Button('reset', 30, 10, 'Reset', array('S'=>'ResetForm'), array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Submit Button +$pdf->Button('submit', 30, 10, 'Submit', array('S'=>'SubmitForm', 'F'=>'http://localhost/printvars.php', 'Flags'=>array('ExportFormat')), array('lineWidth'=>2, 'borderStyle'=>'beveled', 'fillColor'=>array(128, 196, 255), 'strokeColor'=>array(64, 64, 64))); + +// Form validation functions +$js = <<IncludeJS($js); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_014.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_015.php b/examples/example_015.php new file mode 100755 index 0000000..4cc03ca --- /dev/null +++ b/examples/example_015.php @@ -0,0 +1,161 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 015'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 015', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// Bookmark($txt, $level=0, $y=-1, $page='', $style='', $color=array(0,0,0)) + +// set font +$pdf->SetFont('times', 'B', 20); + +// add a page +$pdf->AddPage(); + +// set a bookmark for the current position +$pdf->Bookmark('Chapter 1', 0, 0, '', 'B', array(0,64,128)); + +// print a line using Cell() +$pdf->Cell(0, 10, 'Chapter 1', 0, 1, 'L'); + +$pdf->SetFont('times', 'I', 14); +$pdf->Write(0, 'You can set PDF Bookmarks using the Bookmark() method. +You can set PDF Named Destinations using the setDestination() method.'); + +$pdf->SetFont('times', 'B', 20); + +// add other pages and bookmarks + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.1', 1, 0, '', '', array(0,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.2', 1, 0, '', '', array(0,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.2', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Sub-Paragraph 1.2.1', 2, 0, '', 'I', array(0,0,0)); +$pdf->Cell(0, 10, 'Sub-Paragraph 1.2.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.3', 1, 0, '', '', array(0,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.3', 0, 1, 'L'); + +$pdf->AddPage(); +// add a named destination so you can open this document at this page using the link: "example_015.pdf#chapter2" +$pdf->setDestination('chapter2', 0, ''); +// add a bookmark that points to a named destination +$pdf->Bookmark('Chapter 2', 0, 0, '', 'BI', array(128,0,0), -1, '#chapter2'); +$pdf->Cell(0, 10, 'Chapter 2', 0, 1, 'L'); +$pdf->SetFont('times', 'I', 14); +$pdf->Write(0, 'Once saved, you can open this document at this page using the link: "example_015.pdf#chapter2".'); + +$pdf->AddPage(); +$pdf->setDestination('chapter3', 0, ''); +$pdf->SetFont('times', 'B', 20); +$pdf->Bookmark('Chapter 3', 0, 0, '', 'B', array(0,64,128)); +$pdf->Cell(0, 10, 'Chapter 3', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->setDestination('chapter4', 0, ''); +$pdf->SetFont('times', 'B', 20); +$pdf->Bookmark('Chapter 4', 0, 0, '', 'B', array(0,64,128)); +$pdf->Cell(0, 10, 'Chapter 4', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Chapter 5', 0, 0, '', 'B', array(0,128,0)); +$pdf->Cell(0, 10, 'Chapter 5', 0, 1, 'L'); +$txt = 'Example of File Attachment. +Double click on the icon to open the attached file.'; +$pdf->SetFont('helvetica', '', 10); +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// attach an external file TXT file +$pdf->Annotation(20, 50, 5, 5, 'TXT file', array('Subtype'=>'FileAttachment', 'Name' => 'PushPin', 'FS' => 'data/utf8test.txt')); + +// attach an external file +$pdf->Annotation(50, 50, 5, 5, 'PDF file', array('Subtype'=>'FileAttachment', 'Name' => 'PushPin', 'FS' => 'example_012.pdf')); + +// add a bookmark that points to an embedded file +// NOTE: prefix the file name with the * character for generic file and with % character for PDF file +$pdf->Bookmark('TXT file', 0, 0, '', 'B', array(128,0,255), -1, '*utf8test.txt'); + +// add a bookmark that points to an embedded file +// NOTE: prefix the file name with the * character for generic file and with % character for PDF file +$pdf->Bookmark('PDF file', 0, 0, '', 'B', array(128,0,255), -1, '%example_012.pdf'); + +// add a bookmark that points to an external URL +$pdf->Bookmark('External URL', 0, 0, '', 'B', array(0,0,255), -1, 'http://www.tcpdf.org'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_015.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_016.php b/examples/example_016.php new file mode 100755 index 0000000..34284f2 --- /dev/null +++ b/examples/example_016.php @@ -0,0 +1,134 @@ +SetProtection(array('print', 'copy'), '', null, 0, null); + +// Example with public-key +// To open the document you need to install the private key (tcpdf.p12) on the Acrobat Reader. The password is: 1234 +//$pdf->SetProtection($permissions=array('print', 'copy'), $user_pass='', $owner_pass=null, $mode=1, $pubkeys=array(array('c' => 'file://../config/cert/tcpdf.crt', 'p' => array('print')))); + +// ********************************************************* + + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 016'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 016', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array('helvetica', '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array('helvetica', '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 16); + +// add a page +$pdf->AddPage(); + +// set some text to print +$txt = <<Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_016.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_017.php b/examples/example_017.php new file mode 100755 index 0000000..1324091 --- /dev/null +++ b/examples/example_017.php @@ -0,0 +1,117 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 017'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 017', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of independent Multicell() columns', '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(5); + +$pdf->SetFont('times', '', 12); + +// create columns content +// create columns content +$left_column = '[LEFT COLUMN] left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column'."\n"; + +$right_column = '[RIGHT COLUMN] right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column'."\n"; + +// MultiCell($w, $h, $txt, $border=0, $align='J', $fill=0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0) + +// set color for background +$pdf->SetFillColor(255, 255, 200); + +// set color for text +$pdf->SetTextColor(0, 63, 127); + +// write the first column +$pdf->MultiCell(80, 0, $left_column, 1, 'J', 1, 0, '', '', true, 0, false, true, 0); + +// set color for background +$pdf->SetFillColor(215, 235, 255); + +// set color for text +$pdf->SetTextColor(127, 31, 0); + +// write the second column +$pdf->MultiCell(80, 0, $right_column, 1, 'J', 1, 1, '', '', true, 0, false, true, 0); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_017.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_018.php b/examples/example_018.php new file mode 100755 index 0000000..a97a44a --- /dev/null +++ b/examples/example_018.php @@ -0,0 +1,128 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 018'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 018', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language dependent data: +$lg = Array(); +$lg['a_meta_charset'] = 'UTF-8'; +$lg['a_meta_dir'] = 'rtl'; +$lg['a_meta_language'] = 'fa'; +$lg['w_page'] = 'page'; + +// set some language-dependent strings (optional) +$pdf->setLanguageArray($lg); + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('dejavusans', '', 12); + +// add a page +$pdf->AddPage(); + +// Persian and English content +$htmlpersian = 'Persian example:
      سلام بالاخره مشکل PDF فارسی به طور کامل حل شد. اینم یک نمونش.
      مشکل حرف \"ژ\" در بعضی کلمات مانند کلمه ویژه نیز بر طرف شد.
      نگارش حروف لام و الف پشت سر هم نیز تصحیح شد.
      با تشکر از "Asuni Nicola" و محمد علی گل کار برای پشتیبانی زبان فارسی.'; +$pdf->WriteHTML($htmlpersian, true, 0, true, 0); + +// set LTR direction for english translation +$pdf->setRTL(false); + +$pdf->SetFontSize(10); + +// print newline +$pdf->Ln(); + +// Persian and English content +$htmlpersiantranslation = 'Hi, At last Problem of Persian PDF Solved completely. This is a example for it.
      Problem of "jeh" letter in some word like "ویژه" (=special) fix too.
      The joining of laa and alf letter fix now.
      Special thanks to "Nicola Asuni" and "Mohamad Ali Golkar" for Persian support.
      '; +$pdf->WriteHTML($htmlpersiantranslation, true, 0, true, 0); + +// Restore RTL direction +$pdf->setRTL(true); + +// set font +$pdf->SetFont('aefurat', '', 18); + +// print newline +$pdf->Ln(); + +// Arabic and English content +$pdf->Cell(0, 12, 'بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ',0,1,'C'); +$htmlcontent = 'تمَّ بِحمد الله حلّ مشكلة الكتابة باللغة العربية في ملفات الـPDF مع دعم الكتابة من اليمين إلى اليسار والحركَات .
      تم الحل بواسطة صالح المطرفي و Asuni Nicola . '; +$pdf->WriteHTML($htmlcontent, true, 0, true, 0); + +// set LTR direction for english translation +$pdf->setRTL(false); + +// print newline +$pdf->Ln(); + +$pdf->SetFont('aealarabiya', '', 18); + +// Arabic and English content +$htmlcontent2 = 'This is Arabic "العربية" Example With TCPDF.'; +$pdf->WriteHTML($htmlcontent2, true, 0, true, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_018.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_019.php b/examples/example_019.php new file mode 100755 index 0000000..a1d5f08 --- /dev/null +++ b/examples/example_019.php @@ -0,0 +1,98 @@ +SetDocInfoUnicode(true); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni [€]'); +$pdf->SetTitle('TCPDF Example 019'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 019', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language dependent data: +$lg = Array(); +$lg['a_meta_charset'] = 'ISO-8859-1'; +$lg['a_meta_dir'] = 'ltr'; +$lg['a_meta_language'] = 'en'; +$lg['w_page'] = 'page'; + +// set some language-dependent strings (optional) +$pdf->setLanguageArray($lg); + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 12); + +// add a page +$pdf->AddPage(); + +// set color for background +$pdf->SetFillColor(200, 255, 200); + +$txt = 'An alternative configuration file is used on this example. +Check the definition of the K_TCPDF_EXTERNAL_CONFIG constant on the source code.'; + +// print some text +$pdf->MultiCell(0, 0, $txt."\n", 1, 'J', 1, 1, '', '', true, 0, false, true, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_019.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_020.php b/examples/example_020.php new file mode 100755 index 0000000..6204f74 --- /dev/null +++ b/examples/example_020.php @@ -0,0 +1,146 @@ +getPage(); + $y_start = $this->GetY(); + + // write the left cell + $this->MultiCell(40, 0, $left, 1, 'R', 1, 2, '', '', true, 0); + + $page_end_1 = $this->getPage(); + $y_end_1 = $this->GetY(); + + $this->setPage($page_start); + + // write the right cell + $this->MultiCell(0, 0, $right, 1, 'J', 0, 1, $this->GetX() ,$y_start, true, 0); + + $page_end_2 = $this->getPage(); + $y_end_2 = $this->GetY(); + + // set the new row position by case + if (max($page_end_1,$page_end_2) == $page_start) { + $ynew = max($y_end_1, $y_end_2); + } elseif ($page_end_1 == $page_end_2) { + $ynew = max($y_end_1, $y_end_2); + } elseif ($page_end_1 > $page_end_2) { + $ynew = $y_end_1; + } else { + $ynew = $y_end_2; + } + + $this->setPage(max($page_end_1,$page_end_2)); + $this->SetXY($this->GetX(),$ynew); + } + +} + +// create new PDF document +$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 020'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 020', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 20); +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of text layout using Multicell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(5); + +$pdf->SetFont('times', '', 9); + +//$pdf->SetCellPadding(0); +//$pdf->SetLineWidth(2); + +// set color for background +$pdf->SetFillColor(255, 255, 200); + +$text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. + +Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.'; + +// print some rows just as example +for ($i = 0; $i < 10; ++$i) { + $pdf->MultiRow('Row '.($i+1), $text."\n"); +} + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_020.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_021.php b/examples/example_021.php new file mode 100755 index 0000000..65e39fb --- /dev/null +++ b/examples/example_021.php @@ -0,0 +1,91 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 021'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 021', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 9); + +// add a page +$pdf->AddPage(); + +// create some HTML content +$html = '

      Example of HTML text flow

      Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?

      A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B    ->    A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B ->    A + B = C    ->    C - B = A    ->    C - A = B

      BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined BoldItalicUnderlined'; + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, 0); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_021.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_022.php b/examples/example_022.php new file mode 100755 index 0000000..ca35d68 --- /dev/null +++ b/examples/example_022.php @@ -0,0 +1,146 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 022'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 022', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// check also the following methods: +// SetDrawColorArray() +// SetFillColorArray() +// SetTextColorArray() + +// set font +$pdf->SetFont('helvetica', 'B', 18); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of CMYK, RGB and Grayscale colours', '', 0, 'L', true, 0, false, false, 0); + +// define style for border +$border_style = array('all' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'phase' => 0)); + +// --- CMYK ------------------------------------------------ + +$pdf->SetDrawColor(50, 0, 0, 0); +$pdf->SetFillColor(100, 0, 0, 0); +$pdf->SetTextColor(100, 0, 0, 0); +$pdf->Rect(30, 60, 30, 30, 'DF', $border_style); +$pdf->Text(30, 92, 'Cyan'); + +$pdf->SetDrawColor(0, 50, 0, 0); +$pdf->SetFillColor(0, 100, 0, 0); +$pdf->SetTextColor(0, 100, 0, 0); +$pdf->Rect(70, 60, 30, 30, 'DF', $border_style); +$pdf->Text(70, 92, 'Magenta'); + +$pdf->SetDrawColor(0, 0, 50, 0); +$pdf->SetFillColor(0, 0, 100, 0); +$pdf->SetTextColor(0, 0, 100, 0); +$pdf->Rect(110, 60, 30, 30, 'DF', $border_style); +$pdf->Text(110, 92, 'Yellow'); + +$pdf->SetDrawColor(0, 0, 0, 50); +$pdf->SetFillColor(0, 0, 0, 100); +$pdf->SetTextColor(0, 0, 0, 100); +$pdf->Rect(150, 60, 30, 30, 'DF', $border_style); +$pdf->Text(150, 92, 'Black'); + +// --- RGB ------------------------------------------------- + +$pdf->SetDrawColor(255, 127, 127); +$pdf->SetFillColor(255, 0, 0); +$pdf->SetTextColor(255, 0, 0); +$pdf->Rect(30, 110, 30, 30, 'DF', $border_style); +$pdf->Text(30, 142, 'Red'); + +$pdf->SetDrawColor(127, 255, 127); +$pdf->SetFillColor(0, 255, 0); +$pdf->SetTextColor(0, 255, 0); +$pdf->Rect(70, 110, 30, 30, 'DF', $border_style); +$pdf->Text(70, 142, 'Green'); + +$pdf->SetDrawColor(127, 127, 255); +$pdf->SetFillColor(0, 0, 255); +$pdf->SetTextColor(0, 0, 255); +$pdf->Rect(110, 110, 30, 30, 'DF', $border_style); +$pdf->Text(110, 142, 'Blue'); + +// --- GRAY ------------------------------------------------ + +$pdf->SetDrawColor(191); +$pdf->SetFillColor(127); +$pdf->SetTextColor(127); +$pdf->Rect(30, 160, 30, 30, 'DF', $border_style); +$pdf->Text(30, 192, 'Gray'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_022.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_023.php b/examples/example_023.php new file mode 100755 index 0000000..dbb8b98 --- /dev/null +++ b/examples/example_023.php @@ -0,0 +1,113 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 023'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 023', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', 'BI', 14); + +// Start First Page Group +$pdf->startPageGroup(); + +// add a page +$pdf->AddPage(); + +// set some text to print +$txt = <<Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// add second page +$pdf->AddPage(); +$pdf->Cell(0, 10, 'This is the second page of group 1', 0, 1, 'L'); + +// Start Second Page Group +$pdf->startPageGroup(); + +// add some pages +$pdf->AddPage(); +$pdf->Cell(0, 10, 'This is the first page of group 2', 0, 1, 'L'); +$pdf->AddPage(); +$pdf->Cell(0, 10, 'This is the second page of group 2', 0, 1, 'L'); +$pdf->AddPage(); +$pdf->Cell(0, 10, 'This is the third page of group 2', 0, 1, 'L'); +$pdf->AddPage(); +$pdf->Cell(0, 10, 'This is the fourth page of group 2', 0, 1, 'L'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_023.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_024.php b/examples/example_024.php new file mode 100755 index 0000000..b60d12d --- /dev/null +++ b/examples/example_024.php @@ -0,0 +1,140 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 024'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 024', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 18); + +// add a page +$pdf->AddPage(); + +/* + * setVisibility() allows to restrict the rendering of some + * elements to screen or printout. This can be useful, for + * instance, to put a background image or color that will + * show on screen but won't print. + */ + +$txt = 'You can limit the visibility of PDF objects to screen or printer by using the setVisibility() method. +Check the print preview of this document to display the alternative text.'; + +$pdf->Write(0, $txt, '', 0, '', true, 0, false, false, 0); + +// change font size +$pdf->SetFontSize(40); + +// change text color +$pdf->SetTextColor(0,63,127); + +// set visibility only for screen +$pdf->setVisibility('screen'); + +// write something only for screen +$pdf->Write(0, '[This line is for display]', '', 0, 'C', true, 0, false, false, 0); + +// set visibility only for print +$pdf->setVisibility('print'); + +// change text color +$pdf->SetTextColor(127,0,0); + +// write something only for print +$pdf->Write(0, '[This line is for printout]', '', 0, 'C', true, 0, false, false, 0); + +// restore visibility +$pdf->setVisibility('all'); + +// --------------------------------------------------------- + +// LAYERS + +// start a new layer +$pdf->startLayer('layer1', true, true); + +// change font size +$pdf->SetFontSize(18); + +// change text color +$pdf->SetTextColor(0,127,0); + +$txt = 'Using the startLayer() method you can group PDF objects into layers. +This text is on "layer1".'; + +// write something +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// close the current layer +$pdf->endLayer(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_024.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_025.php b/examples/example_025.php new file mode 100755 index 0000000..1260d62 --- /dev/null +++ b/examples/example_025.php @@ -0,0 +1,118 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 025'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 025', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 12); + +// add a page +$pdf->AddPage(); + +$txt = 'You can set the transparency of PDF objects using the setAlpha() method.'; +$pdf->Write(0, $txt, '', 0, '', true, 0, false, false, 0); + +/* + * setAlpha() gives transparency support. You can set the + * alpha channel from 0 (fully transparent) to 1 (fully + * opaque). It applies to all elements (text, drawings, + * images). + */ + +$pdf->SetLineWidth(2); + +// draw opaque red square +$pdf->SetFillColor(255, 0, 0); +$pdf->SetDrawColor(127, 0, 0); +$pdf->Rect(30, 40, 60, 60, 'DF'); + +// set alpha to semi-transparency +$pdf->SetAlpha(0.5); + +// draw green square +$pdf->SetFillColor(0, 255, 0); +$pdf->SetDrawColor(0, 127, 0); +$pdf->Rect(50, 60, 60, 60, 'DF'); + +// draw blue square +$pdf->SetFillColor(0, 0, 255); +$pdf->SetDrawColor(0, 0, 127); +$pdf->Rect(70, 80, 60, 60, 'DF'); + +// draw jpeg image +$pdf->Image('images/image_demo.jpg', 90, 100, 60, 60, '', 'http://www.tcpdf.org', '', true, 72); + +// restore full opacity +$pdf->SetAlpha(1); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_025.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_026.php b/examples/example_026.php new file mode 100755 index 0000000..5646e91 --- /dev/null +++ b/examples/example_026.php @@ -0,0 +1,145 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 026'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 026', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 22); + +// add a page +$pdf->AddPage(); + +// set color for text stroke +$pdf->SetDrawColor(255,0,0); + + +$pdf->setTextRenderingMode($stroke=0, $fill=true, $clip=false); +$pdf->Write(0, 'Fill text', '', 0, '', true, 0, false, false, 0); + +$pdf->setTextRenderingMode($stroke=0.2, $fill=false, $clip=false); +$pdf->Write(0, 'Stroke text', '', 0, '', true, 0, false, false, 0); + +$pdf->setTextRenderingMode($stroke=0.2, $fill=true, $clip=false); +$pdf->Write(0, 'Fill, then stroke text', '', 0, '', true, 0, false, false, 0); + +$pdf->setTextRenderingMode($stroke=0, $fill=false, $clip=false); +$pdf->Write(0, 'Neither fill nor stroke text (invisible)', '', 0, '', true, 0, false, false, 0); + + +// * * * CLIPPING MODES * * * * * * * * * * * * * * * * * * + +$pdf->StartTransform(); +$pdf->setTextRenderingMode($stroke=0, $fill=true, $clip=true); +$pdf->Write(0, 'Fill text and add to path for clipping', '', 0, '', true, 0, false, false, 0); +$pdf->Image('images/image_demo.jpg', 15, 65, 170, 10, '', '', '', true, 72); +$pdf->StopTransform(); + +$pdf->StartTransform(); +$pdf->setTextRenderingMode($stroke=0.3, $fill=false, $clip=true); +$pdf->Write(0, 'Stroke text and add to path for clipping', '', 0, '', true, 0, false, false, 0); +$pdf->Image('images/image_demo.jpg', 15, 75, 170, 10, '', '', '', true, 72); +$pdf->StopTransform(); + +$pdf->StartTransform(); +$pdf->setTextRenderingMode($stroke=0.3, $fill=true, $clip=true); +$pdf->Write(0, 'Fill, then stroke text and add to path for clipping', '', 0, '', true, 0, false, false, 0); +$pdf->Image('images/image_demo.jpg', 15, 85, 170, 10, '', '', '', true, 72); +$pdf->StopTransform(); + +$pdf->StartTransform(); +$pdf->setTextRenderingMode($stroke=0, $fill=false, $clip=true); +$pdf->Write(0, 'Add text to path for clipping', '', 0, '', true, 0, false, false, 0); +$pdf->Image('images/image_demo.jpg', 15, 95, 170, 10, '', '', '', true, 72); +$pdf->StopTransform(); + +// reset text rendering mode +$pdf->setTextRenderingMode($stroke=0, $fill=true, $clip=false); + +// * * * HTML MODE * * * * * * * * * * * * * * * * * * * * * + +// The following attributes were added to HTML: +// stroke : stroke width +// strokecolor : stroke color +// fill : true (default) to fill the font, false otherwise + + +// create some HTML content with text rendering modes +$html = 'HTML Fill text
      '; +$html .= 'HTML Stroke text
      '; +$html .= 'HTML Fill, then stroke text
      '; +$html .= 'HTML Neither fill nor stroke text (invisible)
      '; + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_026.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_027.php b/examples/example_027.php new file mode 100755 index 0000000..a237074 --- /dev/null +++ b/examples/example_027.php @@ -0,0 +1,418 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 027'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 027', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set a barcode on the page footer +$pdf->setBarcode(date('Y-m-d H:i:s')); + +// set font +$pdf->SetFont('helvetica', '', 11); + +// add a page +$pdf->AddPage(); + +// print a message +$txt = "You can also export 1D barcodes in other formats (PNG, SVG, HTML). Check the examples inside the barcodes directory.\n"; +$pdf->MultiCell(70, 50, $txt, 0, 'J', false, 1, 125, 30, true, 0, false, true, 0, 'T', false); +$pdf->SetY(30); + +// ----------------------------------------------------------------------------- + +$pdf->SetFont('helvetica', '', 10); + +// define barcode style +$style = array( + 'position' => '', + 'align' => 'C', + 'stretch' => false, + 'fitwidth' => true, + 'cellfitalign' => '', + 'border' => true, + 'hpadding' => 'auto', + 'vpadding' => 'auto', + 'fgcolor' => array(0,0,0), + 'bgcolor' => false, //array(255,255,255), + 'text' => true, + 'font' => 'helvetica', + 'fontsize' => 8, + 'stretchtext' => 4 +); + +// PRINT VARIOUS 1D BARCODES + +// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. +$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1); +$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 39 + CHECKSUM +$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1); +$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 39 EXTENDED +$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1); +$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 39 EXTENDED + CHECKSUM +$pdf->Cell(0, 0, 'CODE 39 EXTENDED + CHECKSUM', 0, 1); +$pdf->write1DBarcode('CODE 39 E+', 'C39E+', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 93 - USS-93 +$pdf->Cell(0, 0, 'CODE 93 - USS-93', 0, 1); +$pdf->write1DBarcode('TEST93', 'C93', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// Standard 2 of 5 +$pdf->Cell(0, 0, 'Standard 2 of 5', 0, 1); +$pdf->write1DBarcode('1234567', 'S25', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// Standard 2 of 5 + CHECKSUM +$pdf->Cell(0, 0, 'Standard 2 of 5 + CHECKSUM', 0, 1); +$pdf->write1DBarcode('1234567', 'S25+', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// Interleaved 2 of 5 +$pdf->Cell(0, 0, 'Interleaved 2 of 5', 0, 1); +$pdf->write1DBarcode('1234567', 'I25', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// Interleaved 2 of 5 + CHECKSUM +$pdf->Cell(0, 0, 'Interleaved 2 of 5 + CHECKSUM', 0, 1); +$pdf->write1DBarcode('1234567', 'I25+', '', '', '', 18, 0.4, $style, 'N'); + + +// add a page ---------- +$pdf->AddPage(); + +// CODE 128 AUTO +$pdf->Cell(0, 0, 'CODE 128 AUTO', 0, 1); +$pdf->write1DBarcode('CODE 128 AUTO', 'C128', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 128 A +$pdf->Cell(0, 0, 'CODE 128 A', 0, 1); +$pdf->write1DBarcode('CODE 128 A', 'C128A', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 128 B +$pdf->Cell(0, 0, 'CODE 128 B', 0, 1); +$pdf->write1DBarcode('CODE 128 B', 'C128B', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 128 C +$pdf->Cell(0, 0, 'CODE 128 C', 0, 1); +$pdf->write1DBarcode('0123456789', 'C128C', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// EAN 8 +$pdf->Cell(0, 0, 'EAN 8', 0, 1); +$pdf->write1DBarcode('1234567', 'EAN8', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// EAN 13 +$pdf->Cell(0, 0, 'EAN 13', 0, 1); +$pdf->write1DBarcode('1234567890128', 'EAN13', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// UPC-A +$pdf->Cell(0, 0, 'UPC-A', 0, 1); +$pdf->write1DBarcode('12345678901', 'UPCA', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// UPC-E +$pdf->Cell(0, 0, 'UPC-E', 0, 1); +$pdf->write1DBarcode('04210000526', 'UPCE', '', '', '', 18, 0.4, $style, 'N'); + +// add a page ---------- +$pdf->AddPage(); + +// 5-Digits UPC-Based Extension +$pdf->Cell(0, 0, '5-Digits UPC-Based Extension', 0, 1); +$pdf->write1DBarcode('51234', 'EAN5', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// 2-Digits UPC-Based Extension +$pdf->Cell(0, 0, '2-Digits UPC-Based Extension', 0, 1); +$pdf->write1DBarcode('34', 'EAN2', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// MSI +$pdf->Cell(0, 0, 'MSI', 0, 1); +$pdf->write1DBarcode('80523', 'MSI', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// MSI + CHECKSUM (module 11) +$pdf->Cell(0, 0, 'MSI + CHECKSUM (module 11)', 0, 1); +$pdf->write1DBarcode('80523', 'MSI+', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODABAR +$pdf->Cell(0, 0, 'CODABAR', 0, 1); +$pdf->write1DBarcode('123456789', 'CODABAR', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// CODE 11 +$pdf->Cell(0, 0, 'CODE 11', 0, 1); +$pdf->write1DBarcode('123-456-789', 'CODE11', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// PHARMACODE +$pdf->Cell(0, 0, 'PHARMACODE', 0, 1); +$pdf->write1DBarcode('789', 'PHARMA', '', '', '', 18, 0.4, $style, 'N'); + +$pdf->Ln(); + +// PHARMACODE TWO-TRACKS +$pdf->Cell(0, 0, 'PHARMACODE TWO-TRACKS', 0, 1); +$pdf->write1DBarcode('105', 'PHARMA2T', '', '', '', 18, 2, $style, 'N'); + +// add a page ---------- +$pdf->AddPage(); + +// IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 +$pdf->Cell(0, 0, 'IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200', 0, 1); +$pdf->write1DBarcode('01234567094987654321-01234567891', 'IMB', '', '', '', 15, 0.6, $style, 'N'); + +$pdf->Ln(); + +// POSTNET +$pdf->Cell(0, 0, 'POSTNET', 0, 1); +$pdf->write1DBarcode('98000', 'POSTNET', '', '', '', 15, 0.6, $style, 'N'); + +$pdf->Ln(); + +// PLANET +$pdf->Cell(0, 0, 'PLANET', 0, 1); +$pdf->write1DBarcode('98000', 'PLANET', '', '', '', 15, 0.6, $style, 'N'); + +$pdf->Ln(); + +// RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) +$pdf->Cell(0, 0, 'RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)', 0, 1); +$pdf->write1DBarcode('SN34RD1A', 'RMS4CC', '', '', '', 15, 0.6, $style, 'N'); + +$pdf->Ln(); + +// KIX (Klant index - Customer index) +$pdf->Cell(0, 0, 'KIX (Klant index - Customer index)', 0, 1); +$pdf->write1DBarcode('SN34RDX1A', 'KIX', '', '', '', 15, 0.6, $style, 'N'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// TEST BARCODE ALIGNMENTS + +// add a page +$pdf->AddPage(); + +// set a background color +$style['bgcolor'] = array(255,255,240); +$style['fgcolor'] = array(127,0,0); + +// Left position +$style['position'] = 'L'; +$pdf->write1DBarcode('LEFT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Center position +$style['position'] = 'C'; +$pdf->write1DBarcode('CENTER', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Right position +$style['position'] = 'R'; +$pdf->write1DBarcode('RIGHT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +$style['fgcolor'] = array(0,127,0); +$style['position'] = ''; +$style['stretch'] = false; // disable stretch +$style['fitwidth'] = false; // disable fitwidth + +// Left alignment +$style['align'] = 'L'; +$pdf->write1DBarcode('LEFT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Center alignment +$style['align'] = 'C'; +$pdf->write1DBarcode('CENTER', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Right alignment +$style['align'] = 'R'; +$pdf->write1DBarcode('RIGHT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +$style['fgcolor'] = array(0,64,127); +$style['position'] = ''; +$style['stretch'] = false; // disable stretch +$style['fitwidth'] = true; // disable fitwidth + +// Left alignment +$style['cellfitalign'] = 'L'; +$pdf->write1DBarcode('LEFT', 'C128A', 105, '', 90, 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Center alignment +$style['cellfitalign'] = 'C'; +$pdf->write1DBarcode('CENTER', 'C128A', 105, '', 90, 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Right alignment +$style['cellfitalign'] = 'R'; +$pdf->write1DBarcode('RIGHT', 'C128A', 105, '', 90, 15, 0.4, $style, 'N'); + +$pdf->Ln(2); +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +$style['fgcolor'] = array(127,0,127); + +// Left alignment +$style['position'] = 'L'; +$pdf->write1DBarcode('LEFT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Center alignment +$style['position'] = 'C'; +$pdf->write1DBarcode('CENTER', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +$pdf->Ln(2); + +// Right alignment +$style['position'] = 'R'; +$pdf->write1DBarcode('RIGHT', 'C128A', '', '', '', 15, 0.4, $style, 'N'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// TEST BARCODE STYLE + +// define barcode style +$style = array( + 'position' => '', + 'align' => '', + 'stretch' => true, + 'fitwidth' => false, + 'cellfitalign' => '', + 'border' => true, + 'hpadding' => 'auto', + 'vpadding' => 'auto', + 'fgcolor' => array(0,0,128), + 'bgcolor' => array(255,255,128), + 'text' => true, + 'label' => 'CUSTOM LABEL', + 'font' => 'helvetica', + 'fontsize' => 8, + 'stretchtext' => 4 +); + +// CODE 39 EXTENDED + CHECKSUM +$pdf->Cell(0, 0, 'CODE 39 EXTENDED + CHECKSUM', 0, 1); +$pdf->SetLineStyle(array('width' => 1, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->write1DBarcode('CODE 39 E+', 'C39E+', '', '', 120, 25, 0.4, $style, 'N'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_027.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_028.php b/examples/example_028.php new file mode 100755 index 0000000..f250ac5 --- /dev/null +++ b/examples/example_028.php @@ -0,0 +1,138 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 028'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// remove default header/footer +$pdf->setPrintHeader(false); +$pdf->setPrintFooter(false); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(10, PDF_MARGIN_TOP, 10); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +$pdf->SetDisplayMode('fullpage', 'SinglePage', 'UseNone'); + +// set font +$pdf->SetFont('times', 'B', 20); + +$pdf->AddPage('P', 'A4'); +$pdf->Cell(0, 0, 'A4 PORTRAIT', 1, 1, 'C'); + +$pdf->AddPage('L', 'A4'); +$pdf->Cell(0, 0, 'A4 LANDSCAPE', 1, 1, 'C'); + +$pdf->AddPage('P', 'A5'); +$pdf->Cell(0, 0, 'A5 PORTRAIT', 1, 1, 'C'); + +$pdf->AddPage('L', 'A5'); +$pdf->Cell(0, 0, 'A5 LANDSCAPE', 1, 1, 'C'); + +$pdf->AddPage('P', 'A6'); +$pdf->Cell(0, 0, 'A6 PORTRAIT', 1, 1, 'C'); + +$pdf->AddPage('L', 'A6'); +$pdf->Cell(0, 0, 'A6 LANDSCAPE', 1, 1, 'C'); + +$pdf->AddPage('P', 'A7'); +$pdf->Cell(0, 0, 'A7 PORTRAIT', 1, 1, 'C'); + +$pdf->AddPage('L', 'A7'); +$pdf->Cell(0, 0, 'A7 LANDSCAPE', 1, 1, 'C'); + + +// --- test backward editing --- + + +$pdf->setPage(1, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A4 test', 1, 1, 'C'); + +$pdf->setPage(2, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A4 test', 1, 1, 'C'); + +$pdf->setPage(3, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A5 test', 1, 1, 'C'); + +$pdf->setPage(4, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A5 test', 1, 1, 'C'); + +$pdf->setPage(5, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A6 test', 1, 1, 'C'); + +$pdf->setPage(6, true); +$pdf->SetY(50); +$pdf->Cell(0, 0, 'A6 test', 1, 1, 'C'); + +$pdf->setPage(7, true); +$pdf->SetY(40); +$pdf->Cell(0, 0, 'A7 test', 1, 1, 'C'); + +$pdf->setPage(8, true); +$pdf->SetY(40); +$pdf->Cell(0, 0, 'A7 test', 1, 1, 'C'); + +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_028.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_029.php b/examples/example_029.php new file mode 100755 index 0000000..33be97e --- /dev/null +++ b/examples/example_029.php @@ -0,0 +1,124 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 029'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 029', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set array for viewer preferences +$preferences = array( + 'HideToolbar' => true, + 'HideMenubar' => true, + 'HideWindowUI' => true, + 'FitWindow' => true, + 'CenterWindow' => true, + 'DisplayDocTitle' => true, + 'NonFullScreenPageMode' => 'UseNone', // UseNone, UseOutlines, UseThumbs, UseOC + 'ViewArea' => 'CropBox', // CropBox, BleedBox, TrimBox, ArtBox + 'ViewClip' => 'CropBox', // CropBox, BleedBox, TrimBox, ArtBox + 'PrintArea' => 'CropBox', // CropBox, BleedBox, TrimBox, ArtBox + 'PrintClip' => 'CropBox', // CropBox, BleedBox, TrimBox, ArtBox + 'PrintScaling' => 'AppDefault', // None, AppDefault + 'Duplex' => 'DuplexFlipLongEdge', // Simplex, DuplexFlipShortEdge, DuplexFlipLongEdge + 'PickTrayByPDFSize' => true, + 'PrintPageRange' => array(1,1,2,3), + 'NumCopies' => 2 +); + +// Check the example n. 60 for advanced page settings + +// set pdf viewer preferences +$pdf->setViewerPreferences($preferences); + +// set font +$pdf->SetFont('times', '', 14); + +// add a page +$pdf->AddPage(); + +// print a line +$pdf->Cell(0, 12, 'DISPLAY PREFERENCES - PAGE 1', 1, 1, 'C'); + +$pdf->Ln(5); + +$pdf->Write(0, 'You can use the setViewerPreferences() method to change viewer preferences.', '', 0, 'L', true, 0, false, false, 0); + +// add a page +$pdf->AddPage(); +// print a line +$pdf->Cell(0, 12, 'DISPLAY PREFERENCES - PAGE 2', 0, 0, 'C'); + +// add a page +$pdf->AddPage(); +// print a line +$pdf->Cell(0, 12, 'DISPLAY PREFERENCES - PAGE 3', 0, 0, 'C'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_029.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_030.php b/examples/example_030.php new file mode 100755 index 0000000..ed4e799 --- /dev/null +++ b/examples/example_030.php @@ -0,0 +1,188 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 030'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 030', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// --- first page ------------------------------------------ + +// add a page +$pdf->AddPage(); + +$pdf->Cell(0, 0, 'TCPDF Gradients', 0, 1, 'C', 0, '', 0, false, 'T', 'M'); + +// set colors for gradients (r,g,b) or (grey 0-255) +$red = array(255, 0, 0); +$blue = array(0, 0, 200); +$yellow = array(255, 255, 0); +$green = array(0, 255, 0); +$white = array(255); +$black = array(0); + +// set the coordinates x1,y1,x2,y2 of the gradient (see linear_gradient_coords.jpg) +$coords = array(0, 0, 1, 0); + +// paint a linear gradient +$pdf->LinearGradient(20, 45, 80, 80, $red, $blue, $coords); + +// write label +$pdf->Text(20, 130, 'LinearGradient()'); + +// set the coordinates fx,fy,cx,cy,r of the gradient (see radial_gradient_coords.jpg) +$coords = array(0.5, 0.5, 1, 1, 1.2); + +// paint a radial gradient +$pdf->RadialGradient(110, 45, 80, 80, $white, $black, $coords); + +// write label +$pdf->Text(110, 130, 'RadialGradient()'); + +// paint a coons patch mesh with default coordinates +$pdf->CoonsPatchMesh(20, 155, 80, 80, $yellow, $blue, $green, $red); + +// write label +$pdf->Text(20, 240, 'CoonsPatchMesh()'); + +// set the coordinates for the cubic Bézier points x1,y1 ... x12, y12 of the patch (see coons_patch_mesh_coords.jpg) +$coords = array( + 0.00,0.00, 0.33,0.20, //lower left + 0.67,0.00, 1.00,0.00, 0.80,0.33, //lower right + 0.80,0.67, 1.00,1.00, 0.67,0.80, //upper right + 0.33,1.00, 0.00,1.00, 0.20,0.67, //upper left + 0.00,0.33); //lower left +$coords_min = 0; //minimum value of the coordinates +$coords_max = 1; //maximum value of the coordinates + +// paint a coons patch gradient with the above coordinates +$pdf->CoonsPatchMesh(110, 155, 80, 80, $yellow, $blue, $green, $red, $coords, $coords_min, $coords_max); + +// write label +$pdf->Text(110, 240, 'CoonsPatchMesh()'); + +// --- second page ----------------------------------------- +$pdf->AddPage(); + +// first patch: f = 0 +$patch_array[0]['f'] = 0; +$patch_array[0]['points'] = array( + 0.00,0.00, 0.33,0.00, + 0.67,0.00, 1.00,0.00, 1.00,0.33, + 0.8,0.67, 1.00,1.00, 0.67,0.8, + 0.33,1.80, 0.00,1.00, 0.00,0.67, + 0.00,0.33); +$patch_array[0]['colors'][0] = array('r' => 255, 'g' => 255, 'b' => 0); +$patch_array[0]['colors'][1] = array('r' => 0, 'g' => 0, 'b' => 255); +$patch_array[0]['colors'][2] = array('r' => 0, 'g' => 255,'b' => 0); +$patch_array[0]['colors'][3] = array('r' => 255, 'g' => 0,'b' => 0); + +// second patch - above the other: f = 2 +$patch_array[1]['f'] = 2; +$patch_array[1]['points'] = array( + 0.00,1.33, + 0.00,1.67, 0.00,2.00, 0.33,2.00, + 0.67,2.00, 1.00,2.00, 1.00,1.67, + 1.5,1.33); +$patch_array[1]['colors'][0]=array('r' => 0, 'g' => 0, 'b' => 0); +$patch_array[1]['colors'][1]=array('r' => 255, 'g' => 0, 'b' => 255); + +// third patch - right of the above: f = 3 +$patch_array[2]['f'] = 3; +$patch_array[2]['points'] = array( + 1.33,0.80, + 1.67,1.50, 2.00,1.00, 2.00,1.33, + 2.00,1.67, 2.00,2.00, 1.67,2.00, + 1.33,2.00); +$patch_array[2]['colors'][0] = array('r' => 0, 'g' => 255, 'b' => 255); +$patch_array[2]['colors'][1] = array('r' => 0, 'g' => 0, 'b' => 0); + +// fourth patch - below the above, which means left(?) of the above: f = 1 +$patch_array[3]['f'] = 1; +$patch_array[3]['points'] = array( + 2.00,0.67, + 2.00,0.33, 2.00,0.00, 1.67,0.00, + 1.33,0.00, 1.00,0.00, 1.00,0.33, + 0.8,0.67); +$patch_array[3]['colors'][0] = array('r' => 0, 'g' => 0, 'b' => 0); +$patch_array[3]['colors'][1] = array('r' => 0, 'g' => 0, 'b' => 255); + +$coords_min = 0; +$coords_max = 2; + +$pdf->CoonsPatchMesh(10, 45, 190, 200, '', '', '', '', $patch_array, $coords_min, $coords_max); + +// write label +$pdf->Text(10, 250, 'CoonsPatchMesh()'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_030.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_031.php b/examples/example_031.php new file mode 100755 index 0000000..160d162 --- /dev/null +++ b/examples/example_031.php @@ -0,0 +1,103 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 031'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 031', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of PieSector() method.'); + +$xc = 105; +$yc = 100; +$r = 50; + +$pdf->SetFillColor(0, 0, 255); +$pdf->PieSector($xc, $yc, $r, 20, 120, 'FD', false, 0, 2); + +$pdf->SetFillColor(0, 255, 0); +$pdf->PieSector($xc, $yc, $r, 120, 250, 'FD', false, 0, 2); + +$pdf->SetFillColor(255, 0, 0); +$pdf->PieSector($xc, $yc, $r, 250, 20, 'FD', false, 0, 2); + +// write labels +$pdf->SetTextColor(255,255,255); +$pdf->Text(105, 65, 'BLUE'); +$pdf->Text(60, 95, 'GREEN'); +$pdf->Text(120, 115, 'RED'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_031.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_032.php b/examples/example_032.php new file mode 100755 index 0000000..b38f5ae --- /dev/null +++ b/examples/example_032.php @@ -0,0 +1,91 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 032'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 032', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 12); + +$pdf->AddPage(); + +$html = << +NOTE: Please use SVG format for a better vector support. +EOD; + +// Print text using writeHTMLCell() +$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); + +$pdf->ImageEps('images/tcpdf_box.ai', 10, 40, 150, '', 'http://www.tcpdf.org', true, '', '', 0, false); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_032.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_033.php b/examples/example_033.php new file mode 100755 index 0000000..4f95e40 --- /dev/null +++ b/examples/example_033.php @@ -0,0 +1,105 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 033'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 033', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// add a page +$pdf->AddPage(); + +// set default font subsetting mode +$pdf->setFontSubsetting(false); + +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Font Types', '', 0, 'C', 1, 0, false, false, 0); + +$pdf->Ln(10); + +$pdf->SetFont('times', '', 10); + +$pdf->MultiCell(80, 0, "[Core font] : Cras eros leo, porttitor porta, accumsan fermentum, ornare ac, est. Praesent dui lorem, imperdiet at, cursus sed, facilisis aliquam, nibh. Nulla accumsan nonummy diam. Donec tempus. Etiam posuere. Proin lectus. Donec purus. Duis in sem pretium urna feugiat vehicula. Ut suscipit velit eget massa. Nam nonummy, enim commodo euismod placerat, tortor elit tempus lectus, quis suscipit metus lorem blandit turpis.\n", 1, 'J', 0, 1, '', '', true, 0); + +$pdf->Ln(2); + +$pdf->SetFont('dejavusans', '', 10); + +$pdf->MultiCell(80, 0, "[True Type Unicode font] : Cras eros leo, porttitor porta, accumsan fermentum, ornare ac, est. Praesent dui lorem, imperdiet at, cursus sed, facilisis aliquam, nibh. Nulla accumsan nonummy diam. Donec tempus. Etiam posuere. Proin lectus. Donec purus. Duis in sem pretium urna feugiat vehicula. Ut suscipit velit eget massa. Nam nonummy, enim commodo euismod placerat, tortor elit tempus lectus, quis suscipit metus lorem blandit turpis.\n", 1, 'J', 0, 1, '', '', true, 0); + +$pdf->Ln(2); + +$pdf->SetFont('cid0jp', '', 9); + +$pdf->MultiCell(80, 0, "[CID-0 font] : Cras eros leo, porttitor porta, accumsan fermentum, ornare ac, est. Praesent dui lorem, imperdiet at, cursus sed, facilisis aliquam, nibh. Nulla accumsan nonummy diam. Donec tempus. Etiam posuere. Proin lectus. Donec purus. Duis in sem pretium urna feugiat vehicula. Ut suscipit velit eget massa. Nam nonummy, enim commodo euismod placerat, tortor elit tempus lectus, quis suscipit metus lorem blandit turpis.\n", 1, 'J', 0, 1, '', '', true, 0); + + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_033.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_034.php b/examples/example_034.php new file mode 100755 index 0000000..bb15902 --- /dev/null +++ b/examples/example_034.php @@ -0,0 +1,96 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 034'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 034', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Image Clipping using geometric functions', '', 0, 'C', 1, 0, false, false, 0); + +//Start Graphic Transformation +$pdf->StartTransform(); + +// set clipping mask +$pdf->StarPolygon(105, 100, 30, 10, 3, 0, 1, 'CNZ'); + +// draw jpeg image to be clipped +$pdf->Image('images/image_demo.jpg', 75, 70, 60, 60, '', 'http://www.tcpdf.org', '', true, 72); + +//Stop Graphic Transformation +$pdf->StopTransform(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_034.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_035.php b/examples/example_035.php new file mode 100755 index 0000000..0e5280c --- /dev/null +++ b/examples/example_035.php @@ -0,0 +1,111 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 035'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 035', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', 'BI', 16); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of SetLineStyle() method', '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(); + +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 4, 'color' => array(255, 0, 0))); +$pdf->SetFillColor(255,255,128); +$pdf->SetTextColor(0,0,128); + +$text="DUMMY"; + +$pdf->Cell(0, 0, $text, 1, 1, 'L', 1, 0); + +$pdf->Ln(); + +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 255))); +$pdf->SetFillColor(255,255,0); +$pdf->SetTextColor(0,0,255); +$pdf->MultiCell(60, 4, $text, 1, 'C', 1, 0); + +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 255, 0))); +$pdf->SetFillColor(0,0,255); +$pdf->SetTextColor(255,255,0); +$pdf->MultiCell(60, 4, $text, 'TB', 'C', 1, 0); + +$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 255))); +$pdf->SetFillColor(0,255,0); +$pdf->SetTextColor(255,0,255); +$pdf->MultiCell(60, 4, $text, 1, 'C', 1, 1); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_035.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_036.php b/examples/example_036.php new file mode 100755 index 0000000..2625497 --- /dev/null +++ b/examples/example_036.php @@ -0,0 +1,89 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 036'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 036', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 16); + +// add a page +$pdf->AddPage(); + +$txt = 'Example of Text Annotation. +Move your mouse over the yellow box or double click on it to display the annotation text.'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// text annotation +$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0))); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_036.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_037.php b/examples/example_037.php new file mode 100755 index 0000000..deb7d92 --- /dev/null +++ b/examples/example_037.php @@ -0,0 +1,147 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 037'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 037', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 11); + +// add a page +$pdf->AddPage(); + +$html = '

      Example of Spot Colors

      Spot colors are single ink colors, rather than colors produced by four (CMYK), six (CMYKOG) or more inks in the printing process (process colors). They can be obtained by special vendors, but often the printers have found their own way of mixing inks to match defined colors.

      As long as no open standard for spot colours exists, TCPDF users will have to buy a colour book by one of the colour manufacturers and insert the values and names of spot colours directly into the $spotcolor array in include/tcpdf_colors.php file, or define them using the AddSpotColor() method.

      Common industry standard spot colors are:
      ANPA-COLOR, DIC, FOCOLTONE, GCMI, HKS, PANTONE, TOYO, TRUMATCH.'; + +// Print text using writeHTMLCell() +$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, 'J', true); + + +$pdf->SetFont('helvetica', '', 10); + +// Define some new spot colors +// $c, $m, $y and $k (2nd, 3rd, 4th and 5th parameter) are the CMYK color components. +// AddSpotColor($name, $c, $m, $y, $k) + +$pdf->AddSpotColor('My TCPDF Dark Green', 100, 50, 80, 45); +$pdf->AddSpotColor('My TCPDF Light Yellow', 0, 0, 55, 0); +$pdf->AddSpotColor('My TCPDF Black', 0, 0, 0, 100); +$pdf->AddSpotColor('My TCPDF Red', 30, 100, 90, 10); +$pdf->AddSpotColor('My TCPDF Green', 100, 30, 100, 0); +$pdf->AddSpotColor('My TCPDF Blue', 100, 60, 10, 5); +$pdf->AddSpotColor('My TCPDF Yellow', 0, 20, 100, 0); + +// Select the spot color +// $tint (the second parameter) is the intensity of the color (0-100). +// SetTextSpotColor($name, $tint=100) +// SetDrawSpotColor($name, $tint=100) +// SetFillSpotColor($name, $tint=100) + +$pdf->SetTextSpotColor('My TCPDF Black', 100); +$pdf->SetDrawSpotColor('My TCPDF Black', 100); + +$starty = 100; + +// print some spot colors + +$pdf->SetFillSpotColor('My TCPDF Dark Green', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Dark Green'); + +$starty += 24; +$pdf->SetFillSpotColor('My TCPDF Light Yellow', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Light Yellow'); + + +// --- default values defined on spotcolors.php --- + +$starty += 24; +$pdf->SetFillSpotColor('My TCPDF Red', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Red'); + +$starty += 24; +$pdf->SetFillSpotColor('My TCPDF Green', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Green'); + +$starty += 24; +$pdf->SetFillSpotColor('My TCPDF Blue', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Blue'); + +$starty += 24; +$pdf->SetFillSpotColor('My TCPDF Yellow', 100); +$pdf->Rect(30, $starty, 40, 20, 'DF'); +$pdf->Text(73, $starty + 8, 'My TCPDF Yellow'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_037.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_038.php b/examples/example_038.php new file mode 100755 index 0000000..a1e57e2 --- /dev/null +++ b/examples/example_038.php @@ -0,0 +1,92 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 038'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 038', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 20); + +// add a page +$pdf->AddPage(); + +$txt = 'Example of CID-0 CJK unembedded font. +To display extended text you must have CJK fonts installed for your PDF reader:'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// set font +$pdf->SetFont('cid0jp', '', 40); + +$txt = 'こんにちは世界'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_038.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_039.php b/examples/example_039.php new file mode 100755 index 0000000..4a8775c --- /dev/null +++ b/examples/example_039.php @@ -0,0 +1,104 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 039'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 039', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// add a page +$pdf->AddPage(); + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Example of HTML Justification', '', 0, 'L', true, 0, false, false, 0); + +// create some HTML content +$html = 'a abc abcdefghijkl (abcdef) abcdefg abcdefghi a ((abc)) abcd test alt attribute abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc \(abcd\) abcdef abcdefg abcdefghi a abc \\\(abcd\\\) abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg start a abc before yellow color after a abc abcd abcdef abcdefg abcdefghi a abc abcd end abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi a abc abcd abcdef abcdefg abcdefghi
      abcd abcdef abcdefg abcdefghi
      abcd abcde abcdef
      '; + +// set core font +$pdf->SetFont('helvetica', '', 10); + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, true); + +$pdf->Ln(); + +// set UTF-8 Unicode font +$pdf->SetFont('dejavusans', '', 10); + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, true); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_039.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_040.php b/examples/example_040.php new file mode 100755 index 0000000..c1d9091 --- /dev/null +++ b/examples/example_040.php @@ -0,0 +1,116 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 040'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 040', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set display mode +$pdf->SetDisplayMode($zoom='fullpage', $layout='TwoColumnRight', $mode='UseNone'); + +// set pdf viewer preferences +$pdf->setViewerPreferences(array('Duplex' => 'DuplexFlipLongEdge')); + +// set booklet mode +$pdf->SetBooklet(true, 10, 30); + +// set core font +$pdf->SetFont('helvetica', '', 18); + +// add a page (left page) +$pdf->AddPage(); + +$pdf->Write(0, 'Example of booklet mode', '', 0, 'L', true, 0, false, false, 0); + +// print a line using Cell() +$pdf->Cell(0, 0, 'PAGE 1', 1, 1, 'C'); + + +// add a page (right page) +$pdf->AddPage(); + +// print a line using Cell() +$pdf->Cell(0, 0, 'PAGE 2', 1, 1, 'C'); + + +// add a page (left page) +$pdf->AddPage(); + +// print a line using Cell() +$pdf->Cell(0, 0, 'PAGE 3', 1, 1, 'C'); + +// add a page (right page) +$pdf->AddPage(); + +// print a line using Cell() +$pdf->Cell(0, 0, 'PAGE 4', 1, 1, 'C'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_040.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_041.php b/examples/example_041.php new file mode 100755 index 0000000..973bdf9 --- /dev/null +++ b/examples/example_041.php @@ -0,0 +1,90 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 041'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 041', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 16); + +// add a page +$pdf->AddPage(); + + +$txt = 'Example of File Attachment. +Double click on the icon to open the attached file.'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// attach an external file +$pdf->Annotation(85, 27, 5, 5, 'text file', array('Subtype'=>'FileAttachment', 'Name' => 'PushPin', 'FS' => 'data/utf8test.txt')); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_041.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_042.php b/examples/example_042.php new file mode 100755 index 0000000..14c9fd0 --- /dev/null +++ b/examples/example_042.php @@ -0,0 +1,102 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 042'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 042', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set JPEG quality +//$pdf->setJPEGQuality(75); + +$pdf->SetFont('helvetica', '', 18); + +// add a page +$pdf->AddPage(); + +// create background text +$background_text = str_repeat('TCPDF test PNG Alpha Channel ', 50); +$pdf->MultiCell(0, 5, $background_text, 0, 'J', 0, 2, '', '', true, 0, false); + +// --- Method (A) ------------------------------------------ +// the Image() method recognizes the alpha channel embedded on the image: + +$pdf->Image('images/image_with_alpha.png', 50, 50, 100, '', '', 'http://www.tcpdf.org', '', false, 300); + +// --- Method (B) ------------------------------------------ +// provide image + separate 8-bit mask + +// first embed mask image (w, h, x and y will be ignored, the image will be scaled to the target image's size) +$mask = $pdf->Image('images/alpha.png', 50, 140, 100, '', '', '', '', false, 300, '', true); + +// embed image, masked with previously embedded mask +$pdf->Image('images/img.png', 50, 140, 100, '', '', 'http://www.tcpdf.org', '', false, 300, '', false, $mask); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_042.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_043.php b/examples/example_043.php new file mode 100755 index 0000000..116827e --- /dev/null +++ b/examples/example_043.php @@ -0,0 +1,85 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 043'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 043', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 16); + +// add a page +$pdf->AddPage(); + +// Multicell test +$pdf->MultiCell(0, 0, 'DISK CACHING TEST: check the parameters of the class constructor.', 1, 'L', 0, 0, '', '', true); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_043.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_044.php b/examples/example_044.php new file mode 100755 index 0000000..949270c --- /dev/null +++ b/examples/example_044.php @@ -0,0 +1,128 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 044'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 044', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 40); + +// print a line using Cell() +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: A', 0, 1, 'L'); + +// add some vertical space +$pdf->Ln(10); + +// print some text +$pdf->SetFont('times', 'I', 16); +$txt = 'TCPDF allows you to Copy, Move and Delete pages.'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', 'B', 40); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: B', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: D', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: E', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: E-2', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: F', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: C', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: G', 0, 1, 'L'); + +// Move page 7 to page 3 +$pdf->movePage(7, 3); + +// Delete page 6 +$pdf->deletePage(6); + +$pdf->AddPage(); +$pdf->Cell(0, 10, 'PAGE: H', 0, 1, 'L'); + +// copy the second page +$pdf->copyPage(2); + +// NOTE: to insert a page to a previous position, you can add a new page to the end of document and then move it using movePage(). + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_044.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_045.php b/examples/example_045.php new file mode 100755 index 0000000..0f49abc --- /dev/null +++ b/examples/example_045.php @@ -0,0 +1,140 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 045'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 045', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', 'B', 20); + +// add a page +$pdf->AddPage(); + +// set a bookmark for the current position +$pdf->Bookmark('Chapter 1', 0, 0, '', 'B', array(0,64,128)); + +// print a line using Cell() +$pdf->Cell(0, 10, 'Chapter 1', 0, 1, 'L'); + +// Create a fixed link to the first page using the * character +$index_link = $pdf->AddLink(); +$pdf->SetLink($index_link, 0, '*1'); +$pdf->Cell(0, 10, 'Link to INDEX', 0, 1, 'R', false, $index_link); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.1', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.2', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.2', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Sub-Paragraph 1.2.1', 2, 0, '', 'I', array(0,128,0)); +$pdf->Cell(0, 10, 'Sub-Paragraph 1.2.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.3', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.3', 0, 1, 'L'); + +// fixed link to the first page using the * character +$html = 'link to INDEX (page 1)'; +$pdf->writeHTML($html, true, false, true, false, ''); + + +// add some pages and bookmarks +for ($i = 2; $i < 12; $i++) { + $pdf->AddPage(); + $pdf->Bookmark('Chapter '.$i, 0, 0, '', 'B', array(0,64,128)); + $pdf->Cell(0, 10, 'Chapter '.$i, 0, 1, 'L'); +} + +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +// add a new page for TOC +$pdf->addTOCPage(); + +// write the TOC title +$pdf->SetFont('times', 'B', 16); +$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0); +$pdf->Ln(); + +$pdf->SetFont('dejavusans', '', 12); + +// add a simple Table Of Content at first page +// (check the example n. 59 for the HTML version) +$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0)); + +// end of TOC page +$pdf->endTOCPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_045.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_046.php b/examples/example_046.php new file mode 100755 index 0000000..70d11d3 --- /dev/null +++ b/examples/example_046.php @@ -0,0 +1,123 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 046'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 046', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of Text Hyphenation', '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(10); + +/* +Unicode Data for SHY: + Name : SOFT HYPHEN, commonly abbreviated as SHY + HTML Entity (decimal): ­ + HTML Entity (hex): ­ + HTML Entity (named): ­ + How to type in Microsoft Windows: [Alt +00AD] or [Alt 0173] + UTF-8 (hex): 0xC2 0xAD (c2ad) +*/ + +/* +// You can automatically add SOFT HYPHENS to your text using +// the hyphenateText() method, but this requires either an +// hyphenation pattern array of a hyphenation pattern TEX file. +// You can download hyphenation TEX patterns from: +// http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/ + +// EXAMPLE: + +$html = 'On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances and owing to the claims of duty or the obligations of business it will frequently occur that pleasures have to be repudiated and annoyances accepted. The wise man therefore always holds in these matters to this principle of selection: he rejects pleasures to secure other greater pleasures, or else he endures pains to avoid worse pains.'; + +$hyphen_patterns = $pdf->getHyphenPatternsFromTEX('hyphens/hyph-en-gb.tex'); + +$html = $pdf->hyphenateText($html, $hyphen_patterns, array(), 1, 2, 1, 8); +*/ + + +// HTML text with soft hyphens (­) +$html = 'On the other hand, we de­nounce with righ­teous in­dig­na­tion and dis­like men who are so be­guiled and de­mo­r­al­ized by the charms of plea­sure of the mo­ment, so blind­ed by de­sire, that they can­not fore­see the pain and trou­ble that are bound to en­sue; and equal blame be­longs to those who fail in their du­ty through weak­ness of will, which is the same as say­ing through shrink­ing from toil and pain. Th­ese cas­es are per­fect­ly sim­ple and easy to distin­guish. In a free hour, when our pow­er of choice is un­tram­melled and when noth­ing pre­vents our be­ing able to do what we like best, ev­ery plea­sure is to be wel­comed and ev­ery pain avoid­ed. But in cer­tain cir­cum­s­tances and ow­ing to the claims of du­ty or the obli­ga­tions of busi­ness it will fre­quent­ly oc­cur that plea­sures have to be re­pu­di­at­ed and an­noy­ances ac­cept­ed. The wise man there­fore al­ways holds in th­ese mat­ters to this prin­ci­ple of se­lec­tion: he re­jects plea­sures to se­cure other greater plea­sures, or else he en­dures pains to avoid worse pains.'; + +$pdf->SetFont('times', '', 10); +$pdf->SetDrawColor(255,0,0); +$pdf->SetTextColor(0,63,127); + +// print a cell +$pdf->writeHTMLCell(50, 0, '', '', $html, 1, 1, 0, true, 'J'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_046.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_047.php b/examples/example_047.php new file mode 100755 index 0000000..a26ae5d --- /dev/null +++ b/examples/example_047.php @@ -0,0 +1,117 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 047'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 047', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 16); + +// add a page +$pdf->AddPage(); + +$txt = 'Example of Transactions. +TCPDF allows you to undo some operations using the Transactions. +Check the source code for further information.'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(5); + +$pdf->SetFont('times', '', 12); + +// start transaction +$pdf->startTransaction(); + +$pdf->Write(0, "LINE 1\n"); +$pdf->Write(0, "LINE 2\n"); + +// restarts transaction +$pdf->startTransaction(); + +$pdf->Write(0, "LINE 3\n"); +$pdf->Write(0, "LINE 4\n"); + +// rolls back to the last (re)start +$pdf = $pdf->rollbackTransaction(); + +$pdf->Write(0, "LINE 5\n"); +$pdf->Write(0, "LINE 6\n"); + +// start transaction +$pdf->startTransaction(); + +$pdf->Write(0, "LINE 7\n"); + +// commit transaction (actually just frees memory) +$pdf->commitTransaction(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_047.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_048.php b/examples/example_048.php new file mode 100755 index 0000000..ca88a14 --- /dev/null +++ b/examples/example_048.php @@ -0,0 +1,313 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 048'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 048', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of HTML tables', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 8); + +// ----------------------------------------------------------------------------- + +$tbl = << + + COL 1 - ROW 1
      COLSPAN 3 + COL 2 - ROW 1 + COL 3 - ROW 1 + + + COL 2 - ROW 2 - COLSPAN 2
      text line
      text line
      text line
      text line + COL 3 - ROW 2 + + + COL 3 - ROW 3 + + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +$tbl = << + + COL 1 - ROW 1
      COLSPAN 3
      text line
      text line
      text line
      text line
      text line
      text line + COL 2 - ROW 1 + COL 3 - ROW 1 + + + COL 2 - ROW 2 - COLSPAN 2
      text line
      text line
      text line
      text line + COL 3 - ROW 2 + + + COL 3 - ROW 3 + + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +$tbl = << + + COL 1 - ROW 1
      COLSPAN 3
      text line
      text line
      text line
      text line
      text line
      text line + COL 2 - ROW 1 + COL 3 - ROW 1 + + + COL 2 - ROW 2 - COLSPAN 2
      text line
      text line
      text line
      text line + COL 3 - ROW 2
      text line
      text line + + + COL 3 - ROW 3 + + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +$tbl = << + +Left column +Heading Column Span 5 +Heading Column Span 9 + + +Rowspan 2
      This is some text that fills the table cell. +span 2 +span 2 +2 rows +Colspan 8 + + +1a +2a +1b +2b +1 +2 +3 +4 +5 +6 +7 +8 + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +// Table with rowspans and THEAD +$tbl = << + + + A + XXXX + XXXX + XXXX + XXXX + XXXX + + + B + XXXX + XXXX + XXXX + XXXX + XXXX + + + + 1. + XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + XXXX + XXXX
      XXXX + + + 2. + XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + + + XXXX
      XXXX
      XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + + + RRRRRR
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + + + 3. + XXXX1
      XXXX + XXXX
      XXXX + XXXX
      XXXX + + + 4. + XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + XXXX
      XXXX + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +// NON-BREAKING TABLE (nobr="true") + +$tbl = << + + NON-BREAKING TABLE + + + 1-1 + 1-2 + 1-3 + + + 2-1 + 3-2 + 3-3 + + + 3-1 + 3-2 + 3-3 + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +// NON-BREAKING ROWS (nobr="true") + +$tbl = << + + NON-BREAKING ROWS + + + ROW 1
      COLUMN 1 + ROW 1
      COLUMN 2 + ROW 1
      COLUMN 3 + + + ROW 2
      COLUMN 1 + ROW 2
      COLUMN 2 + ROW 2
      COLUMN 3 + + + ROW 3
      COLUMN 1 + ROW 3
      COLUMN 2 + ROW 3
      COLUMN 3 + + +EOD; + +$pdf->writeHTML($tbl, true, false, false, false, ''); + +// ----------------------------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_048.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_049.php b/examples/example_049.php new file mode 100755 index 0000000..7a764fb --- /dev/null +++ b/examples/example_049.php @@ -0,0 +1,126 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 049'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 049', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 10); + +// add a page +$pdf->AddPage(); + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + +IMPORTANT: +If you are printing user-generated content, tcpdf tag can be unsafe. +You can disable this tag by setting to false the K_TCPDF_CALLS_IN_HTML +constant on TCPDF configuration file. + +For security reasons, the parameters for the 'params' attribute of TCPDF +tag must be prepared as an array and encoded with the +serializeTCPDFtagParameters() method (see the example below). + + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + +$html = '

      Test TCPDF Methods in HTML

      +

      IMPORTANT:

      +If you are using user-generated content, the tcpdf tag can be unsafe.
      +You can disable this tag by setting to false the K_TCPDF_CALLS_IN_HTML constant on TCPDF configuration file.
      +

      write1DBarcode method in HTML

      '; + +$params = $pdf->serializeTCPDFtagParameters(array('CODE 39', 'C39', '', '', 80, 30, 0.4, array('position'=>'S', 'border'=>true, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>4), 'N')); +$html .= ''; + +$params = $pdf->serializeTCPDFtagParameters(array('CODE 128', 'C128', '', '', 80, 30, 0.4, array('position'=>'S', 'border'=>true, 'padding'=>4, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>8, 'stretchtext'=>4), 'N')); +$html .= ''; + +$html .= '

      Graphic Functions

      '; + +$params = $pdf->serializeTCPDFtagParameters(array(0)); +$html .= ''; + +$params = $pdf->serializeTCPDFtagParameters(array(50, 50, 40, 10, 'DF', array(), array(0,128,255))); +$html .= ''; + + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, 0); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_049.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_050.php b/examples/example_050.php new file mode 100755 index 0000000..5ccae31 --- /dev/null +++ b/examples/example_050.php @@ -0,0 +1,210 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 050'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 050', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// NOTE: 2D barcode algorithms must be implemented on 2dbarcode.php class file. + +// set font +$pdf->SetFont('helvetica', '', 11); + +// add a page +$pdf->AddPage(); + +// print a message +$txt = "You can also export 2D barcodes in other formats (PNG, SVG, HTML). Check the examples inside the barcode directory.\n"; +$pdf->MultiCell(70, 50, $txt, 0, 'J', false, 1, 125, 30, true, 0, false, true, 0, 'T', false); + + +$pdf->SetFont('helvetica', '', 10); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// set style for barcode +$style = array( + 'border' => true, + 'vpadding' => 'auto', + 'hpadding' => 'auto', + 'fgcolor' => array(0,0,0), + 'bgcolor' => false, //array(255,255,255) + 'module_width' => 1, // width of a single module in points + 'module_height' => 1 // height of a single module in points +); + +// write RAW 2D Barcode + +$code = '111011101110111,010010001000010,010011001110010,010010000010010,010011101110010'; +$pdf->write2DBarcode($code, 'RAW', 80, 30, 30, 20, $style, 'N'); + +// write RAW2 2D Barcode +$code = '[111011101110111][010010001000010][010011001110010][010010000010010][010011101110010]'; +$pdf->write2DBarcode($code, 'RAW2', 80, 60, 30, 20, $style, 'N'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// set style for barcode +$style = array( + 'border' => 2, + 'vpadding' => 'auto', + 'hpadding' => 'auto', + 'fgcolor' => array(0,0,0), + 'bgcolor' => false, //array(255,255,255) + 'module_width' => 1, // width of a single module in points + 'module_height' => 1 // height of a single module in points +); + +// QRCODE,L : QR-CODE Low error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,L', 20, 30, 50, 50, $style, 'N'); +$pdf->Text(20, 25, 'QRCODE L'); + +// QRCODE,M : QR-CODE Medium error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,M', 20, 90, 50, 50, $style, 'N'); +$pdf->Text(20, 85, 'QRCODE M'); + +// QRCODE,Q : QR-CODE Better error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,Q', 20, 150, 50, 50, $style, 'N'); +$pdf->Text(20, 145, 'QRCODE Q'); + +// QRCODE,H : QR-CODE Best error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 20, 210, 50, 50, $style, 'N'); +$pdf->Text(20, 205, 'QRCODE H'); + +// ------------------------------------------------------------------- +// PDF417 (ISO/IEC 15438:2006) + +/* + + The $type parameter can be simple 'PDF417' or 'PDF417' followed by a + number of comma-separated options: + + 'PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6' + + Possible options are: + + a = aspect ratio (width/height); + e = error correction level (0-8); + + Macro Control Block options: + + t = total number of macro segments; + s = macro segment index (0-99998); + f = file ID; + o0 = File Name (text); + o1 = Segment Count (numeric); + o2 = Time Stamp (numeric); + o3 = Sender (text); + o4 = Addressee (text); + o5 = File Size (numeric); + o6 = Checksum (numeric). + + Parameters t, s and f are required for a Macro Control Block, all other parametrs are optional. + To use a comma character ',' on text options, replace it with the character 255: "\xff". + +*/ + +$pdf->write2DBarcode('www.tcpdf.org', 'PDF417', 80, 90, 0, 30, $style, 'N'); +$pdf->Text(80, 85, 'PDF417 (ISO/IEC 15438:2006)'); + +// ------------------------------------------------------------------- +// DATAMATRIX (ISO/IEC 16022:2006) + +$pdf->write2DBarcode('http://www.tcpdf.org', 'DATAMATRIX', 80, 150, 50, 50, $style, 'N'); +$pdf->Text(80, 145, 'DATAMATRIX (ISO/IEC 16022:2006)'); + +// ------------------------------------------------------------------- + +// new style +$style = array( + 'border' => 2, + 'padding' => 'auto', + 'fgcolor' => array(0,0,255), + 'bgcolor' => array(255,255,64) +); + +// QRCODE,H : QR-CODE Best error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 80, 210, 50, 50, $style, 'N'); +$pdf->Text(80, 205, 'QRCODE H - COLORED'); + +// new style +$style = array( + 'border' => false, + 'padding' => 0, + 'fgcolor' => array(128,0,0), + 'bgcolor' => false +); + +// QRCODE,H : QR-CODE Best error correction +$pdf->write2DBarcode('www.tcpdf.org', 'QRCODE,H', 140, 210, 50, 50, $style, 'N'); +$pdf->Text(140, 205, 'QRCODE H - NO PADDING'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_050.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_051.php b/examples/example_051.php new file mode 100755 index 0000000..dc2d94e --- /dev/null +++ b/examples/example_051.php @@ -0,0 +1,145 @@ +getBreakMargin(); + // get current auto-page-break mode + $auto_page_break = $this->AutoPageBreak; + // disable auto-page-break + $this->SetAutoPageBreak(false, 0); + // set bacground image + $img_file = K_PATH_IMAGES.'image_demo.jpg'; + $this->Image($img_file, 0, 0, 210, 297, '', '', '', false, 300, '', false, false, 0); + // restore auto-page-break status + $this->SetAutoPageBreak($auto_page_break, $bMargin); + // set the starting point for the page content + $this->setPageMark(); + } +} + +// create new PDF document +$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 051'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(0); +$pdf->SetFooterMargin(0); + +// remove default footer +$pdf->setPrintFooter(false); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 48); + +// add a page +$pdf->AddPage(); + +// Print a text +$html = ' PAGE 1  +

      You can set a full page background.

      '; +$pdf->writeHTML($html, true, false, true, false, ''); + + +// add a page +$pdf->AddPage(); + +// Print a text +$html = ' PAGE 2 '; +$pdf->writeHTML($html, true, false, true, false, ''); + +// --- example with background set on page --- + +// remove default header +$pdf->setPrintHeader(false); + +// add a page +$pdf->AddPage(); + + +// -- set new background --- + +// get the current page break margin +$bMargin = $pdf->getBreakMargin(); +// get current auto-page-break mode +$auto_page_break = $pdf->getAutoPageBreak(); +// disable auto-page-break +$pdf->SetAutoPageBreak(false, 0); +// set bacground image +$img_file = K_PATH_IMAGES.'image_demo.jpg'; +$pdf->Image($img_file, 0, 0, 210, 297, '', '', '', false, 300, '', false, false, 0); +// restore auto-page-break status +$pdf->SetAutoPageBreak($auto_page_break, $bMargin); +// set the starting point for the page content +$pdf->setPageMark(); + + +// Print a text +$html = 'PAGE 3'; +$pdf->writeHTML($html, true, false, true, false, ''); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_051.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_052.php b/examples/example_052.php new file mode 100755 index 0000000..2af27f0 --- /dev/null +++ b/examples/example_052.php @@ -0,0 +1,121 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 052'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 052', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +/* +NOTES: + - To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + - To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + - To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes +*/ + +// set certificate file +$certificate = 'file://data/cert/tcpdf.crt'; + +// set additional information +$info = array( + 'Name' => 'TCPDF', + 'Location' => 'Office', + 'Reason' => 'Testing TCPDF', + 'ContactInfo' => 'http://www.tcpdf.org', + ); + +// set document signature +$pdf->setSignature($certificate, $certificate, 'tcpdfdemo', '', 2, $info); + +// set font +$pdf->SetFont('helvetica', '', 12); + +// add a page +$pdf->AddPage(); + +// print a line of text +$text = 'This is a digitally signed document using the default (example) tcpdf.crt certificate.
      To validate this signature you have to load the tcpdf.fdf on the Arobat Reader to add the certificate to List of Trusted Identities.

      For more information check the source code of this example and the source code documentation for the setSignature() method.

      www.tcpdf.org'; +$pdf->writeHTML($text, true, 0, true, 0); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// *** set signature appearance *** + +// create content for signature (image and/or text) +$pdf->Image('images/tcpdf_signature.png', 180, 60, 15, 15, 'PNG'); + +// define active area for signature appearance +$pdf->setSignatureAppearance(180, 60, 15, 15); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// *** set an empty signature appearance *** +$pdf->addEmptySignatureAppearance(180, 80, 15, 15); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_052.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_053.php b/examples/example_053.php new file mode 100755 index 0000000..8c784d5 --- /dev/null +++ b/examples/example_053.php @@ -0,0 +1,108 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 053'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 053', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('times', '', 14); + +// add a page +$pdf->AddPage(); + +// print a some of text +$text = 'This is an example of JavaScript usage on PDF documents.

      For more information check the source code of this example, the source code documentation for the IncludeJS() method and the JavaScript for Acrobat API Reference guide.

      www.tcpdf.org'; +$pdf->writeHTML($text, true, 0, true, 0); + +// write some JavaScript code +$js = <<IncludeJS($js); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_053.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_054.php b/examples/example_054.php new file mode 100755 index 0000000..af4545d --- /dev/null +++ b/examples/example_054.php @@ -0,0 +1,128 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 054'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 054', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// IMPORTANT: disable font subsetting to allow users editing the document +$pdf->setFontSubsetting(false); + +// set font +$pdf->SetFont('helvetica', '', 10, '', false); + +// add a page +$pdf->AddPage(); + +// create some HTML content +$html = <<XHTML Form Example +
      +
      +

      +

      +

      +
      +
      +

      + +

      + +


      +
      +
      +


      + + + + +
      +
      +EOD; + +// output the HTML content +$pdf->writeHTML($html, true, 0, true, 0); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_054.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_055.php b/examples/example_055.php new file mode 100755 index 0000000..a825966 --- /dev/null +++ b/examples/example_055.php @@ -0,0 +1,115 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 055'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 055', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 14); + +// array of font names +$core_fonts = array('courier', 'courierB', 'courierI', 'courierBI', 'helvetica', 'helveticaB', 'helveticaI', 'helveticaBI', 'times', 'timesB', 'timesI', 'timesBI', 'symbol', 'zapfdingbats'); + +// set fill color +$pdf->SetFillColor(221,238,255); + +// create one HTML table for each core font +foreach($core_fonts as $font) { + // add a page + $pdf->AddPage(); + + // Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M') + + // set font for title + $pdf->SetFont('helvetica', 'B', 16); + + // print font name + $pdf->Cell(0, 10, 'FONT: '.$font, 1, 1, 'C', true, '', 0, false, 'T', 'M'); + + // set font for chars + $pdf->SetFont($font, '', 16); + + // print each character + for ($i = 0; $i < 256; ++$i) { + if (($i > 0) AND (($i % 16) == 0)) { + $pdf->Ln(); + } + $pdf->Cell(11.25, 11.25, TCPDF_FONTS::unichr($i), 1, 0, 'C', false, '', 0, false, 'T', 'M'); + } + + $pdf->Ln(20); + + // print a pangram + $pdf->Cell(0, 0, 'The quick brown fox jumps over the lazy dog', 0, 1, 'C', false, '', 0, false, 'T', 'M'); +} + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_055.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_056.php b/examples/example_056.php new file mode 100755 index 0000000..c3dfe25 --- /dev/null +++ b/examples/example_056.php @@ -0,0 +1,133 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 056'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 056', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 18); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of Registration Marks, Crop Marks and Color Bars', '', 0, 'L', true, 0, false, false, 0); + +$pdf->Ln(5); + +// color registration bars + +// A,W,R,G,B,C,M,Y,K,RGB,CMYK,ALL,ALLSPOT, +$pdf->colorRegistrationBar(50, 70, 40, 40, true, false, 'A,R,G,B,C,M,Y,K'); +$pdf->colorRegistrationBar(90, 70, 40, 40, true, true, 'A,R,G,B,C,M,Y,K'); +$pdf->colorRegistrationBar(50, 115, 80, 5, false, true, 'A,W,R,G,B,C,M,Y,K,ALL'); +$pdf->colorRegistrationBar(135, 70, 5, 50, false, false, 'A,W,R,G,B,C,M,Y,K,ALL'); + +// corner crop marks + +$pdf->cropMark(50, 70, 10, 10, 'TL'); +$pdf->cropMark(140, 70, 10, 10, 'TR'); +$pdf->cropMark(50, 120, 10, 10, 'BL'); +$pdf->cropMark(140, 120, 10, 10, 'BR'); + +// various crop marks + +$pdf->cropMark(95, 65, 5, 5, 'LEFT,TOP,RIGHT', array(255,0,0)); +$pdf->cropMark(95, 125, 5, 5, 'LEFT,BOTTOM,RIGHT', array(255,0,0)); + +$pdf->cropMark(45, 95, 5, 5, 'TL,BL', array(0,255,0)); +$pdf->cropMark(145, 95, 5, 5, 'TR,BR', array(0,255,0)); + +$pdf->cropMark(95, 140, 5, 5, 'A,D', array(0,0,255)); + +// registration marks + +$pdf->registrationMark(40, 60, 5, false); +$pdf->registrationMark(150, 60, 5, true, array(0,0,0), array(255,255,0)); +$pdf->registrationMark(40, 130, 5, true, array(0,0,0), array(255,255,0)); +$pdf->registrationMark(150, 130, 5, false, array(100,100,100,100,'All'), array(0,0,0,0,'None')); + +// test registration bar with spot colors + +$pdf->AddSpotColor('My TCPDF Dark Green', 100, 50, 80, 45); +$pdf->AddSpotColor('My TCPDF Light Yellow', 0, 0, 55, 0); +$pdf->AddSpotColor('My TCPDF Black', 0, 0, 0, 100); +$pdf->AddSpotColor('My TCPDF Red', 30, 100, 90, 10); +$pdf->AddSpotColor('My TCPDF Green', 100, 30, 100, 0); +$pdf->AddSpotColor('My TCPDF Blue', 100, 60, 10, 5); +$pdf->AddSpotColor('My TCPDF Yellow', 0, 20, 100, 0); + +$pdf->colorRegistrationBar(50, 150, 80, 10, false, true, 'ALLSPOT'); + +// CMYK registration mark +$pdf->registrationMarkCMYK(150, 155, 8); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_056.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_057.php b/examples/example_057.php new file mode 100755 index 0000000..9714b40 --- /dev/null +++ b/examples/example_057.php @@ -0,0 +1,268 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 057'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 057', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of alignment options for Cell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 11); + +// set border width +$pdf->SetLineWidth(0.7); + +// set color for cell border +$pdf->SetDrawColor(0,128,255); + +$pdf->setCellHeightRatio(3); + +$pdf->SetXY(15, 60); + +// text on center +$pdf->Cell(30, 0, 'Top-Center', 1, $ln=0, 'C', 0, '', 0, false, 'T', 'C'); +$pdf->Cell(30, 0, 'Center-Center', 1, $ln=0, 'C', 0, '', 0, false, 'C', 'C'); +$pdf->Cell(30, 0, 'Bottom-Center', 1, $ln=0, 'C', 0, '', 0, false, 'B', 'C'); +$pdf->Cell(30, 0, 'Ascent-Center', 1, $ln=0, 'C', 0, '', 0, false, 'A', 'C'); +$pdf->Cell(30, 0, 'Baseline-Center', 1, $ln=0, 'C', 0, '', 0, false, 'L', 'C'); +$pdf->Cell(30, 0, 'Descent-Center', 1, $ln=0, 'C', 0, '', 0, false, 'D', 'C'); + + +$pdf->SetXY(15, 90); + +// text on top +$pdf->Cell(30, 0, 'Top-Top', 1, $ln=0, 'C', 0, '', 0, false, 'T', 'T'); +$pdf->Cell(30, 0, 'Center-Top', 1, $ln=0, 'C', 0, '', 0, false, 'C', 'T'); +$pdf->Cell(30, 0, 'Bottom-Top', 1, $ln=0, 'C', 0, '', 0, false, 'B', 'T'); +$pdf->Cell(30, 0, 'Ascent-Top', 1, $ln=0, 'C', 0, '', 0, false, 'A', 'T'); +$pdf->Cell(30, 0, 'Baseline-Top', 1, $ln=0, 'C', 0, '', 0, false, 'L', 'T'); +$pdf->Cell(30, 0, 'Descent-Top', 1, $ln=0, 'C', 0, '', 0, false, 'D', 'T'); + + +$pdf->SetXY(15, 120); + +// text on bottom +$pdf->Cell(30, 0, 'Top-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'T', 'B'); +$pdf->Cell(30, 0, 'Center-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'C', 'B'); +$pdf->Cell(30, 0, 'Bottom-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'B', 'B'); +$pdf->Cell(30, 0, 'Ascent-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'A', 'B'); +$pdf->Cell(30, 0, 'Baseline-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'L', 'B'); +$pdf->Cell(30, 0, 'Descent-Bottom', 1, $ln=0, 'C', 0, '', 0, false, 'D', 'B'); + + +// draw some reference lines +$linestyle = array('width' => 0.1, 'cap' => 'butt', 'join' => 'miter', 'dash' => '', 'phase' => 0, 'color' => array(255, 0, 0)); +$pdf->Line(15, 60, 195, 60, $linestyle); +$pdf->Line(15, 90, 195, 90, $linestyle); +$pdf->Line(15, 120, 195, 120, $linestyle); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// Print an image to explain cell measures + +$pdf->Image('images/tcpdf_cell.png', 15, 160, 100, 100, 'PNG', '', '', false, 300, '', false, false, 0, false, false, false); +$legend = 'LEGEND: + +X: cell x top-left origin (top-right for RTL) +Y: cell y top-left origin (top-right for RTL) +CW: cell width +CH: cell height +LW: line width +NRL: normal line position +EXT: external line position +INT: internal line position +ML: margin left +MR: margin right +MT: margin top +MB: margin bottom +PL: padding left +PR: padding right +PT: padding top +PB: padding bottom +TW: text width +FA: font ascent +FB: font baseline +FD: font descent'; +$pdf->SetFont('helvetica', '', 10); +$pdf->setCellHeightRatio(1.25); +$pdf->MultiCell(0, 0, $legend, 0, 'L', false, 1, 125, 160, true, 0, false, true, 0, 'T', false); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// CELL BORDERS + +// add a page +$pdf->AddPage(); + +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Example of borders for Cell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 11); + +// set border width +$pdf->SetLineWidth(0.508); + +// set color for cell border +$pdf->SetDrawColor(0,128,255); + +// set filling color +$pdf->SetFillColor(255,255,128); + +// set cell height ratio +$pdf->setCellHeightRatio(3); + +$pdf->Cell(30, 0, '1', 1, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTRB', 'LTRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTR', 'LTR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TRB', 'TRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LRB', 'LRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTB', 'LTB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LT', 'LT', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TR', 'TR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'RB', 'RB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LB', 'LB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LR', 'LR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TB', 'TB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'L', 'L', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'T', 'T', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'R', 'R', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'B', 'B', 1, 'C', 1, '', 0, false, 'T', 'C'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// ADVANCED SETTINGS FOR CELL BORDERS + +// add a page +$pdf->AddPage(); + +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Example of advanced border settings for Cell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 11); + +// set border width +$pdf->SetLineWidth(1); + +// set color for cell border +$pdf->SetDrawColor(0,128,255); + +// set filling color +$pdf->SetFillColor(255,255,128); + +$border = array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array( +'L' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0)), +'R' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 255)), +'T' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 255, 0)), +'B' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 255))); +$pdf->Cell(30, 0, 'LTRB', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array('mode' => 'ext', 'LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB EXT', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array('mode' => 'int', 'LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB INT', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_057.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_058.php b/examples/example_058.php new file mode 100755 index 0000000..1e472fb --- /dev/null +++ b/examples/example_058.php @@ -0,0 +1,94 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 058'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 058', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 10); + +// add a page +$pdf->AddPage(); + +// NOTE: Uncomment the following line to rasterize SVG image using the ImageMagick library. +//$pdf->setRasterizeVectorImages(true); + +$pdf->ImageSVG($file='images/testsvg.svg', $x=15, $y=30, $w='', $h='', $link='http://www.tcpdf.org', $align='', $palign='', $border=1, $fitonpage=false); + +$pdf->ImageSVG($file='images/tux.svg', $x=30, $y=100, $w='', $h=100, $link='', $align='', $palign='', $border=0, $fitonpage=false); + +$pdf->SetFont('helvetica', '', 8); +$pdf->SetY(195); +$txt = '© The copyright holder of the above Tux image is Larry Ewing, allows anyone to use it for any purpose, provided that the copyright holder is properly attributed. Redistribution, derivative work, commercial use, and all other use is permitted.'; +$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_058.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_059.php b/examples/example_059.php new file mode 100755 index 0000000..9396784 --- /dev/null +++ b/examples/example_059.php @@ -0,0 +1,190 @@ +tocpage) { + // *** replace the following parent::Header() with your code for TOC page + parent::Header(); + } else { + // *** replace the following parent::Header() with your code for normal pages + parent::Header(); + } + } + + /** + * Overwrite Footer() method. + * @public + */ + public function Footer() { + if ($this->tocpage) { + // *** replace the following parent::Footer() with your code for TOC page + parent::Footer(); + } else { + // *** replace the following parent::Footer() with your code for normal pages + parent::Footer(); + } + } + +} // end of class + +// create new PDF document +$pdf = new TOC_TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); + +// set document information +$pdf->SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 059'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 059', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// set font +$pdf->SetFont('helvetica', '', 10); + +// --------------------------------------------------------- + +// create some content ... + +// add a page +$pdf->AddPage(); + +// set a bookmark for the current position +$pdf->Bookmark('Chapter 1', 0, 0, '', 'B', array(0,64,128)); + +// print a line using Cell() +$pdf->Cell(0, 10, 'Chapter 1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.1', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.2', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.2', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Sub-Paragraph 1.2.1', 2, 0, '', 'I', array(0,128,0)); +$pdf->Cell(0, 10, 'Sub-Paragraph 1.2.1', 0, 1, 'L'); + +$pdf->AddPage(); +$pdf->Bookmark('Paragraph 1.3', 1, 0, '', '', array(128,0,0)); +$pdf->Cell(0, 10, 'Paragraph 1.3', 0, 1, 'L'); + +// add some pages and bookmarks +for ($i = 2; $i < 12; $i++) { + $pdf->AddPage(); + $pdf->Bookmark('Chapter '.$i, 0, 0, '', 'B', array(0,64,128)); + $pdf->Cell(0, 10, 'Chapter '.$i, 0, 1, 'L'); +} + + +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + +// add a new page for TOC +$pdf->addTOCPage(); + +// write the TOC title and/or other elements on the TOC page +$pdf->SetFont('times', 'B', 16); +$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0); +$pdf->Ln(); +$pdf->SetFont('helvetica', '', 10); + +// define styles for various bookmark levels +$bookmark_templates = array(); + +/* + * The key of the $bookmark_templates array represent the bookmark level (from 0 to n). + * The following templates will be replaced with proper content: + * #TOC_DESCRIPTION# this will be replaced with the bookmark description; + * #TOC_PAGE_NUMBER# this will be replaced with page number. + * + * NOTES: + * If you want to align the page number on the right you have to use a monospaced font like courier, otherwise you can left align using any font type. + * The following is just an example, you can get various styles by combining various HTML elements. + */ + +// A monospaced font for the page number is mandatory to get the right alignment +$bookmark_templates[0] = '
      #TOC_DESCRIPTION##TOC_PAGE_NUMBER#
      '; +$bookmark_templates[1] = '
       #TOC_DESCRIPTION##TOC_PAGE_NUMBER#
      '; +$bookmark_templates[2] = '
       #TOC_DESCRIPTION##TOC_PAGE_NUMBER#
      '; +// add other bookmark level templates here ... + +// add table of content at page 1 +// (check the example n. 45 for a text-only TOC +$pdf->addHTMLTOC(1, 'INDEX', $bookmark_templates, true, 'B', array(128,0,0)); + +// end of TOC page +$pdf->endTOCPage(); + +// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_059.pdf', 'D'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_060.php b/examples/example_060.php new file mode 100755 index 0000000..03bad28 --- /dev/null +++ b/examples/example_060.php @@ -0,0 +1,108 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 060'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 060', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// set font +$pdf->SetFont('helvetica', '', 20); + +// --------------------------------------------------------- + +// set page format (read source code documentation for further information) +$page_format = array( + 'MediaBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297), + 'CropBox' => array ('llx' => 0, 'lly' => 0, 'urx' => 210, 'ury' => 297), + 'BleedBox' => array ('llx' => 5, 'lly' => 5, 'urx' => 205, 'ury' => 292), + 'TrimBox' => array ('llx' => 10, 'lly' => 10, 'urx' => 200, 'ury' => 287), + 'ArtBox' => array ('llx' => 15, 'lly' => 15, 'urx' => 195, 'ury' => 282), + 'Dur' => 3, + 'trans' => array( + 'D' => 1.5, + 'S' => 'Split', + 'Dm' => 'V', + 'M' => 'O' + ), + 'Rotate' => 90, + 'PZ' => 1, +); + +// Check the example n. 29 for viewer preferences + +// add first page --- +$pdf->AddPage('P', $page_format, false, false); +$pdf->Cell(0, 12, 'First Page', 1, 1, 'C'); + +// add second page --- +$page_format['Rotate'] = 270; +$pdf->AddPage('P', $page_format, false, false); +$pdf->Cell(0, 12, 'Second Page', 1, 1, 'C'); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_060.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_061.php b/examples/example_061.php new file mode 100755 index 0000000..13e18c2 --- /dev/null +++ b/examples/example_061.php @@ -0,0 +1,264 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 061'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 10); + +// add a page +$pdf->AddPage(); + +/* NOTE: + * ********************************************************* + * You can load external XHTML using : + * + * $html = file_get_contents('/path/to/your/file.html'); + * + * External CSS files will be automatically loaded. + * Sometimes you need to fix the path of the external CSS. + * ********************************************************* + */ + +// define some HTML content with style +$html = << + + +

      Example of XHTML + CSS

      + +

      Example of paragraph with class selector. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc.

      + +

      Example of paragraph with ID selector. Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.

      + +
      example of DIV with border and fill. +
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. +
      text-transform LOWERCASE Lorem ipsum dolor sit amet, consectetur adipiscing elit. +
      text-transform uppercase Lorem ipsum dolor sit amet, consectetur adipiscing elit. +
      text-transform cAPITALIZE Lorem ipsum dolor sit amet, consectetur adipiscing elit. +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      No.XXXXXXXX XXXXXXXXXXXX
      1.XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXXXXXX
      XXXX
      2.XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      3.XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      4.XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      XXXX
      +EOF; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// add a page +$pdf->AddPage(); + +$html = ' +

      HTML TIPS & TRICKS

      + +

      REMOVE CELL PADDING

      +
      $pdf->SetCellPadding(0);
      +This is used to remove any additional vertical space inside a single cell of text. + +

      REMOVE TAG TOP AND BOTTOM MARGINS

      +
      $tagvs = array(\'p\' => array(0 => array(\'h\' => 0, \'n\' => 0), 1 => array(\'h\' => 0, \'n\' => 0)));
      +$pdf->setHtmlVSpace($tagvs);
      +Since the CSS margin command is not yet implemented on TCPDF, you need to set the spacing of block tags using the following method. + +

      SET LINE HEIGHT

      +
      $pdf->setCellHeightRatio(1.25);
      +You can use the following method to fine tune the line height (the number is a percentage relative to font height). + +

      CHANGE THE PIXEL CONVERSION RATIO

      +
      $pdf->setImageScale(0.47);
      +This is used to adjust the conversion ratio between pixels and document units. Increase the value to get smaller objects.
      +Since you are using pixel unit, this method is important to set theright zoom factor.

      +Suppose that you want to print a web page larger 1024 pixels to fill all the available page width.
      +An A4 page is larger 210mm equivalent to 8.268 inches, if you subtract 13mm (0.512") of margins for each side, the remaining space is 184mm (7.244 inches).
      +The default resolution for a PDF document is 300 DPI (dots per inch), so you have 7.244 * 300 = 2173.2 dots (this is the maximum number of points you can print at 300 DPI for the given width).
      +The conversion ratio is approximatively 1024 / 2173.2 = 0.47 px/dots
      +If the web page is larger 1280 pixels, on the same A4 page the conversion ratio to use is 1280 / 2173.2 = 0.59 pixels/dots'; + +// output the HTML content +$pdf->writeHTML($html, true, false, true, false, ''); + +// reset pointer to the last page +$pdf->lastPage(); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_061.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_062.php b/examples/example_062.php new file mode 100755 index 0000000..45fc25d --- /dev/null +++ b/examples/example_062.php @@ -0,0 +1,140 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 062'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 062', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 20); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'XObject Templates', '', 0, 'C', 1, 0, false, false, 0); + +/* + * An XObject Template is a PDF block that is a self-contained + * description of any sequence of graphics objects (including path + * objects, text objects, and sampled images). + * An XObject Template may be painted multiple times, either on + * several pages or at several locations on the same page and produces + * the same results each time, subject only to the graphics state at + * the time it is invoked. + */ + + +// start a new XObject Template and set transparency group option +$template_id = $pdf->startTemplate(60, 60, true); + +// create Template content +// ................................................................... +//Start Graphic Transformation +$pdf->StartTransform(); + +// set clipping mask +$pdf->StarPolygon(30, 30, 29, 10, 3, 0, 1, 'CNZ'); + +// draw jpeg image to be clipped +$pdf->Image('images/image_demo.jpg', 0, 0, 60, 60, '', '', '', true, 72, '', false, false, 0, false, false, false); + +//Stop Graphic Transformation +$pdf->StopTransform(); + +$pdf->SetXY(0, 0); + +$pdf->SetFont('times', '', 40); + +$pdf->SetTextColor(255, 0, 0); + +// print a text +$pdf->Cell(60, 60, 'Template', 0, 0, 'C', false, '', 0, false, 'T', 'M'); +// ................................................................... + +// end the current Template +$pdf->endTemplate(); + + +// print the selected Template various times using various transparencies + +$pdf->SetAlpha(0.4); +$pdf->printTemplate($template_id, 15, 50, 20, 20, '', '', false); + +$pdf->SetAlpha(0.6); +$pdf->printTemplate($template_id, 27, 62, 40, 40, '', '', false); + +$pdf->SetAlpha(0.8); +$pdf->printTemplate($template_id, 55, 85, 60, 60, '', '', false); + +$pdf->SetAlpha(1); +$pdf->printTemplate($template_id, 95, 125, 80, 80, '', '', false); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_062.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_063.php b/examples/example_063.php new file mode 100755 index 0000000..de13515 --- /dev/null +++ b/examples/example_063.php @@ -0,0 +1,131 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 063'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 063', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', 'B', 16); + +// add a page +$pdf->AddPage(); + +$pdf->Write(0, 'Example of Text Stretching and Spacing (tracking)', '', 0, 'L', true, 0, false, false, 0); +$pdf->Ln(5); + +// create several cells to display all cases of stretching and spacing combinations. + +$fonts = array('times', 'dejavuserif'); +$alignments = array('L' => 'LEFT', 'C' => 'CENTER', 'R' => 'RIGHT', 'J' => 'JUSTIFY'); + + +// Test all cases using direct stretching/spacing methods +foreach ($fonts as $fkey => $font) { + $pdf->SetFont($font, '', 14); + foreach ($alignments as $align_mode => $align_name) { + for ($stretching = 90; $stretching <= 110; $stretching += 10) { + for ($spacing = -0.254; $spacing <= 0.254; $spacing += 0.254) { + $pdf->setFontStretching($stretching); + $pdf->setFontSpacing($spacing); + $txt = $align_name.' | Stretching = '.$stretching.'% | Spacing = '.sprintf('%+.3F', $spacing).'mm'; + $pdf->Cell(0, 0, $txt, 1, 1, $align_mode); + } + } + } + $pdf->AddPage(); +} + + +// Test all cases using CSS stretching/spacing properties +foreach ($fonts as $fkey => $font) { + $pdf->SetFont($font, '', 11); + foreach ($alignments as $align_mode => $align_name) { + for ($stretching = 90; $stretching <= 110; $stretching += 10) { + for ($spacing = -0.254; $spacing <= 0.254; $spacing += 0.254) { + $html = ''.$align_name.' | Stretching = '.$stretching.'% | Spacing = '.sprintf('%+.3F', $spacing).'mm
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
      '; + $pdf->writeHTMLCell(0, 0, '', '', $html, 1, 1, false, true, $align_mode, false); + } + } + if (!(($fkey == 1) AND ($align_mode == 'J'))) { + $pdf->AddPage(); + } + } +} + + +// reset font stretching +$pdf->setFontStretching(100); + +// reset font spacing +$pdf->setFontSpacing(0); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_063.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_064.php b/examples/example_064.php new file mode 100755 index 0000000..39da071 --- /dev/null +++ b/examples/example_064.php @@ -0,0 +1,176 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 064'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 064', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set font +$pdf->SetFont('helvetica', '', 8); + + +// define some html content for testing +$txt = '

      TEST PAGE REGIONS: A no-write region is a portion of the page with a rectangular or trapezium shape that will not be covered when writing text or html code. A region is always aligned on the left or right side of the page ad is defined using a vertical segment. You can set multiple regions for the same page. You can combine several adjacent regions to approximate curved shapes. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. +Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa. +Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu. +Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra. +Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat.

      '; + + +// add a page +$pdf->AddPage(); + +// print some graphic content +$pdf->Image('images/image_demo.jpg', 155, 30, 40, 40, 'JPG', '', '', true); +$pdf->Image('images/image_demo.jpg', 15, 230, 40, 40, 'JPG', '', '', true); + +// define some graphic styles +$styleA = array('width' => 0.254, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0)); +$styleB = array('width' => 0.254, 'cap' => 'butt', 'join' => 'miter', 'dash' => 3, 'color' => array(127, 127, 127)); +$pdf->SetFillColor(220, 255, 220); + +// write a trapezoid with some information about no-write page regions +$pdf->Polygon(array(15,90, 57,90, 67,140, 15,140), 'DF', array($styleB, $styleA, $styleB, $styleB)); +$pdf->SetXY(15, 90); +$pdf->Cell(42, 0, 'xt,yt', 0, 0, 'R', false, '', 0, false, 'T', 'T'); +$pdf->SetXY(15, 140); +$pdf->Cell(52, 0, 'xb,yb', 0, 0, 'R', false, '', 0, false, 'B', 'B'); +$pdf->SetXY(15, 115); +$pdf->Cell(40, 0, 'side', 0, 0, 'R', false, '', 0, false, 'B', 'B'); +$pdf->SetLineStyle(array('width' => 0.254, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))); +$pdf->Arrow(60, 115, 35, 115, 2, 5, 15); + +// write a trapezoid with some information about no-write page regions +$pdf->Polygon(array(145,130, 195,130, 195,180, 155,180), 'DF', array($styleB, $styleB, $styleB, $styleA)); +$pdf->SetXY(145, 130); +$pdf->Cell(42, 0, 'xt,yt', 0, 0, 'L', false, '', 0, false, 'T', 'T'); +$pdf->SetXY(155, 180); +$pdf->Cell(52, 0, 'xb,yb', 0, 0, 'L', false, '', 0, false, 'B', 'B'); +$pdf->SetXY(160, 155); +$pdf->Cell(30, 0, 'side', 0, 0, 'L', false, '', 0, false, 'B', 'B'); +$pdf->SetLineStyle(array('width' => 0.254, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))); +$pdf->Arrow(155, 155, 180, 155, 2, 5, 15); + +// reset x,y position +$pdf->SetXY(15, 30); + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +// define no-write page regions to avoid text overlapping images +/* + 'page' => page number or empy for current page + 'xt' => X top + 'yt' => Y top + 'yb' => Y bottom + 'side' => page side ('L' = left or 'R' = right) +*/ +$regions = array( +array('page' => '', 'xt' => 153, 'yt' => 30, 'xb' => 153, 'yb' => 70, 'side' => 'R'), +array('page' => '', 'xt' => 60, 'yt' => 90, 'xb' => 70, 'yb' => 140, 'side' => 'L'), +array('page' => '', 'xt' => 143, 'yt' => 130, 'xb' => 153, 'yb' => 180, 'side' => 'R'), +array('page' => '', 'xt' => 58, 'yt' => 230, 'xb' => 58, 'yb' => 270, 'side' => 'L') +); + +// set page regions, check also getPageRegions(), addPageRegion() and removePageRegion() +$pdf->setPageRegions($regions); + +// write html text +$pdf->writeHTML($txt, true, false, true, false, ''); + + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// set a circular no-write region on the second page +$regions = array( +array('page' => 2, 'xt' => 195, 'yt' => 110, 'xb' => 179.693, 'yb' => 113.045, 'side' => 'R'), +array('page' => 2, 'xt' => 179.693, 'yt' => 113.045, 'xb' => 166.716, 'yb' => 121.716, 'side' => 'R'), +array('page' => 2, 'xt' => 166.716, 'yt' => 121.716, 'xb' => 158.045, 'yb' => 134.693, 'side' => 'R'), +array('page' => 2, 'xt' => 158.045, 'yt' => 134.693, 'xb' => 155, 'yb' => 150, 'side' => 'R'), +array('page' => 2, 'xt' => 155, 'yt' => 150, 'xb' => 158.045, 'yb' => 165.307, 'side' => 'R'), +array('page' => 2, 'xt' => 158.045, 'yt' => 165.307, 'xb' => 166.716, 'yb' => 178.284, 'side' => 'R'), +array('page' => 2, 'xt' => 166.716, 'yt' => 178.284, 'xb' => 179.693, 'yb' => 186.955, 'side' => 'R'), +array('page' => 2, 'xt' => 179.693, 'yt' => 186.955, 'xb' => 195, 'yb' => 190, 'side' => 'R') +); +$pdf->setPageRegions($regions); + +$pdf->Polygon(array(195,110, 179.693,113.045, 166.716,121.716, 158.045,134.693, 155,150, 158.045,165.307, 166.716,178.284, 179.693,186.955, 195,190), 'DF'); + +$pdf->Ln(15); + +// define some html content for testing +$txt = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc. Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa. Integer non sem eget neque mattis accumsan. Maecenas eu nisl mauris, sit amet interdum ipsum. In pharetra erat vel lectus venenatis elementum. Nulla non elit ligula, sit amet mollis urna. Morbi ut gravida est. Mauris tincidunt sem et turpis molestie malesuada. Curabitur vel nulla risus, sed mollis erat. Suspendisse vehicula accumsan purus nec varius. Donec fermentum lorem id felis sodales dictum. Quisque et dolor ipsum. Nam luctus consectetur dui vitae fermentum. Curabitur sodales consequat augue, id ultricies augue tempor ac. Aliquam ac magna id ipsum vehicula bibendum. Sed elementum congue tristique. Phasellus vel lorem eu lectus porta sodales. Etiam neque tortor, sagittis id pharetra quis, laoreet vel arcu. Cras quam mi, ornare laoreet laoreet vel, vehicula at lacus. Maecenas a lacus accumsan augue convallis sagittis sed quis odio. Morbi sit amet turpis diam, dictum convallis urna. Cras eget interdum augue. Cras eu nisi sit amet dolor faucibus porttitor. Suspendisse potenti. Nunc vitae dolor risus, at cursus libero. Suspendisse bibendum tellus non nibh hendrerit tristique. Mauris eget orci elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam porta libero non ante laoreet semper. Proin volutpat sodales mi, ac fermentum erat sagittis in. Vivamus at viverra felis. Ut pretium facilisis ante et pharetra. Nulla facilisi. Cras varius quam eget libero aliquam vitae tincidunt leo rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque a nisl massa, quis pretium urna. Proin vel porttitor tortor. Cras rhoncus congue velit in bibendum. Donec pharetra semper augue id lacinia. Quisque magna quam, hendrerit eu aliquam et, pellentesque ut tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas nulla quam, rutrum eu feugiat at, elementum eu libero. Maecenas ullamcorper leo et turpis rutrum ac laoreet eros faucibus. Phasellus condimentum lorem quis neque imperdiet quis molestie enim iaculis. Phasellus risus est, vestibulum ut convallis ultrices, dignissim nec erat. Etiam congue lobortis laoreet. Nulla ut neque sed velit dapibus semper. Quisque nec dolor id nibh eleifend iaculis. Vivamus vitae fermentum odio. Etiam malesuada quam in nulla aliquam sed convallis dui feugiat.'."\n"; + +// write text +$pdf->MultiCell(0, 0, $txt, 0, 'J', false, 1, '', '', true, 0, false, true, 0, 'T', false); + +// --------------------------------------------------------- + +//Close and output PDF document +$pdf->Output('example_064.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/example_065.php b/examples/example_065.php new file mode 100755 index 0000000..f1bbcbe --- /dev/null +++ b/examples/example_065.php @@ -0,0 +1,98 @@ +SetCreator(PDF_CREATOR); +$pdf->SetAuthor('Nicola Asuni'); +$pdf->SetTitle('TCPDF Example 065'); +$pdf->SetSubject('TCPDF Tutorial'); +$pdf->SetKeywords('TCPDF, PDF, example, test, guide'); + +// set default header data +$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 065', PDF_HEADER_STRING); + +// set header and footer fonts +$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); +$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); + +// set default monospaced font +$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); + +// set margins +$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); +$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); +$pdf->SetFooterMargin(PDF_MARGIN_FOOTER); + +// set auto page breaks +$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); + +// set image scale factor +$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); + +// set some language-dependent strings (optional) +if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { + require_once(dirname(__FILE__).'/lang/eng.php'); + $pdf->setLanguageArray($l); +} + +// --------------------------------------------------------- + +// set default font subsetting mode +$pdf->setFontSubsetting(true); + +// Set font +$pdf->SetFont('helvetica', '', 14, '', true); + +// Add a page +// This method has several options, check the source code documentation for more information. +$pdf->AddPage(); + +// Set some content to print +$html = <<Example of  TCPDF  document in PDF/A-1b mode. +This document conforms to the standard PDF/A-1b (ISO 19005-1:2005). +

      Please check the source code documentation and other examples for further information (http://www.tcpdf.org).

      +

      TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!

      +EOD; + +// Print text using writeHTMLCell() +$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true); + +// --------------------------------------------------------- + +// Close and output PDF document +// This method has several options, check the source code documentation for more information. +$pdf->Output('example_065.pdf', 'I'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/examples/images/_blank.png b/examples/images/_blank.png new file mode 100644 index 0000000..38f7b2f Binary files /dev/null and b/examples/images/_blank.png differ diff --git a/examples/images/alpha.png b/examples/images/alpha.png new file mode 100644 index 0000000..5447918 Binary files /dev/null and b/examples/images/alpha.png differ diff --git a/examples/images/image_demo.jpg b/examples/images/image_demo.jpg new file mode 100644 index 0000000..262bce2 Binary files /dev/null and b/examples/images/image_demo.jpg differ diff --git a/examples/images/image_with_alpha.png b/examples/images/image_with_alpha.png new file mode 100644 index 0000000..3011618 Binary files /dev/null and b/examples/images/image_with_alpha.png differ diff --git a/examples/images/img.png b/examples/images/img.png new file mode 100644 index 0000000..9c1a075 Binary files /dev/null and b/examples/images/img.png differ diff --git a/examples/images/logo_example.gif b/examples/images/logo_example.gif new file mode 100644 index 0000000..010b487 Binary files /dev/null and b/examples/images/logo_example.gif differ diff --git a/examples/images/logo_example.jpg b/examples/images/logo_example.jpg new file mode 100644 index 0000000..6d9b8fd Binary files /dev/null and b/examples/images/logo_example.jpg differ diff --git a/examples/images/logo_example.png b/examples/images/logo_example.png new file mode 100644 index 0000000..1379945 Binary files /dev/null and b/examples/images/logo_example.png differ diff --git a/examples/images/tcpdf_box.ai b/examples/images/tcpdf_box.ai new file mode 100644 index 0000000..0c14846 --- /dev/null +++ b/examples/images/tcpdf_box.ai @@ -0,0 +1,214 @@ +%!PS-Adobe-3.0 EPSF +%%Creator: Adobe Illustrator +%%BoundingBox: -7 0 487 327 +%%HiResBoundingBox: -6.66162 2.44007e-05 486.662 326.648 +%AI5_FileFormat 3 +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%EndSetup +1 XR +%AI5_BeginLayer +1 1 1 1 0 0 -1 49 80 161 Lb +(New Layer) Ln +0.620000 0.580000 0.435000 0.996000 K +[] 0 d +1.402287 w +0 j +0 J +0.263000 0.290000 0.898000 0.263000 k +72.7885 255.643 m +277.08 286.778 L +425.478 260.993 L +408.269 190.301 L +113.504 181.247 L +113.504 181.247 72.9813 241.769 72.7885 255.643 C +b +0.620000 0.580000 0.435000 0.996000 K +1 j +0.094000 0.102000 0.369000 0.016000 k +423.247 259.914 m +240.217 207.097 L +240.635 0.701168 L +397.776 116.053 L +423.247 259.914 L +b +0.620000 0.580000 0.435000 0.996000 K +0.133000 0.141000 0.541000 0.035000 k +72.1745 254.207 m +240.217 207.097 L +240.561 0.783816 L +101.054 87.946 L +72.1745 254.207 L +b +0.047000 0.059000 0.184000 0.004000 k +423.247 259.914 m +308.187 51.1553 L +396.862 116.972 L +423.247 259.914 L +f +0.620000 0.580000 0.435000 0.996000 K +0 j +0.047000 0.059000 0.184000 0.004000 k +479.312 250.415 m +423.613 260.243 L +240.385 206.966 L +314.061 186.394 L +479.312 250.415 L +b +0.620000 0.580000 0.435000 0.996000 K +0.047000 0.059000 0.184000 0.004000 k +69.9121 254.273 m +237.965 207.131 L +163.618 164.537 L +0.687544 234.686 L +69.9121 254.273 L +b +0.620000 0.580000 0.435000 0.996000 K +0.047000 0.059000 0.184000 0.004000 k +242.971 319.299 m +275.613 286.233 L +72.5703 254.295 L +16.555 296.161 L +242.971 319.299 L +b +0.620000 0.580000 0.435000 0.996000 K +0.133000 0.141000 0.541000 0.035000 k +423.496 260.684 m +275.426 286.441 L +307.326 316.69 L +462.053 292.606 L +423.496 260.684 L +b +0.196000 0.227000 0.871000 0.106000 k +75.26 254.037 m +274.806 285.371 L +227.928 211.257 L +163.396 228.836 130.937 238.701 75.26 254.037 C +f +0.620000 0.580000 0.435000 0.996000 K +1 j +0.169000 0.314000 0.424000 0.094000 k +275.528 286.329 m +274.75 216.78 L +275.528 286.329 L +b +0.031000 0.949000 0.745000 0.729000 k +285.929 160.982 m +285.929 160.982 285.078 139.734 285.078 139.734 C +285.078 139.734 275.378 135.096 275.378 135.096 C +275.378 135.096 273.058 57.6061 273.058 57.6061 C +273.058 57.6061 257.133 47.3536 257.133 47.3536 C +257.133 47.3536 258.059 126.816 258.059 126.816 C +258.059 126.816 247.186 121.618 247.186 121.618 C +247.186 121.618 247.186 144.26 247.186 144.26 C +247.186 144.26 285.929 160.982 285.929 160.982 C +F +0.031000 0.949000 0.745000 0.729000 k +320.884 135.342 m +320.884 135.342 307.279 128.129 307.279 128.129 C +307.279 128.129 308.36 144.944 308.36 144.944 C +308.681 149.948 308.724 153.011 308.483 154.097 C +308.268 155.24 307.632 155.567 306.572 155.073 C +305.368 154.512 304.553 153.381 304.135 151.687 C +303.718 149.995 303.36 146.608 303.063 141.565 C +303.063 141.565 300.477 97.6864 300.477 97.6864 C +300.22 93.3298 300.208 90.6032 300.439 89.4791 C +300.668 88.3599 301.318 88.1316 302.385 88.7881 C +303.403 89.4149 304.103 90.4684 304.487 91.9528 C +304.894 93.4524 305.253 96.6211 305.567 101.497 C +305.567 101.497 306.297 112.86 306.297 112.86 C +306.297 112.86 319.718 120.438 319.718 120.438 C +319.718 120.438 319.446 116.964 319.446 116.964 C +318.734 107.862 317.873 101.293 316.856 97.1389 C +315.864 93.0164 314.026 88.8059 311.329 84.474 C +308.636 80.1307 305.421 76.743 301.646 74.2975 C +297.651 71.7096 294.365 70.7251 291.812 71.3887 C +289.213 72.064 287.545 74.2699 286.838 78.0362 C +286.121 81.8925 285.954 88.3297 286.349 97.4441 C +286.349 97.4441 287.575 125.751 287.575 125.751 C +287.89 133.007 288.277 138.586 288.737 142.421 C +289.202 146.323 290.251 150.369 291.883 154.544 C +293.54 158.732 295.716 162.4 298.394 165.529 C +301.078 168.689 304.052 170.959 307.296 172.342 C +311.621 174.188 315.02 174.154 317.521 172.296 C +319.974 170.473 321.427 167.541 321.911 163.514 C +322.39 159.578 322.275 153.119 321.579 144.225 C +321.579 144.225 320.884 135.342 320.884 135.342 C +F +0.031000 0.949000 0.745000 0.729000 k +*u +329.084 179.607 m +329.084 179.607 342.074 185.214 342.074 185.214 C +345.446 186.669 347.94 187.235 349.586 186.932 C +351.233 186.642 352.374 185.695 353.019 184.1 C +353.677 182.527 353.999 180.418 353.991 177.777 C +354.005 175.2 353.703 171.072 353.088 165.429 C +353.088 165.429 352.244 157.683 352.244 157.683 C +351.634 152.084 350.908 147.89 350.063 145.056 C +349.22 142.228 347.957 139.718 346.265 137.514 C +344.583 135.308 342.474 133.487 339.919 132.046 C +339.919 132.046 336.736 130.25 336.736 130.25 C +336.736 130.25 333.512 96.527 333.512 96.527 C +333.512 96.527 321.545 88.8222 321.545 88.8222 C +321.545 88.8222 329.084 179.607 329.084 179.607 C +F +340.42 168.795 m +340.42 168.795 338.184 145.407 338.184 145.407 C +338.526 145.552 338.82 145.69 339.068 145.822 C +340.172 146.404 340.98 147.319 341.498 148.568 C +342.038 149.863 342.473 152.174 342.805 155.518 C +342.805 155.518 343.55 163.014 343.55 163.014 C +343.863 166.167 343.82 168.111 343.416 168.832 C +343.011 169.557 342.015 169.547 340.42 168.795 C +F +*U +0.031000 0.949000 0.745000 0.729000 k +*u +359.204 192.607 m +359.204 192.607 367.556 196.212 367.556 196.212 C +372.753 198.454 376.114 199.414 377.734 199.14 C +379.351 198.877 380.446 197.777 381.03 195.854 C +381.608 193.948 381.815 191.642 381.655 188.934 C +381.502 186.28 380.88 180.934 379.804 172.981 C +379.804 172.981 375.968 144.653 375.968 144.653 C +375.021 137.654 374.236 132.926 373.604 130.399 C +372.993 127.921 372.216 125.786 371.268 123.986 C +370.323 122.215 369.243 120.698 368.023 119.43 C +366.801 118.187 365.012 116.807 362.638 115.279 C +362.638 115.279 349.593 106.88 349.593 106.88 C +349.593 106.88 359.204 192.607 359.204 192.607 C +F +368.395 181.985 m +368.395 181.985 361.644 126.918 361.644 126.918 C +363.113 127.815 364.084 128.947 364.566 130.32 C +365.053 131.727 365.629 135.077 366.301 140.416 C +366.301 140.416 370.368 172.752 370.368 172.752 C +370.86 176.666 371.12 179.163 371.145 180.223 C +371.168 181.285 371.006 181.972 370.654 182.282 C +370.306 182.629 369.555 182.531 368.395 181.985 C +F +*U +0.031000 0.949000 0.745000 0.729000 k +387.58 204.854 m +387.58 204.854 403.348 211.659 403.348 211.659 C +403.348 211.659 400.803 195.062 400.803 195.062 C +400.803 195.062 394.579 192.087 394.579 192.087 C +394.579 192.087 392.296 176.619 392.296 176.619 C +392.296 176.619 397.801 179.482 397.801 179.482 C +397.801 179.482 395.533 164.634 395.533 164.634 C +395.533 164.634 390.075 161.574 390.075 161.574 C +390.075 161.574 385.406 129.937 385.406 129.937 C +385.406 129.937 376.374 124.122 376.374 124.122 C +376.374 124.122 387.58 204.854 387.58 204.854 C +F +LB +%AI5_EndLayer-- +%AI5_BeginLayer +1 1 1 1 0 0 -1 49 80 161 Lb +(MasterLayer 1) Ln +LB +%AI5_EndLayer-- +%%Trailer +%%EOF diff --git a/examples/images/tcpdf_box.svg b/examples/images/tcpdf_box.svg new file mode 100644 index 0000000..8c29e64 --- /dev/null +++ b/examples/images/tcpdf_box.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + diff --git a/examples/images/tcpdf_cell.png b/examples/images/tcpdf_cell.png new file mode 100644 index 0000000..98a1553 Binary files /dev/null and b/examples/images/tcpdf_cell.png differ diff --git a/examples/images/tcpdf_logo.jpg b/examples/images/tcpdf_logo.jpg new file mode 100644 index 0000000..257f8fb Binary files /dev/null and b/examples/images/tcpdf_logo.jpg differ diff --git a/examples/images/tcpdf_signature.png b/examples/images/tcpdf_signature.png new file mode 100644 index 0000000..a4f0637 Binary files /dev/null and b/examples/images/tcpdf_signature.png differ diff --git a/examples/images/testsvg.svg b/examples/images/testsvg.svg new file mode 100644 index 0000000..fd8314e --- /dev/null +++ b/examples/images/testsvg.svg @@ -0,0 +1,328 @@ + + + + + TCPDF SVG EXAMPLE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + www.tcpdf.org + + + + + + + + SVG + diff --git a/examples/images/tux.svg b/examples/images/tux.svg new file mode 100644 index 0000000..de8c869 --- /dev/null +++ b/examples/images/tux.svg @@ -0,0 +1,1487 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/index.php b/examples/index.php new file mode 100755 index 0000000..7512523 --- /dev/null +++ b/examples/index.php @@ -0,0 +1,115 @@ +'; +?> + + + + + +TCPDF Examples + + + + + + + + +

      TCPDF Examples

      + +

      PDF

      + +
        +
      1. Simple PDF with default Header and Footer: [PDF]
      2. +
      3. Simple PDF without Header and Footer: [PDF]
      4. +
      5. Custom Header and Footer: [PDF]
      6. +
      7. Cell stretching: [PDF]
      8. +
      9. Multicell: [PDF]
      10. +
      11. WriteHTML and RTL support: [PDF]
      12. +
      13. Independent columns with WriteHTMLCell: [PDF]
      14. +
      15. External UTF-8 text file: [PDF]
      16. +
      17. Image: [PDF]
      18. +
      19. Multiple columns: [PDF]
      20. +
      21. Colored Tables: [PDF]
      22. +
      23. Graphic Functions: [PDF]
      24. +
      25. Graphic Transformations: [PDF]
      26. +
      27. Javascript and Forms: [PDF]
      28. +
      29. Bookmarks (Table of Content): [PDF]
      30. +
      31. Document Encryption: [PDF]
      32. +
      33. Independent columns with MultiCell: [PDF]
      34. +
      35. Persian and Arabic language on RTL document: [PDF]
      36. +
      37. Non unicode / Alternative config file: [PDF]
      38. +
      39. Multicell complex alignment: [PDF]
      40. +
      41. writeHTML alignment: [PDF]
      42. +
      43. CMYK colors: [PDF]
      44. +
      45. Page Groups: [PDF]
      46. +
      47. Object Visibility and Layers: [PDF]
      48. +
      49. Object Transparency: [PDF]
      50. +
      51. Text Rendering Modes and Text Clipping: [PDF]
      52. +
      53. 1D Barcodes: [PDF]
      54. +
      55. Multiple page formats: [PDF]
      56. +
      57. Set PDF viewer display preferences: [PDF]
      58. +
      59. Colour gradients: [PDF]
      60. +
      61. Pie Chart Graphic: [PDF]
      62. +
      63. EPS/AI vectorial image: [PDF]
      64. +
      65. Mixed font types (TrueType Unicode, core, CID-0): [PDF]
      66. +
      67. Clipping masks: [PDF]
      68. +
      69. Line styles with cells and multicells: [PDF]
      70. +
      71. Text Annotations: [PDF]
      72. +
      73. Spot Colors: [PDF]
      74. +
      75. NON-embedded CID-0 CJK font: [PDF]
      76. +
      77. HTML Justification: [PDF]
      78. +
      79. Booklet (double-sided pages): [PDF]
      80. +
      81. File attachment: [PDF]
      82. +
      83. Image with Alpha Channel Transparency: [PDF]
      84. +
      85. Disk caching: [PDF]
      86. +
      87. Move, Copy and Delete page: [PDF]
      88. +
      89. Table Of Content with Bookmarks: [PDF]
      90. +
      91. Text hyphenation: [PDF]
      92. +
      93. Transactions and UNDO: [PDF]
      94. +
      95. Table header and rowspan: [PDF]
      96. +
      97. TCPDF methods in HTML: [PDF]
      98. +
      99. 2D Barcode (QR-Code, Datamatrix ECC200 and PDF417): [PDF]
      100. +
      101. Full page background: [PDF]
      102. +
      103. Digital Signature Certification: [PDF]
      104. +
      105. Javascript functions: [PDF]
      106. +
      107. XHTML Form: [PDF]
      108. +
      109. Font Dump: [PDF]
      110. +
      111. Crop Marks and Registration Marks: [PDF]
      112. +
      113. Cell vertical alignments and borders: [PDF]
      114. +
      115. SVG Image: [PDF]
      116. +
      117. Table Of Content with HTML templates: [PDF]
      118. +
      119. Advanced page settings: [PDF]
      120. +
      121. XHTML + CSS: [PDF]
      122. +
      123. XObject Templates: [PDF]
      124. +
      125. Text stretching and spacing (tracking/kerning): [PDF]
      126. +
      127. No-write page regions: [PDF]
      128. +
      129. PDF/A-1b (ISO 19005-1:2005) document: [PDF]
      130. +
      + +

      Barcodes

      + +
        +
      1. 1D barcode HTML format [HTML]
      2. +
      3. 1D barcode PNG format [PNG]
      4. +
      5. 1D barcode SVG format [SVG]
      6. +
      7. 1D barcode SVG INLINE format [SVG INLINE]
      8. + +
      9. 2D datamatrix barcode HTML format [HTML]
      10. +
      11. 2D datamatrix barcode PNG format [PNG]
      12. +
      13. 2D datamatrix barcode SVG format [SVG]
      14. +
      15. 2D datamatrix barcode SVG INLINE format [SVG INLINE]
      16. + +
      17. 2D pdf417 barcode HTML format [HTML]
      18. +
      19. 2D pdf417 barcode PNG format [PNG]
      20. +
      21. 2D pdf417 barcode SVG format [SVG]
      22. +
      23. 2D pdf417 barcode SVG INLINE format [SVG INLINE]
      24. + +
      25. 2D qrcode barcode HTML format [HTML]
      26. +
      27. 2D qrcode barcode PNG format [PNG]
      28. +
      29. 2D qrcode barcode SVG format [SVG]
      30. +
      31. 2D qrcode barcode SVG INLINE format [SVG INLINE]
      32. +
      + + + diff --git a/examples/lang/afr.php b/examples/lang/afr.php new file mode 100644 index 0000000..367b7e8 --- /dev/null +++ b/examples/lang/afr.php @@ -0,0 +1,44 @@ +