6

我有一个带有表格的pdf。我正在尝试编写一个类,该类将从我的数据库中获取数据并自动填充表单中的字段。

我已经尝试过 ITextSharp 并且他们的定价超出了我的预算,即使它与我的 pdf 完美配合。我需要一个免费的 pdf 解析器,它可以让我导入 pdf、设置数据并保存 PDF,最好保存到一个流中,这样我就可以从我的类中返回一个 Stream 对象,而不是将 pdf 保存到服务器。

我找到了这个 pdf 阅读器,但它不起作用。空引用错误很多,当我尝试“修复”它们时,它仍然找不到我的字段。

所以,我已经转向 PdfBox,因为文档说它可以操作 PDF,但是,我找不到任何示例。这是我到目前为止的代码。

var document = PDDocument.load(inputPdf);

var catalog = document.getDocumentCatalog();

var form = catalog.getAcroForm();

form.getField("MY_FIELD").setValue("Test Value");

document.save("some location on my hard drive");
document.close();

问题是catalog.getAcroForm()返回一个空值,所以我无法访问这些字段。有谁知道我如何使用 PdfBox 更改字段值并将其保存回来?

编辑:

我确实找到了这个例子,这几乎就是我正在做的事情。只是我的 acroform 在 pdfbox 中为空。我知道那里有一个,因为 itextsharp 可以把它拉出来就好了。

4

1 回答 1

1

您是否尝试过 1.2.1 版本?

http://pdfbox.apache.org/apidocs/overview-summary.html

于 2011-09-05T06:52:33.890 回答