如何在Perl中读取和操作PDF 1.5文件?

如何在Perl中读取和操作PDF 1.5文件?,perl,pdf,Perl,Pdf,似乎没有任何Perl库可以打开、操作和重新保存使用较新PDF版本(我相信是1.5及以上版本)的PDF文档,该版本使用交叉引用流而不是表。有人知道有什么基于unix/linux的实用程序可以将PDF转换为旧版本吗?或者我错过了CPAN中的一个Perl模块,它可以处理这个问题?我会尝试使用合适的参数通过ghostscript运行它 类似于gs-dBATCH-dNOPAUSE-sDEVICE=pdfwriter-dCompatibilityLevel=1.2的东西完成了!一小时前,我将CAM::PDF

似乎没有任何Perl库可以打开、操作和重新保存使用较新PDF版本(我相信是1.5及以上版本)的PDF文档,该版本使用交叉引用流而不是表。有人知道有什么基于unix/linux的实用程序可以将PDF转换为旧版本吗?或者我错过了CPAN中的一个Perl模块,它可以处理这个问题?

我会尝试使用合适的参数通过ghostscript运行它


类似于gs-dBATCH-dNOPAUSE-sDEVICE=pdfwriter-dCompatibilityLevel=1.2的东西完成了!一小时前,我将CAM::PDF v1.50上传到CPAN。它现在支持PDF v1.5压缩对象流和交叉引用流。我已经用我在网上找到的一些PDF文件对它进行了测试,但我肯定会感谢反馈(好的或坏的)。

注意,这也会丢失透明度信息等内容。此外,它还会将文件中的任何文本展平为向量路径,因此,如果您希望能够在矢量图形或DTP程序中进一步编辑文本(该程序可以为交叉引用流导入PDF.Upvote),则生成的PDF是毫无价值的。只有最新版本的PDF::API2才能处理这个问题。