我想在标记该字段之前以编程方式从 PDF 中的表单字段中删除“滚动长文本”字段。我想在任何时候为给定的表单字段启用此设置的字段。我最近遇到了类似的问题,并使用我在这篇文章底部发布的解决方案解决了这个问题:ITextSharp: Remove character Limit from a form field
我认为我应该能够在同一区域执行此操作,但我不确定我需要寻找哪个 PdfName 设置来检测(并删除)此设置。
提前致谢!
我想在标记该字段之前以编程方式从 PDF 中的表单字段中删除“滚动长文本”字段。我想在任何时候为给定的表单字段启用此设置的字段。我最近遇到了类似的问题,并使用我在这篇文章底部发布的解决方案解决了这个问题:ITextSharp: Remove character Limit from a form field
我认为我应该能够在同一区域执行此操作,但我不确定我需要寻找哪个 PdfName 设置来检测(并删除)此设置。
提前致谢!
根据PDF 规范,部分12.7.4.3
,交互功能 -> 交互表单 -> 字段类型 -> 文本字段,您要设置字段标志 ( Ff
) 值。该值是位标记,位置 24 是“DoNotScroll”标记。位置 24 将是 binary1000 0000 0000 0000 0000 0000
或 hex 0x800000
。使用这个和其他帖子中的代码,您可以添加它,它应该可以满足您的需求:
if (AnnotationDictionary.Contains(PdfName.FF)) {
int Ff = AnnotationDictionary.GetAsNumber(PdfName.FF).IntValue;
int doNotScrollBit = 0x800000;
Ff = doNotScrollBit | Ff;
AnnotationDictionary.Put(PdfName.FF, new PdfNumber(Ff));
}