2011-07-28 2 views
5

J'ai un pdf avec un formulaire dedans. J'essaye d'écrire une classe qui prendra des données de ma base de données et remplira automatiquement les champs dans le formulaire.Utilisez PDFBox pour remplir un formulaire PDF

J'ai déjà essayé ITextSharp et leur prix est hors de mon budget, même s'il fonctionne parfaitement avec mon pdf. J'ai besoin d'un analyseur pdf gratuit qui me permettra d'importer le pdf, de définir les données et de sauvegarder le PDF, de préférence dans un flux afin de pouvoir renvoyer un objet Stream de ma classe plutôt que d'enregistrer le pdf sur le serveur. J'ai trouvé this pdf reader et cela ne fonctionne pas. Les erreurs de référence nulles sont abondantes et quand j'ai essayé de les "réparer", je n'ai toujours pas trouvé mes champs.

Donc, je suis passé à PdfBox, comme la documentation dit qu'il peut manipuler un PDF, cependant, je ne trouve aucun exemple. Voici le code que j'ai jusqu'ici.

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

Le problème est que catalog.getAcroForm() renvoie une nulle, donc je ne peux pas accéder aux champs. Est-ce que quelqu'un sait comment je peux utiliser PdfBox pour modifier les valeurs de champ et sauvegarder la chose?

EDIT:

Je ne trouve this example, ce qui est à peu près ce que je fais. C'est juste que mon acroform est nul en pdfbox. Je sais qu'il y en a un parce que itextsharp peut très bien s'en sortir.

Répondre

Questions connexes