hyperref TextField 内容被截断

hyperref TextField 内容被截断

我的一个同事将一个 tex 文件用作模板,他的程序将一些值插入到 中TextField。当值很长时,值的末尾会被截断,如下例所示:

在此处输入图片描述

我可以让字体大小自动改变吗?在 Adob​​e Acrobat 生成的 PDF 中,我发现在编辑文本字段的内容后,内容会使用适合内容长度和文本字段大小的字体重新呈现。

如果这不可能的话,我还应该采取其他方法吗?

这是一个演示内容剪辑的简单示例:

\documentclass[fontsize=14pt]{scrreprt}
\usepackage{xcolor}
\usepackage[]{hyperref}

\begin{document}
\begin{Form}
\TextField[value=foo bar baz qux, width=1cm, name=a]{}
\end{Form}
\end{document}

答案1

您可以通过将 charsize 设置为 0pt(这意味着“自动”)来实现这一点,如果您想要,还可以选择 donotscroll。图片显示了此类字段的不同填充。

\documentclass[fontsize=14pt]{scrreprt}
\usepackage{xcolor}
\usepackage[]{hyperref}

\begin{document}
\begin{Form}
\TextField[charsize=0pt,donotscroll,value=foo bar baz qux, width=1cm, name=a]{}

\TextField[charsize=0pt,donotscroll,value=foo bar baz qux, width=1cm, name=b]{}

\TextField[charsize=0pt,donotscroll,value=foo bar baz qux, width=1cm, name=c]{}
\end{Form}
\end{document}

在此处输入图片描述

答案2

在这里,我开始将文本放入一个框中,同时将字体大小从 2pt、2.25pt、...、14pt 变化。我找到适合指定宽度*的最大尺寸,然后使用选项charsize\TextField文本框设置为该尺寸。

*(大约)

\documentclass[fontsize=14pt]{scrreprt}
\usepackage{fix-cm}
\usepackage{xcolor,pgffor}
\usepackage[]{hyperref}
\newcommand\AutoTextField[3][name=a]{%
  \def\fsize{2pt}%
  \foreach\z in {2,2.25,...,14}{%
    \sbox0{\fontsize{\z pt}{\z pt}\selectfont\sffamily#2}%
    \ifdim\wd0<\dimexpr#3-\z pt+ 2pt\relax\xdef\fsize{\z}\fi
  }%
  \TextField[#1, charsize=\fsize pt, value=#2, width=#3]
}
\begin{document}
\begin{Form}
\TextField[value=foo bar baz qux, width=1cm, name=a]{OLD:}\\

\AutoTextField{foo bar baz qux}{1cm}{X:}
\AutoTextField{foo bar baz qux}{1.5cm}{X:}
\AutoTextField{foo bar baz qux}{2cm}{X:}
\AutoTextField{foo bar baz qux}{2.5cm}{X:}
\AutoTextField{foo bar baz qux}{3cm}{X:}\\

\AutoTextField{foo bar baz qux}{6cm}{X:}
\end{Form}

\end{document}

在此处输入图片描述

相关内容