0

私はこのコードを試します

PDDocument doc = null;

    try 
    {
        doc = PDDocument.load("C:/Users/bcalvo/Desktop/leon/20130710.pdf");
        //doc = PDDocument.load("C:/Users/bcalvo/Desktop/color.pdf");
        PDFStreamEngine engine = new PDFStreamEngine(ResourceLoader.loadProperties("org/apache/pdfbox/resources/PageDrawer.properties"));
        PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get(0);
        engine.processStream(page, page.findResources(), page.getContents().getStream());
        PDGraphicsState graphicState = engine.getGraphicsState();

        System.out.println("color: " + graphicState.getStrokingColor().getColorSpace().getName());

        //System.out.println("color: " + graphicState.getStrokingColor().getJavaColor() );

        float colorSpaceValues[] = graphicState.getStrokingColor().getColorSpaceValue();

        for (float c : colorSpaceValues) 
            System.out.println(c * 255);
    }
    finally 
    {
        if (doc != null) 
            doc.close();
    }       
}

実行すると、次のエラーが表示されます。

2013 年 7 月 10 日 1:23:31 PM org.apache.pdfbox.util.PDFStreamEngine processOperator 警告: java.lang.ClassCastException: org.apache.pdfbox.util.PDFStreamEngine は org.apache.pdfbox.pdfviewer.PageDrawer にキャストできませんjava.lang.ClassCastException: org.apache.pdfbox.util.PDFStreamEngine は org.apache.pdfbox.util.operator.pagedrawer.CurveTo.process(CurveTo.java:45 で org.apache.pdfbox.pdfviewer.PageDrawer にキャストできません) org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:554) で org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:268) で org.apache.pdfbox.util.PDFStreamEngine. processSubStream(PDFStreamEngine.java:235) の org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:215) の com.prueba.ExtractColorFonts.main(ExtractColorFonts.java:26)

エラーを参照する行は次のとおりです。

engine.processStream(page, page.findResources(), page.getContents().getStream());

誰かがこのエラーを修復する方法を知っていますか?

4

0 に答える 0