Dot-Net
是否可以修改 PDF 表單欄位名稱?
這是情況。我有一個帶有自動生成的 pdf 表單欄位名稱的 PDF。問題是這些名稱對使用者不是很友好。它們看起來像:topmostSubform
$$ 0 $$.Page1$$ 0 $$。網站地址$$ 0 $$ 我希望能夠更改它們,使它們類似於網站地址。我可以訪問 ABCPDF 並且我有使用 iTextSharp 的經驗,但是我嘗試使用這些 API 來執行此操作(訪問表單欄位並嘗試重命名),但似乎不可能。
有沒有人有任何嘗試通過某種 API(最好是開源的)來做到這一點的經驗。程式碼也是.Net。
好消息:您可以在 iTextSharp 中更改欄位名稱。
但是,您實際上無法編輯 PDF。您將閱讀現有的 PDF,更新記憶體中的欄位名稱,然後寫出修改後的 PDF。要更改欄位名稱,請呼叫 AcroFields.RenameField 方法。
這是一個片段:
PdfReader reader = new PdfReader(PDF_PATH); using (FileStream fs = new FileStream("Test Out.pdf", FileMode.Create)) { PdfStamper stamper = new PdfStamper(reader, fs); AcroFields fields = stamper.AcroFields; fields.RenameField("oldFieldName", "newFieldName"); stamper.Close(); }現在是壞消息:您可以在重命名欄位中使用的字元似乎存在限制。
我用您的範例欄位名稱測試了上面的程式碼段,但它不起作用。刪除句點,它確實有效。我不確定是否有解決方法,但這可能對您來說是個問題,