从PDF中提取X,Y坐标:需要返回值而不是打印到控制台

时间:2013-08-12 00:31:07

标签: java pdf methods pdfbox

我对org.apache.pdfbox.examples.util.printtextlocations进行了一些非常小的调整,但我无法弄清楚如何返回String,List或TextPosition对象。

通过此for循环设置PDF的解析:

for (int i=0; i<allPages.size(); i++ ) {
    PDPage page = (PDPage)allPages.get( i );
    System.out.println( "Processing page: " + i );
    PDStream contents = page.getContents();
    if( contents != null )
        {
            printer.processStream(page, page.findResources(), 
                                  page.getContents().getStream() );
        }
}

以下是相关方法:

public void processTextPosition( TextPosition text ) {
    System.out.println( "String[" + text.getXDirAdj() + "," +
            text.getYDirAdj() + " fs=" + text.getFontSize() + " xscale=" +
            text.getXScale() + " height=" + text.getHeightDir() + " space=" +
            text.getWidthOfSpace() + " width=" +
            text.getWidthDirAdj() + "]" + text.getCharacter() ); */
}

它将我想要的信息打印到控制台,但我希望能够返回TextPosition对象。

我已经浏览了org.apache.pdfbox.util.PDFTextStripper类的Javadocs和source,但是我对Java的熟悉程度还不足以找出解决方案。并且,毫不奇怪,如果我尝试在我的类中更改processTextPosition以返回值,那么它会产生此错误(PDF中的“processTextPosition(TextPosition)”不能覆盖PDFTextStripper中的processTextPosition(TextPosition)。)

0 个答案:

没有答案
相关问题