java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

php采用tcpdf生成pdf支持中文,图片

上次找到fpdf发现文档支持不足。而且含有php5.4不能用了的过期函数,图片进去也显示不了等问题。

特意找到这个tcpdf。

下载的地址
http://sourceforge.net/projects/tcpdf/files/

搞一个试试

中文字体包下载

http://sourceforge.net/projects/hawebs/files/Assistance/PHP/Droid%20Sans%20Fallback%20-%20PHP.zip/download
下载后,将它解压放在droidsansfallback.php、droidsansfallback.z以及droidsansfallback.ctg.z这三个文件复制到 TCPDF\fonts 下面即可

注意代码中
$pdf->SetFont('droidsansfallback', '', 12);
此行代码控制中文显示
require_once('../config/lang/chi.php');
表示调用中文包

控制图片输出
$pdf->Image('../images/3.jpg', '', '', 0, 0, '', '', '', false, 300, '', false, false, 1, false, false, false);

代码直接在下载的example包中复制008那个进行修改。

代码如下


SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('中文');
$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
$pdf->setLanguageArray($l);

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

// set default font subsetting mode
$pdf->setFontSubsetting(true);

// set font
$pdf->SetFont('droidsansfallback', '', 12);

// add a page
$pdf->AddPage();

// set color for text
$pdf->SetTextColor(0, 63, 127);

// write the text
$pdf->Write(5, '中文,你支持么。chinese support', '', 0, '', false, 0, false, false, 0);

$pdf->SetXY(40, 40);
$pdf->Image('../images/3.jpg', '', '', 0, 0, '', '', '', false, 300, '', false, false, 1, false, false, false);


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

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

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


样例地址包罗万象
http://localhost/tcpdf/examples/

官方网站地址
http://www.tcpdf.org/
下载地址
http://sourceforge.net/projects/tcpdf/files/

月小升下载这个的时候,发现更新日志有2012年8月22日的记录,说明还有人在维护。太牛了。


This entry was posted in PHP and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/php-tcpdf/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

5 Responses to php采用tcpdf生成pdf支持中文,图片

  1. Nate Zhang says:

    找了好久终于找到一个帖子可以用了,字体下载链接可用,不走也很详细。谢谢

  2. Tomas says:

    谢谢。不过包字型后整个pdf 变很大。不知道有没有档案小的字型

  3. 番茄 says:

    感谢分享!!!十分有用!!!

Leave a Reply