我需要使用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的方法文档有些过时。 ;)

10-08 13:09