java - example - pdfbox maven
No se puede agregar una imagen a un PDF usando PDFBox (2)
Definitivamente agrega la página al documento. Querrá hacer eso, pero también he notado que PDFBox no escribirá la imagen si usted crea el PDPageContentStream ANTES del PDJpeg. No se explica por qué esto es así, pero si observas de cerca el origen de ImageToPDF, eso es lo que hacen. Crea el PDPageContentStream después de PDJpeg y mágicamente funciona.
...
PDJpeg img = new PDJpeg(document, in);
PDPageContentStream stream = new PDPageContentStream( doc, page );
...
Estoy escribiendo una aplicación java que crea un pdf desde cero utilizando la biblioteca pdfbox.
Necesito colocar una imagen jpg en una de las páginas.
Estoy usando este código:
PDDocument document = new PDDocument();
PDPage page = new PDPage(PDPage.PAGE_SIZE_A4);
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
/* ... */
/* code to add some text to the page */
/* ... */
InputStream in = new FileInputStream(new File("c:/myimg.jpg"));
PDJpeg img = new PDJpeg(document, in);
contentStream.drawImage(img, 100, 700);
contentStream.close();
document.save("c:/mydoc.pdf");
Cuando ejecuto el código, termina con éxito, pero si abro el archivo pdf generado usando Acrobat Reader, la página es completamente blanca y la imagen no se coloca en ella.
El texto en su lugar está colocado correctamente en la página.
¿Alguna pista sobre cómo poner mi imagen en el pdf?
Parece que solo te falta una llamada a document.addPage(page)
.
Consulte también la clase de ejemplo ImageToPDF en PDFBox para obtener un código de muestra.