2016-03-11 82 views
6

我正在使用API​​,它给了我PDF(版本1.7)的响应,我的项目使用了不支持解析PDF版本1.7的zend pdf库。使用php转换PDF版本1.7到版本1.6

所以我决定转换PDF版本,以使与Zend Pdf兼容。

有没有什么办法将PDF版本转换为使用PHP的旧版本?

谢谢

+0

你确定zend pdf支持1.6吗?主要突破点在1.4和1.5之间,从此以后的一切都是细节。 – mkl

+0

我目前使用“ghostscript服务器软件”来转换为1.6版本。而且这是我需要的,但这不是首选的方式。 –

+0

你确定1.6很重要吗?或者可能与是否使用交叉引用表或交叉引用流和对象流有关? – mkl

回答

0

你可以在Ghostscript中做到这一点。我一直在寻找类似的问题的解决方案,并尝试了这么多不同的脚本后,最可靠的是鬼脚本。

$command = "gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.6 -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=pdf_out.pfg pdf_in.pdf"; 
    $p_result = exec($command); 

这些是你的PDF格式的选项;

-dPDFSETTINGS = /画面(画面 - 视图 - 仅质量,72个dpi的图像)

-dPDFSETTINGS = /电子书(质量低,150个dpi的图像)

-dPDFSETTINGS = /打印机(高品质,300个dpi的图像)

-dPDFSETTINGS = /印前(高品质,颜色防腐剂,300个dpi的IMGS)

-dPDFSETTINGS = /缺省(几乎相同/屏幕)

问题是这样的:你有一个牛排,你想要它转换另一种类型的牛排,所以其他脚本正在采取你的牛排,转向肉末,而不是再次制作牛排。所以结果永远不会完全一样。 例如,如果您的pdf有文字说“点击此处”并带您到www.example.com,在转换pdf版本后,“点击此处”链接将被删除。

+0

感谢您的回答,但我已经在使用Ghostscript。我希望PHP解决方案不是第三方软件相关解决方案。 –

+0

嗨gulshan,我在过去的4年里一直在做PDF操作,使用了每一段代码和软件,并且php不足以编辑pdf。你将不得不使用第三方库。所以你的问题是“有什么办法将PDF版本转换为使用PHP的旧版本?” ,所以答案是否定的。 –

+0

好的,是否有任何库可用于解析PDF 1.7并执行合并pdf页面之类的操作? –

0

您不应该依赖ZendPdf。这是一个废弃的无人维护的项目,ZendPdf主页建议您应该使用TCPDF

+0

是否有使用PDF 1.7合并pdf功能的TCPDF的任何例子? –