PDF-Feld generieren von leeren Bilder durch JBIG2-Bilder sind
Lassen Sie mich geben Ihnen einen überblick über mein Projekt zuerst. Ich habe eine pdf die ich brauche, um zu konvertieren in Bilder(Ein Bild für eine Seite) mit PDFBox
API und schreiben Sie alle diese Bilder in eine neue pdf-Datei mit der PDFBox
API selbst. Im Grunde ist das konvertieren einer pdf-Datei in ein pdf, welches wir als PDF-Datei zu Transkodieren.
Für bestimmte PDF-Dokumente, welche die JBIG2-Bilder, PDFbox Umsetzung von convertToImage()
Methode versagt, schweigend, ohne irgendwelche Ausnahmen oder Fehler und schließlich die Herstellung einer PDF-Datei, aber dieses mal eben mit leerem Inhalt(weiß). Die Botschaft, die ich bin immer auf der Konsole ist:
Dec 06, 2013 5:15:42 PM org.apache.pdfbox.filter.JBIG2Filter decode
SEVERE: Can't find an ImageIO plugin to decode the JBIG2 encoded datastream.
Dec 06, 2013 5:15:42 PM org.apache.pdfbox.pdmodel.graphics.xobject.PDPixelMap getRGBImage
SEVERE: Something went wrong ... the pixelmap doesn't contain any data.
Dec 06, 2013 5:15:42 PM org.apache.pdfbox.util.operator.pagedrawer.Invoke process
WARNING: getRGBImage returned NULL
Muss ich wissen, wie dieses Problem zu beheben? Wir haben so etwas wie:
import org.apache.pdfbox.filter.JBIG2Filter;
die ich nicht wissen, wie zu implementieren.
Ich bin auf der Suche, aber ohne Erfolg. Könnte jemand bitte deuten?
- Ah, eine Ausnahme gibt einen Hinweis: "nicht finden Können, ein ImageIO plugin zum Dekodieren der JBIG2 kodierte Datenstrom"; PDFBox verwendet die Java-standard-Klassen beim Rendern von Bildern, und Sie erfordern eine externe JBIG2 Unterstützung.
- Aber was ist dann die Verwendung von import org.apache.pdfbox.filter.JBIG2Filter
- was ist die Verwendung von
JBIG2Filter
- Wie in der Javadoc der Klasse sagt, es ist angelehnt an das JBIG2Decode filter. Nach der Spezifikation ISO 32000-1 Abschnitt 7.4.7 "JBIG2Decode Filter": Die JBIG2Decode filter (PDF 1.4) dekodiert Monochrom (1 bit pro pixel) Bild-Daten, die codiert wurde mit JBIG2-Codierung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf das ticket in PDFBox https://issues.apache.org/jira/browse/PDFBOX-1067 . Ich denke, die Antwort auf Ihre Frage ist:
jbig2-imageio-3.0.0.jar
von search.maven.org/remotecontent?filepath=org/apache/pdfbox/... und dies das problem gelöst (danke!) und es hat ein Apache-Lizenz, die sich mehr erlauben als GPL3 ...Ich hatte genau das gleiche problem.
Ich habe die jar von
jbig2-imageio
und eben habe ich es in meinem Projekt die Anwendung Bibliotheken, und es funktionierte direkt aus der box. Als adam sagte, er verwendet GPL3.
Installation der JAI scheint nicht erforderlich.
Ich brauchte nur zu downloaden levigo-jbig2-imageio-1.6.5.jar platzieren Sie es im Ordner von meinem dependency-jars und in eclipse hinzufügen, um den java build path-libraries.
https://github.com/levigo/jbig2-imageio/
Ich hatte das gleiche problem und habe es behoben durch hinzufügen dieser Abhängigkeit in meinem pom.xml :
Glück.
ImageIO
block. 2 . testPDFBoxSaveAsImage() speichert die Seiten als einzelnes Bild. 3.testPDFBoxExtractImagesX() extrahieren von Bildern aus PDF-Dokument mit dem getxObject.