日期:2014-05-17  浏览次数:20405 次

how to compile PDFlib
how to compile PDFlib?
./configure?


------解决方案--------------------
--with-pdflib=/usr/lib

参考

http://bugs.php.net/bug.php?id=11014
------解决方案--------------------
使用pdflib及PHP生成pdf文件(文件内容中有中文)的方法(

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 Support enabled
PDFlib GmbH Binary-Version 7.0.0p3
PECL Version 2.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的语言包


http://www.pdflib.com/en/download/resources/cmaps/

从这里可以下载所有的CMAP文件!

能解决字符问题!官方网站太重要了!