将现有的现有pdf表单字段替换为同一位置的新表单字段

时间:2012-11-07 10:54:45

标签: c# java asp.net pdf itextsharp

我需要使用ItextSharp替换现有pdf中的复选框和新复选框。

在阅读Pdf时,我如何知道我正在阅读的表格字段的位置。

矩形度量和页面信息(如果我现在正在阅读的表单字段位于第6页)。

我想知道的是如何在阅读时了解现有的表格字段位置? 任何人都可以提供一些关于查找位置和页面的示例代码。

为什么我要替换现有的pdf?你可以在这里找到原因..

Unable to print Check Boxes in pdf

由于

1 个答案:

答案 0 :(得分:1)

一旦有了PdfReader,就可以轻松访问包含所有字段坐标的阅读器的AcroField:

PdfReader pdfReader = new PdfReader(inputFilename);
AcroFields acroFields = pdfReader.AcroFields;
IList<FieldPosition> positions = acroFields.GetFieldPositions(fieldName);

您将获得FieldPosition元素的列表(每个元素包含页码和矩形),因为PDF表单字段可能具有多个可视化。在您的情况下,列表很可能只包含一个元素。

但GetFieldPositions的方法文档有点过时了。 ;)