如何全局强制使用 pdfminorversion?

如何全局强制使用 pdfminorversion?

我在 Acrobat Reader 中打开 PDF 文件时遇到问题。出现错误 131。

我已经解决了这个问题感谢如何使用 pdfLaTeX 文档克服 Acrobat Reader 错误 131?对我来说,包含该解决方案\pdfminorversion=4是可行的,但在每个文档中记住它很不方便。

因此,我有两个问题,不是 tex 超级用户:

  • 如何全局强制此设置?
  • 如何以其他方式克服这个错误?

我相信这在某种程度上与我使用的不同图像格式有关,但我还不确定。

另一方面,我真的应该关心 v1.5 吗?我既不使用表格也不使用多媒体,我不需要任何文件认证。

答案1

TeX 直播

pdftexconfig.tex包含这些设置。您可以通过以下方式找到它kpsewhich

kpsewhich pdftexconfig.tex

然后,您可以将副本放入本地或主texmf树中。将其放入本地texmf树后,您需要重新创建文件名数据库:

texhash

您可以在文件中更改设置:

\pdfminorversion=4
\pdfobjcompresslevel=0

最后需要重新创建格式:

fmtutil --all

或正在使用pdftexconfig.tex

fmtutil --byengine pdftex
fmtutil --byengine luatex

MiKTeX(根据 Ulrike Fischer 的评论更新)

MiKTeX 用于pdftexconfig.tex生成格式。可以通过以下方式找到

`kpsewhich pdftexconfig.tex`.

例子:

...\AppData\Roaming\MiKTeX\2.9\tex\generic\config\pdftexconfig.tex

此文件是生成的文件,例如:

%%% DO NOT EDIT THIS FILE! It will be overwritten.
%%% Run 'initexmf --edit-config-file pdftex' to edit configuration settings
%%% for pdfTeX.
\pdfcompresslevel=9
\pdfdecimaldigits=3
\pdfhorigin=1 true in
\pdfoutput=1
\pdfpageheight=297 true mm
\pdfpagewidth=210 true mm
\pdfminorversion=5
\pdfpkresolution=600
\pdfvorigin=1 true in

这样就打开了一个文件的initexmf --edit-config-file pdftex编辑器( ) ,默认包含:notepadpdftex.cfg

%% pdfTeX configuration file. Run 'mthelp pdftexcfg' for parameter help.

该命令mthelp pdftexcfg打开手册页pdftex.cfg。例如,添加行

pdf_minorversion 4

格式文件的创建(见下文)将触发pdftexconfig.texfrom的写入pdftex.cfg,它将包含以下行

\pdfminorversion=4

附加在默认设置后面。

所有格式(内存转储文件)都可以通过

initexmf --dump

pdftexconfig.tex或者可以手动选择正在使用的转储文件:

initexmf --dump=pdftex
initexmf --dump=pdflatex
initexmf --dump=luatex
initexmf --dump=lualatex

也许您需要尝试管理员模式:添加--admin到命令行调用。

这个更“官方”的程序有一个缺点,\pdfobjcompresslevel似乎不受支持pdftex.cfg


对于后一种情况,基于 Speravir 的评论的旧程序可能有效1

需要一个本地 texmf 树(根树):在 MiKTeX 中创建本地 texmf 树

然后将文件从 MiKTeX 分发树复制到新的本地树(需要调整pdftexconfig路径的起点,是本地 texmf 树):...texmf.new

copy ...\miktex-2.9\tex\generic\config\pdftexconfig.tex  ...\texmf.new\tex\generic\config\pdftexconfig.tex

文件名数据库需要更新:

initexmf --update-fndb

如果在正确位置找不到该文件:

kpsewhich pdftexconfig.tex

那么可能需要管理员模式(见下文)。

\pdfobjcompresslevel例如,可以编辑该文件来改变的值(参见上文有关 TeX Live 的描述)。

最后需要重新生成格式文件(见上文)。

1它对我的单用户安装的 MiKTeX 不起作用,因为在本地 texmf 树之前使用了用户配置目录,而pdftexconfig.tex没有使用修改后的目录。

相关内容