En mi proyecto actual, trato de agregar un BufferedImage
a un documento PDFBox. Más específicamente, utilizo una imagen de JFreeChart
. Mi código se ve así:Agregar BufferedImage al documento PDFBox
public void exportToPDF(JFreeChart chart, String filePath){
PDDocument doc = null;
PDPage page = null;
PDXObjectImage ximage = null;
try {
doc = new PDDocument();
page = new PDPage();
doc.addPage(page);
PDPageContentStream content = new PDPageContentStream(doc, page);
BufferedImage image = chart.createBufferedImage(300, 300);
ximage = new PDJpeg(doc, image);
content.drawImage(ximage, 20, 20);
content.close();
} catch(IOException ie) {
}
doc.save(filePath);
doc.close();
}
Se crea el documento; Puedo agregar texto, pero aparece un error que indica que la imagen no tiene suficiente información para mostrarse.
¿Alguna pista de lo que estoy haciendo mal?
¿Cuál es el error? – leonm
El mensaje de error se muestra en el archivo pdf generado, debería haber sido claro al respecto. Cuando abro el archivo dislays todo el texto como debería, pero en lugar de una imagen recibo un mensaje "Datos insuficientes para mostrar la imagen". Soy más o menos ecológico cuando se trata de reproducir imágenes, por lo que cualquier idea es bienvenida – Oglop
Esta podría ser esta falla: https://issues.apache.org/jira/browse/PDFBOX-2026 Se solucionará en 1.8.5. O descarga una instantánea. –