pdfbox-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 郭峰 <25guofen...@163.com>
Subject pdfbox-2.0.0-RC1 throws IOException: Invalid characters codes in linux but works fine in windows
Date Thu, 29 Oct 2015 10:03:09 GMT
I am using pdfbox to convert pdf to image. When I  convert the pdf file which is in the attachment,
it throws IOException: Invalid characters codes:


java.io.IOException: Invalid characters codes
at org.apache.fontbox.ttf.CmapSubtable.processSubtype12(CmapSubtable.java:237)
at org.apache.fontbox.ttf.CmapSubtable.initSubtable(CmapSubtable.java:107)
at org.apache.fontbox.ttf.CmapTable.read(CmapTable.java:84)
at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:377)
at org.apache.fontbox.ttf.TrueTypeFont.getCmap(TrueTypeFont.java:282)
at org.apache.fontbox.ttf.TrueTypeFont.getUnicodeCmap(TrueTypeFont.java:524)
at org.apache.fontbox.ttf.TrueTypeFont.nameToGID(TrueTypeFont.java:582)
at org.apache.fontbox.ttf.TrueTypeFont.getWidth(TrueTypeFont.java:644)
at org.apache.pdfbox.pdmodel.font.PDCIDFontType0.getWidthFromFont(PDCIDFontType0.java:372)
at org.apache.pdfbox.pdmodel.font.PDType0Font.getWidthFromFont(PDType0Font.java:382)
at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:349)
at org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:324)
at org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:735)
at org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:692)
at org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:560)
at org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:50)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:806)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:468)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:442)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:179)
at org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:80)


here is my test code:


    private static void pdfToImage(String filePath, String filename)
            throws IOException {
        String fullPath = filePath + filename;
        File pdfFile = new File(fullPath);
        PDDocument document = null;
        document = PDDocument.load(pdfFile);
        PDFRenderer renderer = new PDFRenderer(document);
        int numPages = document.getNumberOfPages();
        int count = 1;
        for (int i = 0; i < numPages; i++) {
            BufferedImage image = renderer.renderImageWithDPI(i, 300);
            File imageFile = new File(filePath + File.separator
                    + FilenameUtils.getBaseName(filename) + File.separator
                    + FilenameUtils.getBaseName(filename) + "_" + count++
                    + ".jpg");
            imageFile.mkdirs();
            ImageIO.write(image, "jpg", imageFile);
        }
    }


please give me some help, thanks!





Mime
View raw message