如何解决从PDF文件读取内容时,Ghostscript pdfwrite会产生零长度的输出,没有错误报告,可以与其他输入配合使用
我需要将一个PDF文件附加到另一个。
我认为Ghostscript是前进的方向,并安装了64位Windows版本(9.53.0),但是如果我尝试使用pdfwrite进行任何操作,而输入是PDF,例如
gswin64c -DNOSAFER -sDEVICE=pdfwrite -o output.pdf input.pdf
我得到零长度输出(根本没有错误消息)。无论PDF是Ghostscript附带的示例之一,使用tcpdf生成的示例,还是从Windows应用程序保存的示例,都会发生这种情况。无论是尝试读取单个PDF还是读取多个PDF(后者是我的用例),都会发生。
如果我将输入的PDF转换为Postscript,然后在其上使用pdfwrite,那么它就像梦一样,例如
call pdf2ps input.pdf temp.ps
gswin64c -DNOSAFER -sDEVICE=pdfwrite -o output.pdf temp.ps
EPS输入也可以正常工作-唯一的问题似乎与PDF输入有关。但是Ghostscript可以读取和显示任何PDF(实际上可以将任何PDF转换为Postscript),据我所知,它只是无法应付PDF作为pdfwrite的输入。
我在任何地方都找不到这个特殊问题的参考。
解决方法
事实证明,不仅限于PDF输入,以这种方式触发它更容易。问题是内部数据类型已从与构建相关的大小更改为始终为64位,但是未正确更新#define值,因此64位Windows构建仍使用适用于32位的值位构建。
有一个承诺可以解决问题here。但是,这似乎很严重,很快就会发布一个新版本9.53.1(因此已经是补丁级别1 ...)(如果尚不存在)。
如果人们在发现这种问题时可以报告错误,将大有帮助,甚至如果有任何志愿者尝试发布候选者,那就更好了,我们真的不希望发布有严重问题的发布... ..
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。