2012-11-07 29 views
0

我需要使用ItextSharp替換現有pdf中的複選框與新的複選框。用相同的palce替換現有的PDF表單域與新的表單域

閱讀PDF時,我如何知道我正在閱讀的表單字段的位置。

矩形度量和頁面信息(如果我正在閱讀的表單字段在頁碼6中)。

準確地說,我想知道的是如何在閱讀時瞭解現有表單字段的位置? 任何人都可以提供一些示例代碼查找位置和頁面。

爲什麼我要替換現有的pdf?你可以在這裏找到原因..

Unable to print Check Boxes in pdf

感謝

回答

1

一旦你有一個PdfReader,你可以輕鬆地訪問閱讀器的AcroFields持有所有領域的座標:

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

由於PDF表單字段可能有多個可視化對象,因此您會得到FieldPosition元素(每個元素都包含一個頁碼和一個矩形)的列表。在你的情況下,列表最有可能只包含一個元素。

雖然GetFieldPositions的方法文檔有點過時了。 ;)

+0

感謝您的回答。 – Jayee