我在尝试填写表单字段时遇到了这个错误。我真的不知道它是什么意思,只出现在我拥有的一些 PDF 上。
我发现它是从 AcroFields.java 抛出的:
if (!PdfName.CH.equals(fieldType))
throw new DocumentException("An appearance was requested without a variable text field.");
任何人都可以提供有关此错误的见解以及导致它的原因吗?
我在尝试填写表单字段时遇到了这个错误。我真的不知道它是什么意思,只出现在我拥有的一些 PDF 上。
我发现它是从 AcroFields.java 抛出的:
if (!PdfName.CH.equals(fieldType))
throw new DocumentException("An appearance was requested without a variable text field.");
任何人都可以提供有关此错误的见解以及导致它的原因吗?
您使用的是非常旧的 iText 版本,请升级!
在最新版本中,异常已本地化:
if (!PdfName.CH.equals(fieldType))
throw new DocumentException(MessageLocalization.getComposedMessage(
"an.appearance.was.requested.without.a.variable.text.field"));
至于你的问题:错误告诉你到底发生了什么。您正在为定义了两个或多个外观的字段设置值。但是,您选择的值是无效值。
例如:您有一个复选框,其可能状态为“关闭”和“打开”,但您尝试将值设置为“1”。没有为值“1”定义外观,因此例外。