如何在可填充 pdf 的 `\TextField` 中动态格式化带有千位分隔符的数字?

如何在可填充 pdf 的 `\TextField` 中动态格式化带有千位分隔符的数字?

我正在使用 LaTeX 创建 PDF 表单,并希望在\TextField带千位分隔符的文本字段 ( ) 中显示数字。例如,将“5000000”转换为“5,000,000”。这是我的字段的代码:

\TextField[
    name=nominal,
    align=1,
    value={5000000}
]{}

我知道如何使用以下方法在 LaTeX 中设置日期的自定义格式:

\newcommand{\mydateformat}{AFDate_FormatEx("dd/mm/yyyy");}
\newcommand{\mykeystroke}{AFDate_KeystrokeEx("dd/mm/yyyy");}

\TextField[
     name=debutCommercialisation,
     align=1,
     value={19/3/2024},
     format={\mydateformat},
     keystroke={\mykeystroke}
]{} 

但是,我还没有找到在 LaTeX 中直接使用千位分隔符格式化数字的等效方法。我知道 JavaScript 脚本可用于在 PDF 中实现此目标,但我不确定如何将此类脚本集成到 LaTeX 生成的 PDF 中,或者是否有可能。

  1. 是否可以\TextField直接通过 LaTeX 动态格式化带有千位分隔符的数字?
  2. 如果没有,是否有方法将自定义 JavaScript 嵌入到 LaTeX 生成的 PDF 中来完成这种格式化?

我愿意接受任何建议或替代解决方案。

\documentclass{article}
\usepackage{hyperref}

\begin{document}
\begin{Form}

\TextField[
    name=nominal,
    align=1,
    value=5000000 
]{}

\end{Form}
\end{document}

注意:@Ulrike Fischer 我相信你知道答案:)

答案1

\documentclass{article}
\usepackage{hyperref}
\newcommand{\myformat}{AFNumber_Format(2, 0, 0, 0, "", true);}
\newcommand{\mykeystroke}{AFNumber_KeystrokeEx(2, 0, 0, 0, "", true);}

\begin{document}
\begin{Form}

\TextField[
    name=nominal,
    align=1,
    value=5000000,
    format=\myformat,
    keystroke=\mykeystroke 
]{}

\end{Form}
\end{document}

在此处输入图片描述

相关内容