首页 > 解决方案 > PDFbox库页面迭代

问题描述

我实现了一种从 PDF 文档中的每个 PDF 页面捕获特定区域的方法,因此捕获该区域的方法采用 PDPage 和 Rectangle 对象,现在我想遍历每个页面并找到位于的第一个字符串(文本)给定的坐标。getPages() 返回 PDPageTree 所以我有点卡住了,因为我不知道如何检查每一页,因为现在它遍历每一页。

public PDPageTree getPages() {
    return getPDDocument().getPages();
}

public String firstInvoiceNumber() throws IOException {
    Rectangle invoiceRectangle = new Rectangle(176, 176, 100, 18);
    String headerTextResult = "";
    for (PDPage pd : getPages()) {
        headerTextResult = StripByArea(pd, invoiceRectangle);
    }
    return headerTextResult;
}

标签: javapdfbox

解决方案


执行以下操作:

public String firstInvoiceNumber() throws IOException {
    Rectangle invoiceRectangle = new Rectangle(176, 176, 100, 18);
    String headerTextResult = "";
    for (PDPage pd : getPages()) {
        headerTextResult = StripByArea(pd, invoiceRectangle);
        if(!"".equals(headerTextResult)) {
            break;
        }
    }
    return headerTextResult;
}

推荐阅读