我在 LaTeX 文件中看到一行内容\pdfoptionsminorversion=6
。这改变了 PDF 的次要版本,我通过查看生成的 PDF 确认了这一点。现在,此选项似乎没有在任何地方记录,所以我很好奇。还有哪些其他选项和/或环境可以控制 PDF 输出?
答案1
该选项现在称为\pdfminorversion
(自 pdfTeX 1.30.0 2005-08-01 起)。它记录在 pdfTeX手动的:
▶
\pdfminorversion
(整数) 此原语设置生成文件的 PDF 版本和所包含 PDF 的最新允许 PDF 版本。例如,\pdfminorversion=3
告诉 pdfTeX 将 PDF 版本设置为 1.3,并且只允许包含版本号最高为 1.3 的 PDF 文件。默认值为\pdfminorversion
5,生成 PDF 版本为 1.5 的文件。如果指定,此原语必须出现在任何数据写入生成的 pdf 文件之前,因此您应该将其放在文件的最开始。此命令已在 pdfTeX 1.30.0 中作为\pdfoptionpdfminorversion
命令的缩写同义词引入,现已过时。分布在这里改变了默认值;例如,TeX Live 2010 设置
\pdfminorversion=5
其格式的构建时间,因此可以启用对象压缩(如下所述)。
这并不完全正确,因为当前 pdfTeX 1.40.15(无需进一步配置)的默认值是 4。表 2 显示了这个正确值。
一些软件包支持:
包裹
pdf14
将 PDF 版本设置为 1.4(即对象流压缩之前)。包中有一个设置 PDF 版本的
hyperref
选项。pdfversion
其他 TeX 引擎/DVI 驱动程序:
LuaTeX:
\pdfminorversion
同 pdfTeX。在 Lua 中情况更复杂,因为
tex.pdfminorversion
如果其设置无效,则不会抛出错误消息,因为版本已经写入。PDF 文件的最开头,即 PDF 标头,已经以版本号开头(例如%PDF-1.5
)。将版本设置为 1.4 的示例:\directlua{ if tex.pdfminorversion \string~= 4 then if (status.pdf_gone and status.pdf_gone > 0) or (status.pdf_ptr and status.pdf_ptr > 0) then tex.error("PDF version cannot be changed anymore") else tex.pdfminorversion = 4 end end }
对于 luatex 版本 0.95.0(TeX Live 2016):
\directlua{ if pdf.getminorversion() \string~= 7 then if (status.pdf_gone and status.pdf_gone > 0) or (status.pdf_ptr and status.pdf_ptr > 0) then tex.error("PDF version cannot be changed anymore") else pdf.setminorversion(7) end end }
dvipdfm(x)
命令行选项:
-V number Set PDF minor version [4]
例子:
dvipdfmx -V 4 test.dvi
\special{pdf:minorversion 3}
查看\special{pdf:minorversion 7}
评论的 AndreKR)。如果给出了多个特惠,则第一页上最新的特惠将获胜,第一页之后的特惠将被忽略。此外,不支持的值将被默默忽略。
特克斯
可以通过输出驱动程序 () 的命令行选项
-V
(参见)设置版本。可以通过命令行上的XeTeX 选项将该选项传递给输出驱动程序:dvipdfmx
xdvipdfmx
-output-driver
xelatex -output-driver="xdvipdfmx -V4" test.tex
\special{pdf:minorversion 3}
查看\special{pdf:minorversion 7}
评论的 AndreKR)。如果给出了多个特惠,则第一页上最新的特惠将获胜,第一页之后的特惠将被忽略。此外,不支持的值将被默默忽略。
Ghostscript 提供了简写命令:
ps2pdf12
,ps2pdf13
,ps2pdf14
可以用来生成版本 1.2、1.3 或 1.4 的 PDF 文件。ps2pdf
当前设置 1.4,来自 shell 脚本ps2pdf
:# Currently, we produce PDF 1.4 by default, but this is not guaranteed # not to change in the future. version=14
用于设置 PDF 版本的完整 ghostscript 选项,例如 1.4:
-dCompatibilityLevel=1.4