我想以编程方式从PDF中的表单字段中删除“滚动长文本”字段,然后再盖章该字段。只要某个字段为给定表单域启用了此设置,我就可以执行此操作。我最近遇到了类似的问题,并使用我在本文底部发布的解决方案解决了这个问题:ITextSharp: Remove character Limit from a form field
我认为我应该能够在相同的区域执行此操作,但我不确定需要查找哪个PdfName设置才能检测(并删除)此设置。
提前感谢!
发布于 2012-04-24 21:58:36
根据PDF spec,12.7.4.3,Interactive Feature -> Interactive Forms ->字段Types -> Text Fields一节,您要设置字段标志(Ff)值。该值是一个位标志,位置24是"DoNotScroll“标志。位置24将是二进制1000 0000 0000 0000 0000 0000或十六进制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));
}https://stackoverflow.com/questions/10298770
复制相似问题