Tengo un pdf con un formulario. Estoy intentando escribir una clase que tomará datos de mi base de datos y rellenará automáticamente los campos en el formulario.Use PDFBox para completar un formulario PDF
Ya he probado ITextSharp y su precio está fuera de mi presupuesto, aunque funciona perfectamente con mi pdf. Necesito un analizador de PDF gratuito que me permita importar el pdf, establecer los datos y guardar el PDF, preferiblemente en una secuencia para que pueda devolver un objeto Stream de mi clase en lugar de guardar el pdf en el servidor.
Encontré this pdf reader y no funciona. Los errores de referencia nulos son abundantes y cuando traté de "arreglarlos", todavía no podía encontrar mis campos.
Por lo tanto, he pasado a PdfBox, ya que la documentación dice que puede manipular un PDF, sin embargo, no puedo encontrar ningún ejemplo. Aquí está el código que tengo hasta ahora.
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();
El problema es que catalog.getAcroForm()
devuelve un nulo, por lo que no puede acceder a los campos. ¿Alguien sabe cómo puedo usar PdfBox para alterar los valores de campo y guardar la cosa de nuevo?
EDIT:
he encontrado this example, que es más o menos lo que estoy haciendo. Es solo que mi acroform es nula en pdfbox. Sé que hay uno allí porque itextsharp puede sacarlo muy bien.