iText 中有什么方法可以格式化 TextField 的输入吗?我想让 TextField 接受电话号码“(###)###-####”,但我不希望用户在输入时必须对其进行格式化。Pdf 支持表单字段上的掩码,有没有办法在 iText 中做到这一点?
我目前的解决方案是在 Acrobat 中创建 pdf,然后通过 iText 填充已知字段。但这对于这种部署并不理想。理想情况下,我会让 iText 生成整个表单。
感谢您提前提供的所有帮助。
您可以将 JavaScript 添加到更改字段内容的表单中。例如,请参阅计算器示例,了解充当计算器的有趣 PDF (显然此应用程序仅适用于支持 JavaScript 的 PDF 查看器)。
创建文本字段时,您需要使用该方法添加额外的操作setAdditionalActions()
。您可以在不同的事件之间进行选择:K
对于击键(例如,如果您想在有人填写表格时将每个字符都更改为大写,这很有用),Bl
对于模糊(对于一旦失去焦点就处理字段的内容很有用)等.
您可以编写自己的文档级 JavaScript 来格式化字段。有关计算器示例中使用的 JavaScript,请参阅calculator.js。或者,您可以使用 Adobe Reader 预定义的众多AF
方法之一,例如AFNumber_Format
(我现在没有找到可用方法的概述)。