Используйте PDFBox для заполнения формы PDF

У меня есть 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 () возвращает значение null, поэтому я не могу получить доступ к полям. Кто-нибудь знает, как я могу использовать PdfBox для изменения значений полей и сохранения их обратно?

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

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

6
задан Josh 28 July 2011 в 15:04
поделиться