【问题标题】:Images are replaced with blank white space while converting pdf to lower version (1.4 ) using ghostscript使用 ghostscript 将 pdf 转换为较低版本 (1.4 ) 时,图像被替换为空白
【发布时间】:2015-05-05 10:04:18
【问题描述】:

使用 ghostscript 将 pdf 转换为较低版本 (1.4 ) 时,图像被空白替换。 一切似乎都很好,但某些内容(例如 pdf 的图像)已被替换。如何保证转换后的 pdf 文件中所有内容的安全? 我使用的脚本:

shell_exec( "gs -sDEVICE=pdfwrite  -dSAFER  -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH   -sOutputFile=$output $source");

【问题讨论】:

    标签: php pdf ghostscript


    【解决方案1】:

    好的,首先要注意的是,您不是在“转换”您的 PDF 文件,而是在制作一个新文件。新的有原来没有的限制。

    你使用的是什么版本的 Ghostscript,在什么平台上,你从哪里得到的?

    您正在使用 -dQUIET 运行,这会限制您获得的输出,我建议您不要这样做,然后将应用程序中的反向通道粘贴到此处,这可能会告诉您一些有意义的事情。显然,您会希望从命令行运行它,而不是 PHP。

    但是,如果没有看到您的原始 PDF 文件,可能没有人能够帮助您。如果您认为自己发现了错误,那么最好的办法是在 bugs.ghostscript.com 上打开错误报告,您可以在其中附上展示问题的样本文件。或者将 PDF 文件发布到公共位置并在此处放置链接。

    【讨论】:

    • 我的原始pdf文件是apps.dac.com.np/magazine/file/magazine/2013_5/full.pdf,转换后的pdf文件是apps.dac.com.np/magazine/file/magazine/2013_5/converted.pdf我也尝试删除-dQUIET,但结果是一样的
    • 我没想到会有不同的结果,但是您也没有发布反向通道输出是什么。您还没有回答有关您正在使用的 Ghostscript 版本、平台以及您从哪里获得 GS 的问题
    • 我从 PDF 文件中看到您使用的是 Ghostscript 8.70,该软件的版本已经 5 年了。当前版本是 9.16,使用您的 PDF 文件和命令行我得到一个显然正确的文件。最好检查一下您使用的软件是否有新版本可用。
    • 更新新版本的ghostscript后,我使用的代码会产生很好的结果吗?还是我也必须更改脚本的其他部分?
    • 我不知道,首先是因为我不懂 PHP,其次是因为您只发布了一行脚本,我怎么知道您可能还需要更改什么?我只能告诉你,你正在使用一个非常旧的 Ghostscript 版本,你说它不起作用,而当前版本确实适用于你的文件和命令行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    相关资源
    最近更新 更多