小编Luc*_*ne1的帖子

使用PDFBOX基于PDF输出识别文本

我使用PDF BOX获取PDF格式的文本颜色信息.我可以使用以下代码获取输出.但我怀疑StrokingColor代表什么,非抚摸颜色代表什么.基于此,我将如何决定哪个文本具有哪种颜色.有人建议我吗?我的cuurent输出是这样的:DeviceRGB DeviceCMYK java.awt.Color [r = 63,g = 240,b = 0] java.awt.Color [r = 35,g = 31,b = 32] 34.934998 31.11 31.875

PDDocument doc = null;
        try {
            doc = PDDocument.load(strFilepath);
            PDFStreamEngine engine = new PDFStreamEngine(ResourceLoader.loadProperties("org/apache/pdfbox/resources/PageDrawer.properties"));
            PDPage page = (PDPage)doc.getDocumentCatalog().getAllPages().get(1);
            engine.processStream(page, page.findResources(), page.getContents().getStream());
            PDGraphicsState graphicState = engine.getGraphicsState();
            System.out.println(graphicState.getStrokingColor().getColorSpace().getName());
            System.out.println(graphicState.getNonStrokingColor().getColorSpace().getName());
            System.out.println(graphicState.getNonStrokingColor().getJavaColor()); 
            System.out.println(graphicState.getStrokingColor().getJavaColor());
            float colorSpaceValues[] = graphicState.getStrokingColor().getColorSpaceValue();
            for (float c : colorSpaceValues) {
                System.out.println(c * 255);
            }
        }
        finally {
            if (doc != null) {
                doc.close();
            }
        }
Run Code Online (Sandbox Code Playgroud)

pdfbox

1
推荐指数
1
解决办法
1986
查看次数

标签 统计

pdfbox ×1