【问题标题】:How to get PDF Version with ghostscript (GS) on Linux如何在 Linux 上使用 ghostscript (GS) 获取 PDF 版本
【发布时间】:2015-04-13 06:39:40
【问题描述】:

我可以通过以下方式更改 PDF 版本:

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf

如何使用 gs 获取 input.pdf 的原始 PDF 版本?

【问题讨论】:

  • KenS 回答了“更改”PDF 版本位。要获取 input.pdf 的(声明!不一定正确!)版本,请使用以下命令:head -n 1 input.pdf

标签: linux pdf ghostscript


【解决方案1】:

您没有“更改”那里的 PDF 版本。当您使用 Ghostscript 解释 PDF 文件时,它不仅仅是玩弄它的一部分。它完全解释输入,创建一系列图形基元。

然后将它们发送到“设备”进行处理。对于渲染设备(例如 png16m),这些被渲染为位图。对于 pdfwrite 设备,它采用这些原语并将它们转换为新的 PDF 操作。输出在视觉上应该是相同的,但它与原始文件中的 PDF 操作顺序不同。

因此,您实际上是在创建一个全新的 PDF 文件,该文件与 PDF 规范的 1.4 版兼容。在这种情况下,这意味着它不使用规范更高版本的任何功能,它也可能不使用任何 1.4 功能,它只是保证不需要更高版本。

您不需要 GS 来找出 PDF 文件的现有级别,它在文件的标题中。 PDF 文件应以 '%PDF-x.y' 开头,但如果标题出现在文件的前 1024 字节 (IIRC) 中的任何位置,则它们被认为是有效的。 x 是主要版本,y 是此 PDF 文件所需规范的次要版本。所以 1.4 文件将以 %PDF-1.4

开头

但是,您应该知道,有些 PDF 文件“经济实惠”,尤其是那些经过编辑的文件,并且并不总是声明所需的正确版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 2023-02-12
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多