2017-01-30 64 views
-2

我是這個TCPDF的新手。我正在嘗試使用TCPDF創建自己的模板。我更改了我的項目的標題徽標以及標題標題。問題是,如果我不在<<<EOD EOD;/' ';中,我怎麼能把新線或<br>如何在TCPDF中添加新行(<br>或 n)?

注:我在tcpdf_autoconfig改變頭的標誌,在我tcpdf_config文件頭標題。我想新線的圖像後example_016 baliao等等等等

查看

<?php 
//============================================================+ 
// File name : example_016.php 
// Begin  : 2008-03-04 
// Last Update : 2013-05-14 
// 
// Description : Example 016 for TCPDF class 
//    Document Encryption/Security 
// 
// Author: Nicola Asuni 
// 
// (c) Copyright: 
//    Nicola Asuni 
//    Tecnick.com LTD 
//    www.tecnick.com 
//    [email protected] 
//============================================================+ 

/** 
* Creates an example PDF TEST document using TCPDF 
* @package com.tecnick.tcpdf 
* @abstract TCPDF - Example: Document Encryption/Security 
* @author Nicola Asuni 
* @since 2008-03-04 
*/ 

// Include the main TCPDF library (search for installation path). 

// create new PDF document 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 


// *** Set PDF protection (encryption) ********************* 

/* 
    The permission array is composed of values taken from the following ones (specify the ones you want to block): 
    - print : Print the document; 
    - modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble'; 
    - copy : Copy or otherwise extract text and graphics from the document; 
    - annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields); 
    - fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified; 
    - extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes); 
    - assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set; 
    - print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality. 
    - owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions. 

If you don't set any password, the document will open as usual. 
If you set a user password, the PDF viewer will ask for it before displaying the document. 
The master (owner) password, if different from the user one, can be used to get full document access. 

Possible encryption modes are: 
    0 = RSA 40 bit 
    1 = RSA 128 bit 
    2 = AES 128 bit 
    3 = AES 256 bit 

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 

*/ 

$pdf->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.'example_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 
$tbl=' 
<table cellspacing="0" cellpadding="1" border="1"> 
     <tr> 
      <td>Branch Name</td> 
      <td>Amount</td> 
      <td>Balance</td> 
     </tr> 
    '; 
foreach ($branches as $b){ 
$tbl .= '<tr> 
     <td>'.$b['branch'].'</td> 

    '; 
} 
foreach($amount as $a){ 
$tbl .= ' 
     <td>'.$a['amount_charged'].'</td> 

    </tr>' 
    ; 

    } 
$tbl.=' 

</table> 
'; 
$pdf->writeHTML($tbl, true, false, false, false, ''); 


// --------------------------------------------------------- 

//Close and output PDF document 
$pdf->Output('example_016.pdf', 'D'); 

//============================================================+ 
// END OF FILE 
//============================================================+ 
?> 

TCPDF_CONFIG

<?php 
//============================================================+ 
// File name : tcpdf_config.php 
// Begin  : 2004-06-11 
// Last Update : 2014-12-11 
// 
// Description : Configuration file for TCPDF. 
// Author  : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - [email protected] 
// License  : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html) 
// ------------------------------------------------------------------- 
// Copyright (C) 2004-2014 Nicola Asuni - Tecnick.com LTD 
// 
// This file is part of TCPDF software library. 
// 
// TCPDF is free software: you can redistribute it and/or modify it 
// under the terms of the GNU Lesser General Public License as 
// published by the Free Software Foundation, either version 3 of the 
// License, or (at your option) any later version. 
// 
// TCPDF is distributed in the hope that it will be useful, but 
// WITHOUT ANY WARRANTY; without even the implied warranty of 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
// See the GNU Lesser General Public License for more details. 
// 
// You should have received a copy of the GNU Lesser General Public License 
// along with TCPDF. If not, see <http://www.gnu.org/licenses/>. 
// 
// See LICENSE.TXT file for more information. 
//============================================================+ 

/** 
* Configuration file for TCPDF. 
* @author Nicola Asuni 
* @package com.tecnick.tcpdf 
* @version 4.9.005 
* @since 2004-10-27 
*/ 

// IMPORTANT: 
// If you define the constant K_TCPDF_EXTERNAL_CONFIG, all the following settings will be ignored. 
// If you use the tcpdf_autoconfig.php, then you can overwrite some values here. 


/** 
* 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', ''); 

/** 
* 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', ''); 

/** 
* Header logo image width in user units. 
*/ 
//define ('PDF_HEADER_LOGO_WIDTH', 0); 

/** 
* Cache directory for temporary files (full path). 
*/ 
//define ('K_PATH_CACHE', '/tmp/'); 

/** 
* 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', '504 CEMENTINA STREET | ARNAIZ AVE., PASAY CITY 1013 | 0919-333-3434'); 

/** 
* Header description string. 
*/ 
define ('PDF_HEADER_STRING', "by Try - 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', false); 

/** 
* 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); 

/** 
* Default timezone for datetime functions 
*/ 
define('K_TIMEZONE', 'UTC'); 

//============================================================+ 
// END OF FILE 
//============================================================+ 

TCPDF_AUTOCONFIG

<?php 
//============================================================+ 
// File name : tcpdf_autoconfig.php 
// Version  : 1.1.1 
// Begin  : 2013-05-16 
// Last Update : 2014-12-18 
// Authors  : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - [email protected] 
// License  : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html) 
// ------------------------------------------------------------------- 
// Copyright (C) 2011-2014 Nicola Asuni - Tecnick.com LTD 
// 
// This file is part of TCPDF software library. 
// 
// TCPDF is free software: you can redistribute it and/or modify it 
// under the terms of the GNU Lesser General Public License as 
// published by the Free Software Foundation, either version 3 of the 
// License, or (at your option) any later version. 
// 
// TCPDF is distributed in the hope that it will be useful, but 
// WITHOUT ANY WARRANTY; without even the implied warranty of 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
// See the GNU Lesser General Public License for more details. 
// 
// You should have received a copy of the License 
// along with TCPDF. If not, see 
// <http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>. 
// 
// See LICENSE.TXT file for more information. 
// ------------------------------------------------------------------- 
// 
// Description : Try to automatically configure some TCPDF 
//    constants if not defined. 
// 
//============================================================+ 

/** 
* @file 
* Try to automatically configure some TCPDF constants if not defined. 
* @package com.tecnick.tcpdf 
* @version 1.1.1 
*/ 

// DOCUMENT_ROOT fix for IIS Webserver 
if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) { 
    if(isset($_SERVER['SCRIPT_FILENAME'])) { 
     $_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']))); 
    } elseif(isset($_SERVER['PATH_TRANSLATED'])) { 
     $_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF']))); 
    } else { 
     // define here your DOCUMENT_ROOT path if the previous fails (e.g. '/var/www') 
     $_SERVER['DOCUMENT_ROOT'] = '/'; 
    } 
} 
$_SERVER['DOCUMENT_ROOT'] = str_replace('//', '/', $_SERVER['DOCUMENT_ROOT']); 
if (substr($_SERVER['DOCUMENT_ROOT'], -1) != '/') { 
    $_SERVER['DOCUMENT_ROOT'] .= '/'; 
} 

// Load main configuration file only if the K_TCPDF_EXTERNAL_CONFIG constant is set to false. 
if (!defined('K_TCPDF_EXTERNAL_CONFIG') OR !K_TCPDF_EXTERNAL_CONFIG) { 
    // define a list of default config files in order of priority 
    $tcpdf_config_files = array(dirname(__FILE__).'/config/tcpdf_config.php', '/etc/php-tcpdf/tcpdf_config.php', '/etc/tcpdf/tcpdf_config.php', '/etc/tcpdf_config.php'); 
    foreach ($tcpdf_config_files as $tcpdf_config) { 
     if (@file_exists($tcpdf_config) AND is_readable($tcpdf_config)) { 
      require_once($tcpdf_config); 
      break; 
     } 
    } 
} 

if (!defined('K_PATH_MAIN')) { 
    define ('K_PATH_MAIN', dirname(__FILE__).'/'); 
} 

if (!defined('K_PATH_FONTS')) { 
    define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/'); 
} 

if (!defined('K_PATH_URL')) { 
    $k_path_url = K_PATH_MAIN; // default value for console mode 
    if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) { 
     if(isset($_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND (strtolower($_SERVER['HTTPS']) != 'off')) { 
      $k_path_url = 'https://'; 
     } else { 
      $k_path_url = 'http://'; 
     } 
     $k_path_url .= $_SERVER['HTTP_HOST']; 
     $k_path_url .= str_replace('\\', '/', substr(K_PATH_MAIN, (strlen($_SERVER['DOCUMENT_ROOT']) - 1))); 
    } 
    define ('K_PATH_URL', $k_path_url); 
} 

if (!defined('K_PATH_IMAGES')) { 
    $tcpdf_images_dirs = array(K_PATH_MAIN.'examples/images/', K_PATH_MAIN.'images/', '/usr/share/doc/php-tcpdf/examples/images/', '/usr/share/doc/tcpdf/examples/images/', '/usr/share/doc/php/tcpdf/examples/images/', '/var/www/tcpdf/images/', '/var/www/html/tcpdf/images/', '/usr/local/apache2/htdocs/tcpdf/images/', K_PATH_MAIN); 
    foreach ($tcpdf_images_dirs as $tcpdf_images_path) { 
     if (@file_exists($tcpdf_images_path)) { 
      define ('K_PATH_IMAGES', $tcpdf_images_path); 
      break; 
     } 
    } 
} 

if (!defined('PDF_HEADER_LOGO')) { 
    $tcpdf_header_logo = ''; 
    if (@file_exists(K_PATH_IMAGES.'16358960_120300001889155349_1641985124_n.png')) { 
     $tcpdf_header_logo = '16358960_120300001889155349_1641985124_n.png'; 
    } 
    define ('PDF_HEADER_LOGO', $tcpdf_header_logo); 
} 

if (!defined('PDF_HEADER_LOGO_WIDTH')) { 
    if (!empty($tcpdf_header_logo)) { 
     define ('PDF_HEADER_LOGO_WIDTH', 150); 
    } else { 
     define ('PDF_HEADER_LOGO_WIDTH', 0); 
    } 
} 

if (!defined('K_PATH_CACHE')) { 
    $K_PATH_CACHE = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir(); 
    if (substr($K_PATH_CACHE, -1) != '/') { 
     $K_PATH_CACHE .= '/'; 
    } 
    define ('K_PATH_CACHE', $K_PATH_CACHE); 
} 

if (!defined('K_BLANK_IMAGE')) { 
    define ('K_BLANK_IMAGE', '_blank.png'); 
} 

if (!defined('PDF_PAGE_FORMAT')) { 
    define ('PDF_PAGE_FORMAT', 'A4'); 
} 

if (!defined('PDF_PAGE_ORIENTATION')) { 
    define ('PDF_PAGE_ORIENTATION', 'P'); 
} 

if (!defined('PDF_CREATOR')) { 
    define ('PDF_CREATOR', 'TCPDF'); 
} 

if (!defined('PDF_AUTHOR')) { 
    define ('PDF_AUTHOR', 'TCPDF'); 
} 

if (!defined('PDF_HEADER_TITLE')) { 
    define ('PDF_HEADER_TITLE', 'TCPDF Example'); 
} 

if (!defined('PDF_HEADER_STRING')) { 
    define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org"); 
} 

if (!defined('PDF_UNIT')) { 
    define ('PDF_UNIT', 'mm'); 
} 

if (!defined('PDF_MARGIN_HEADER')) { 
    define ('PDF_MARGIN_HEADER', 5); 
} 

if (!defined('PDF_MARGIN_FOOTER')) { 
    define ('PDF_MARGIN_FOOTER', 10); 
} 

if (!defined('PDF_MARGIN_TOP')) { 
    define ('PDF_MARGIN_TOP', 27); 
} 

if (!defined('PDF_MARGIN_BOTTOM')) { 
    define ('PDF_MARGIN_BOTTOM', 25); 
} 

if (!defined('PDF_MARGIN_LEFT')) { 
    define ('PDF_MARGIN_LEFT', 15); 
} 

if (!defined('PDF_MARGIN_RIGHT')) { 
    define ('PDF_MARGIN_RIGHT', 15); 
} 

if (!defined('PDF_FONT_NAME_MAIN')) { 
    define ('PDF_FONT_NAME_MAIN', 'helvetica'); 
} 

if (!defined('PDF_FONT_SIZE_MAIN')) { 
    define ('PDF_FONT_SIZE_MAIN', 10); 
} 

if (!defined('PDF_FONT_NAME_DATA')) { 
    define ('PDF_FONT_NAME_DATA', 'helvetica'); 
} 

if (!defined('PDF_FONT_SIZE_DATA')) { 
    define ('PDF_FONT_SIZE_DATA', 8); 
} 

if (!defined('PDF_FONT_MONOSPACED')) { 
    define ('PDF_FONT_MONOSPACED', 'courier'); 
} 

if (!defined('PDF_IMAGE_SCALE_RATIO')) { 
    define ('PDF_IMAGE_SCALE_RATIO', 1.25); 
} 

if (!defined('HEAD_MAGNIFICATION')) { 
    define('HEAD_MAGNIFICATION', 1.1); 
} 

if (!defined('K_CELL_HEIGHT_RATIO')) { 
    define('K_CELL_HEIGHT_RATIO', 1.25); 
} 

if (!defined('K_TITLE_MAGNIFICATION')) { 
    define('K_TITLE_MAGNIFICATION', 1.3); 
} 

if (!defined('K_SMALL_RATIO')) { 
    define('K_SMALL_RATIO', 2/3); 
} 

if (!defined('K_THAI_TOPCHARS')) { 
    define('K_THAI_TOPCHARS', true); 
} 

if (!defined('K_TCPDF_CALLS_IN_HTML')) { 
    define('K_TCPDF_CALLS_IN_HTML', false); 
} 

if (!defined('K_TCPDF_THROW_EXCEPTION_ERROR')) { 
    define('K_TCPDF_THROW_EXCEPTION_ERROR', false); 
} 

if (!defined('K_TIMEZONE')) { 
    define('K_TIMEZONE', @date_default_timezone_get()); 
} 

//============================================================+ 
// END OF FILE 
//============================================================+ 

My output

+1

有沒有你的代碼在這裏 – RiggsFolly

+0

是的,在我看來.. $ tbl ='等等'; – Angel

+0

我會更擔心購物中心形成的HTML表格比換行 – RiggsFolly

回答

0

我認爲這將有助於你::

<?php 
    $needles = array("<br>", "&#13;", "<br/>", "\n"); 
    $replacement = "<br />"; 
    HEADER_STRING = str_replace($needles, $replacement, HEADER_STRING); 
?> 

而且做HEADER_TITLE變化。這將工作。

+0

我應該把那個放在哪裏?在我看來? – Angel

+0

我應該使用什麼變量來使用
? – Angel

+0

當您操縱字符串 –