Konvertieren Sie eine PDF-Datei in ein Bild
Ich wollte zu konvertieren PDF-Dokument in Bild. Ich war mit Ghost4j.
Problem: Ghost4J muss gsdll32.dll Datei zur Laufzeit, und ich nicht wollen, verwenden Sie die dll-Datei.
Frage 1: gibt es eine Möglichkeit, in ghost4j zu Bild konvertieren ohne die dll?
Frage 2: ich fand die Lösung in der PDFBox API. org.apache.pdfbox.pdmodel.PDPagep
convertToImage()` wandelt die PDF-Seite Bild-format.
have method
PDDocument doc = PDDocument.load(new File("/document.pdf"));
List<PDPage>pages = doc.getDocumentCatalog().getAllPages();
PDPage page = pages.get(0);
BufferedImage image =page.convertToImage();
File outputfile = new File("/image.png");
ImageIO.write(image, "png", outputfile);
doc.close();
Habe ich nur text auf das PDF-Dokument. und ich habe, dass die Ausnahme, wenn ich diesen code ausführen:
Aug 12, 2013 6:00:24 PM org.apache.pdfbox.util.PDFStreamEngine processOperator
INFO: unsupported/disabled operation: BDC
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getawtFont(PDTrueTypeFont.java:481)
at org.apache.pdfbox.pdmodel.font.PDSimpleFont.drawString(PDSimpleFont.java:109)
at org.apache.pdfbox.pdfviewer.PageDrawer.processTextPosition(PageDrawer.java:235)
at org.apache.pdfbox.util.PDFStreamEngine.processEncodedText(PDFStreamEngine.java:496)
at org.apache.pdfbox.util.operator.ShowTextGlyph.process(ShowTextGlyph.java:62)
at org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:554)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:268)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)
at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:215)
at org.apache.pdfbox.pdfviewer.PageDrawer.drawPage(PageDrawer.java:125)
at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:781)
at org.apache.pdfbox.pdmodel.PDPage.convertToImage(PDPage.java:712)
at ge.eid.esignature.adessa.pades.sign.PDFtoImage.main(PDFtoImage.java:25)
Caused by: java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:216)
at sun.font.TrueTypeFont.lookupName(TrueTypeFont.java:1153)
at sun.font.TrueTypeFont.getPostscriptName(TrueTypeFont.java:1205)
at java.awt.Font.getPSName(Font.java:1156)
at org.apache.pdfbox.pdmodel.font.FontManager.loadFonts(FontManager.java:101)
at org.apache.pdfbox.pdmodel.font.FontManager.<clinit>(FontManager.java:53)
... 13 more
InformationsquelleAutor der Frage grep | 2013-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie leicht umwandeln 04-Request-Headers.pdf Datei Seiten, in Bild-format.
Konvertieren Sie alle pdf-Seiten, in Bild-format in Java-Verwendung von PDF-Box.
Jar erforderlich pdfbox-1.8.3.jar
oder die maven-dependency
Hier ist die Lösung:
Möglich, Konvertierungen von Bild in
jpg, jpeg, png, bmp, gif
format.Hinweis: erwähnte ich, dass die hauptsächlich verwendeten Bild-Formate.
Die Ausgabe Der Konsole:
InformationsquelleAutor der Antwort pudaykiran
Können Sie versuchen, zu verwenden NonSequentialParser um Fehler zu vermeiden, mit einigen PDF-Dateien (inkrementelle updates):
PDDocument doc = PDDocument.loadNonSeq(new File("/Dokument.pdf"));
InformationsquelleAutor der Antwort stanlyF
Den Weg über PDFBox ist ein guter Weg, um zu vermeiden nativen Bindungen.
Versuchen Sie, mit dem PDFImageWriter aus der PDFBox, ich Tat das gleiche mit es in ein paar Zeilen und es funktionierte perfekt.
Sie haben zum extrahieren der PDFDocument und verwenden Sie den Schriftsteller.
Für alle Seiten.
Finden Sie unter:
PDFImageWriter Javadoc
InformationsquelleAutor der Antwort Xondio
Wahrscheinlich haben Sie versuchen, zu konvertieren beschädigte PDF-Datei. Ich habe den gleichen Fehler, wenn Sie die PDF-Datei enthält JPXEncoded streams.
InformationsquelleAutor der Antwort Malhotra
InformationsquelleAutor der Antwort Vahap Gençdal
Für den Fehler:
Müssen Sie fontbox-1.7.1 jar in den class-path abgesehen von Apache pdfbox-Glas, die das Problem lösen, wie PDFBox intern verwendet fontbox-1.7.1
InformationsquelleAutor der Antwort user2605874
Können Sie ganz einfach konvertieren von PDF in Bild mit PDFBox. renderImageWithDPI Methode der PDFRenderer Klasse von PDFBox wird verwendet, um konvertieren von pdf zu image.
InformationsquelleAutor der Antwort Bittu Choudhary