当查看器打开 PDF 时,超链接表单会导致 PDF 发生变化

当查看器打开 PDF 时,超链接表单会导致 PDF 发生变化

在使用hyperref表单后,我注意到使用某些格式选项在打开输出 PDF 时会产生奇怪的行为(至少在 PDF XChange 查看器/编辑器中):程序会显示一个星号警告,提示您在关闭文件时是否要保存这些更改。这背后的原因是什么?如何解决这个问题?我附上了一个 MWE:

\documentclass{book}
\usepackage{hyperref}
%\usepackage{xcolor}%

\begin{document}
\begin{Form}
    \TextField[%width=4cm, height=.25cm, %
    name = field,
    format = {%
        var f = this.getField('field');%
%       f.textFont = ['Calibri Light'];%< -- -- -- PROBLEM
%        f.strokeColor = ['T'];%        < -- -- -- PROBLEM
%        f.fillColor = ['T'];%          < -- -- -- PROBLEM
%       f.alignment = ['center']%       < -- -- -- PROBLEM
        },%
    charsize = 10.5pt,%
%   color= blue,
%    value=test
    ]
    {}%
\end{Form}
\end{document}

答案1

当使用表单字段时, hyperref 强制NeedAppearances为 true(这是 pdf 内部设置)。这意味着,当加载 pdf 时,阅读器会更改 pdf 以显示字段周围的边框,而退出时,它会询问您是否要保存更改。

您可以使用以下方式将值设置为 false

 \begin{Form}[NeedAppearances=false]

然后,您或许应该更改阅读器中的设置(编辑->表格),以便它们显示背景:

在此处输入图片描述

从长远来看,hyperref 应该/将通过表单字段的字典添加边框(/NeedAppearances 在 pdf 2.0 中已弃用),但这需要一些时间来实现。

相关内容