2011-07-28 6 views
5

Tôi có một pdf có biểu mẫu trong đó. Tôi đang cố gắng viết một lớp sẽ lấy dữ liệu từ cơ sở dữ liệu của tôi và tự động điền vào các trường trong biểu mẫu.Sử dụng PDFBox để điền vào Biểu mẫu PDF

Tôi đã thử ITextSharp và giá của chúng không nằm ngoài ngân sách của tôi, mặc dù nó hoạt động hoàn toàn tốt với pdf của tôi. Tôi cần một trình phân tích cú pháp pdf miễn phí sẽ cho phép tôi nhập tệp pdf, thiết lập dữ liệu và lưu tệp PDF ra, tốt nhất là luồng để tôi có thể trả về đối tượng Luồng từ lớp của tôi thay vì lưu pdf vào máy chủ.

Tôi tìm thấy this pdf reader và nó không hoạt động. Null tham chiếu lỗi là phong phú và khi tôi đã cố gắng để "sửa chữa" chúng, nó vẫn không thể tìm thấy các lĩnh vực của tôi.

Vì vậy, tôi đã chuyển sang PdfBox, vì tài liệu cho biết nó có thể thao tác PDF, tuy nhiên, tôi không thể tìm thấy bất kỳ ví dụ nào. Đây là mã tôi có cho đến nay.

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(); 

Vấn đề là catalog.getAcroForm() trả về giá trị rỗng, vì vậy tôi không thể truy cập vào các trường. Có ai biết làm thế nào tôi có thể sử dụng PdfBox để thay đổi các giá trị trường và lưu điều trở lại?

EDIT:

tôi đã tìm this example, đó là khá nhiều những gì tôi đang làm. Nó chỉ là acroform của tôi là null trong pdfbox. Tôi biết có một ở đó vì itextsharp có thể kéo nó ra tốt.

Trả lời