使用pdflib及PHP生成pdf文件(文件内容中有中文)的方法
原创
作者:zlp@c3space
www.cccspace.net
1、首先安装apache及php
2、http://www.pdflib.com/ 下载pdflib包
3、解压后把PDFlib-6.0.4-Linux\PDFlib-6.0.4-Linux\bind\php5\php-520目录中的libpdf_php.so文件放到服务器上的一个目录,假设是/php/extend/
4、设置php.ini文件extension_dir=/php/extend,如果你已经设定好了,就可以把libpdf_php.so文件放到你设定好的目录
5、设置php.ini文件extension=libpdf_php.so
重启apache,看一下phpinfo()是不是已经有支持pdf了
pdf
PDF Supportenabled
PDFlib GmbH Binary-Version7.0.0p3
PECL Version2.1.0
Revision$Revision: 1.5 $
如果出现上面的字样就已经成功了
新建立一个utf-8的文件test.php
<?php
$pdf = PDF_new();
pdf_set_parameter($pdf, "textformat", "utf8");
pdf_set_parameter($pdf, "FontOutline", "SIMSUN=SIMSUN.TTF");
PDF_open_file($pdf, "PDFTest.pdf");
PDF_begin_page($pdf, 595, 842);
$MSMINCHO = PDF_findfont($pdf, "SIMSUN", "host", 1);
PDF_setfont($pdf, $MSMINCHO, 10);
PDF_show_xy($pdf, "aaaa", 150, 630);
PDF_show_xy($pdf, "aabcd", 150, 630);
PDF_end_page($pdf);
PDF_close($pdf);
?>
看看生成成功了没有!
下载一个adobe reader,安装完了以后,在安装好的目录里找到Adobe-GB1-UCS2,UniGB-UTF16-H,UniGB-UTF16-V这三个文件
放到与test.php同一目录下
<?php
$pdf = PDF_new();
pdf_set_parameter($pdf, "textformat", "utf8");
pdf_set_parameter($pdf, "FontOutline", "SIMSUN=SIMSUN.TTF");
PDF_open_file($pdf, "PDFTest.pdf");
PDF_begin_page($pdf, 595, 842);
$MSMINCHO = PDF_findfont($pdf, "SIMSUN", "UniGB-UTF16-H", 1);//这里修改了-V就是竖写的,还有很多组合,慢慢研究吧
PDF_setfont($pdf, $MSMINCHO, 10);
PDF_show_xy($pdf, "你好你好", 150, 630);
PDF_show_xy($pdf, "aabcd", 150, 630);
PDF_end_page($pdf);
PDF_close($pdf);
?>
还可以去adobe的网站下载reader的语言包