W moim bieżącym projekcie próbuję dodać BufferedImage
do dokumentu PDFBox. Bardziej szczegółowo, używam obrazu z JFreeChart
. Mój kod wygląda następująco:Dodawanie obrazu BufferedImage do 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();
}
Dokument zostanie utworzony; Mogę dodać tekst, ale pojawia się błąd stwierdzający, że obraz nie ma wystarczającej ilości informacji do wyświetlenia.
Każda wskazówka, co robię źle?
Jaki jest błąd? – leonm
Komunikat o błędzie jest wyświetlany w wygenerowanym pliku pdf, powinienem był o tym powiedzieć. Kiedy otwieram plik, wyświetla cały tekst, ale zamiast obrazu pojawia się komunikat "Niewystarczające dane do wyświetlenia obrazu". Im bardziej lub mniej zielony, jeśli chodzi o siplaying obrazów, więc wszelkie pomysły są mile widziane – Oglop
To może być ten błąd: https://issues.apache.org/jira/browse/PDFBOX-2026 Zostanie to naprawione w 1.8.5. Lub pobierz migawkę. –