Tôi muốn chuyển đổi tài liệu PDF thành hình ảnh. Tôi đã sử dụng Ghost4j.Chuyển đổi tệp PDF sang hình ảnh
Vấn đề: Ghost4J cần tập gsdll32.dll khi chạy, và tôi làm không muốn sử dụng các tập tin dll.
Câu hỏi 1: có cách nào không, trong ghost4j để chuyển đổi hình ảnh mà không có dll?
Câu hỏi 2: Tôi đã tìm thấy giải pháp trong API của PDFBox. org.apache.pdfbox.pdmodel.PDPagep have method
convertToImage() `chuyển đổi trang PDF sang định dạng Hình ảnh.
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();
Tôi chỉ có văn bản trên tài liệu PDF. và tôi có Ngoại lệ khi tôi chạy mã này:
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
tôi nhận được lỗi này May 26, 2015 11:43:31 AM org.apache.pdfbox.util.PDFStreamEngine processOperator THÔNG TIN: hoạt động không được hỗ trợ/vô hiệu hóa: BDC May 26, 2015 11:43: 31 AM org.apache.pdfbox.util.PDFStreamEngine processOperator THÔNG TIN: không được hỗ trợ/hủy hoạt động dẫn đầu: EMC Tôi đang sử dụng pdfbox 1.8.9 jar –
Nó hơi khác với phiên bản mới nhất của PDFbox. Sử dụng lớp PDFRendered. –
pdf có cả nội dung văn bản và hình ảnh đều có vấn đề. Tôi đã thấy rằng sau khi hình ảnh cuối cùng (của tập tin pdf đầu vào) được tạo ra các dữ liệu văn bản được bỏ qua, chỉ một phần hình ảnh (như hình nền vv) được hiển thị. Bất kỳ sự giúp đỡ nào trong lĩnh vực này đều được đánh giá cao. – yeppe