Используйте PDFBox для заполнения формы PDF - PullRequest
6 голосов
/ 28 июля 2011

У меня есть 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, чтобы изменить значения полей и сохранить объект обратно?

РЕДАКТИРОВАТЬ:

Я нашел этот пример Это то, что я делаю.Просто моя акроформа в pdfbox пуста.Я знаю, что есть один, потому что itextsharp может вытащить его просто отлично.

1 Ответ

1 голос
/ 05 сентября 2011

Вы пробовали с версией 1.2.1?

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

...