我需要使用ItextSharp将现有pdf中的复选框替换为新复选框。
在阅读Pdf时,我如何知道正在阅读的表单字段的位置。
矩形尺寸和页面信息(如果我现在正在阅读的表单字段在第6页中)。
确切地说,我想知道的是在阅读时如何知道现有表格字段的位置?
任何人都可以提供一些有关查找位置和页面的示例代码。
为什么我要替换现有的pdf?您可以在这里找到原因。
Unable to print Check Boxes in pdf
谢谢
最佳答案
拥有PdfReader之后,您可以轻松访问包含所有字段坐标的阅读器的AcroFields:
PdfReader pdfReader = new PdfReader(inputFilename);
AcroFields acroFields = pdfReader.AcroFields;
IList<FieldPosition> positions = acroFields.GetFieldPositions(fieldName);
您将获得FieldPosition元素的列表(每个元素都包含页码和矩形),因为PDF表单字段可能具有多个可视化效果。在您的情况下,列表很可能只包含一个元素。
但是,GetFieldPositions的方法文档有些过时。 ;)