Tom*_*Tom 26 linux pdf software-rec conversion
我想使用命令行实用程序将 PDF 从 1.5 版转换为 1.4 版。
有什么可用的吗?
lya*_*ood 30
在ubuntu 论坛中找到了这个:
# gs -sDEVICE=pdfwrite -dCompatibilityLevel=<VERSION> -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
Run Code Online (Sandbox Code Playgroud)
刚刚测试了这个并且它工作正常,我现在会发布一些输出。
[14:08:41]lee@barlow:~/superuser # pdfinfo org_1-4.pdf
Title: CV 2009
Producer: Prince 7.0 alpha 16 (www.princexml.com)
Tagged: no
Pages: 3
Encrypted: no
Page size: 595 x 842 pts (A4)
File size: 51793 bytes
Optimized: no
PDF version: 1.4
[14:08:59]lee@barlow:~/superuser # gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out_1.5.pdf org_1-4.pdf
[14:09:35]lee@barlow:~/superuser # pdfinfo out_1.5.pdf
Producer: GPL Ghostscript 8.64
CreationDate: Wed Aug 19 14:09:34 2009
ModDate: Wed Aug 19 14:09:34 2009
Tagged: no
Pages: 3
Encrypted: no
Page size: 595 x 842 pts (A4)
File size: 60658 bytes
Optimized: no
PDF version: 1.5
Run Code Online (Sandbox Code Playgroud)
查找 ghostscript 选项而不是盲目地从其他人那里盲目地复制命令(等等)是值得的。例如,-dPDFSETTINGS=/screen
在最upvoted答案(和许多其他人)会降低你的PDF质量。
-dPDFSETTINGS=configuration
预设“蒸馏器参数”[...] 使用这些预设中的任何一个都将涉及更改输入,因此与简单地使用默认值相比,可能会导致 PDF 质量较差(与输入相比)。“最佳”质量(其中最佳意味着最接近原始输入)是通过根本不设置此参数(或使用 /default)获得的。
此外,有用的选项,例如-dNOPAUSE
由-o
option隐式指定。
要将任何 pdf 转换为 1.4 版,请使用
gs -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o out.pdf in.pdf
Run Code Online (Sandbox Code Playgroud)
该-q
只存在沉默的命令。如果您想查看警告(例如缺少字体)等,您可以将其省略。
注意:Ghostscript 不会通知您不存在/不受支持的版本,即使没有-q
. 例如,如果您指定-dCompatibilityLevel=1.9
(没有 pdf 1.9),您将获得 pdf 2.0,但 ghostscript 不会告诉您。我找不到-dCompatibilityLevel=
. 1.0 似乎不受支持。1.1 - 1.7 有效。2.0 也可以工作,但创建的 pdf 不符合标准(尽管它们在 evince 中显示得很好)。
您可以使用grep -oa '%PDF-...' out.pdf
.
此外,我发现 PDF/A 只能通过使用-dPDFA
. 可悲的是,所有这些选项似乎都没有很好的记录或记录。
归档时间: |
|
查看次数: |
15692 次 |
最近记录: |