【问题标题】:When I execute ps2pdf it does nothing当我执行 ps2pdf 它什么也不做
【发布时间】:2017-02-08 23:43:11
【问题描述】:

我的任务是将可搜索的 PDF 批量转换为纯图像 PDF。我发现我可以使用第一个 pdf2ps(将 PDF 转换为 PS)然后使用 ps2pdf(将 PS 转换为 PDF)来使用 Ghostscript。

我在 Windows 10 上安装了 gs920w32.exe。

pdf2ps 非常适合我:

pdf2ps "directory\input.pdf" "directory\output.ps"

但是 ps2pdf 什么都不做:

ps2pdf "directory\output.ps" "directory\output.pdf"

我还注意到,如果我不带参数执行 pdf2ps,我会得到 ​​p>

"Usage: pdf2ps [-dASCII85DecodePages=false] [-dLanguageLevel=n] input.pdf output.ps"

但如果我在没有参数的情况下执行 ps2pfd,我也一无所获。

我做错了什么?

UPD:“仅图像”PDF 看起来与“可搜索”PDF 相同,但您无法在其中搜索,因此您也可以将其称为“不可搜索”PDF。

解决方案: 我通过执行这个解决了我的问题:

gswin64c -o "directory\input.pdf" -dNoOutputFonts -sDEVICE=pdfwrite "directory\output.pdf"

【问题讨论】:

    标签: pdf ghostscript


    【解决方案1】:

    您做错的第一件事是期望这种双重转换生成仅包含图像的 PDF 文件,但事实并非如此。相关的 Ghostscript 设备 ps2write 和 pdfwrite 竭尽全力保存矢量信息。只有当输入 PDF 文件包含透明度时,您肯定会在输出中得到一个不在输入中的图像,因为它不能保存到 PostScript 中。

    您做错的第二件事是使用脚本。它们不是为您尝试做的事情而设计的。请改用 Ghostscript 可执行文件,并自己编写您需要的任何脚本。

    由于您的(疯狂)任务是将 PDF 转换为图像,然后将其打包为 PDF,因此您将需要使用其中一种 Ghostscript 渲染设备为您渲染图像,然后使用的 view*.ps 文件以读取该图像并通过 pdfwrite 设备写入输出。

    您不会想要使用 JPEG,因为多重量化会严重影响图像质量。我建议使用 RAW。

    【讨论】:

    • 感谢您的回复。我想你理解错了。 “仅图像 PDF”不仅是原始 PDF 中的图像。它与原始文本完全相同,但您无法在其中搜索。我需要生成仅包含图像的 PDF 以便对它们进行 OCR,这对于可搜索的 PDF 通常会失败。有一个其他人如何做到的例子:stackoverflow.com/questions/9106959/…
    • 该示例使用 pswrite 设备,该设备已从 Ghostscript 发行版中删除,因为它已被更出色的 ps2write 设备取代。正如我所说,它在一定程度上将文本保持为文本,这意味着它很可能是“可搜索的”。无论如何,您使用的脚本并不打算处理文件目录,因此最好编写自己的 shell 脚本。
    【解决方案2】:

    我通过执行这个解决了我的问题: gswin64c -o "directory\input.pdf" -dNoOutputFonts -sDEVICE=pdfwrite "directory\output.pdf"

    【讨论】:

    • 您在该命令行中有错误的 input.pdf 和 output.pdf。 -o 指定输出文件,输入文件在最后。
    猜你喜欢
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多