簡體   English   中英

如何使用PDFBox獲取裁剪的PDF的元數據

[英]How to get metadata for cropped PDF using PDFBox

我正在使用以下代碼來獲取每個字符的元數據

PDFTextStripper stripper = new PDFTextStripper()
{
    @Override
    protected void processTextPosition(TextPosition text)
    {
        System.out.println(text.toString()+" : " + text.getX() +" : " +text.getY());

    }
}

上面的代碼工作正常。 現在,我裁剪了一部分pdf文件並保存了。 如果我在此裁剪的PDF上應用了相同的邏輯,它將給出父PDF中所有字符的元數據。

請為我建議如何獲取僅在裁剪的PDF中存在的字符元數據。

提前致謝。

裁剪后的PDF頁面本質上是為其定義了裁剪框的PDF頁面,即畫布上的矩形,並且PDF查看器知道應該只在該框內顯示內容。

如果在文本提取過程中要遵守該裁剪框,則只需按坐標進行過濾。 對於簡單的文本提取,可以通過使用PDFTextStripperByArea並使用其getTextForRegion方法來進行。

因為您不只是獲取文本剝離程序返回的字符串,而是通過重載在該類進行過濾之前調用的方法來注入代碼,所以您必須自己過濾。

請注意,您需要根據PDF頁面坐標系進行過濾,而不是根據頁面旋轉調整后的PDFTextStripper坐標進行過濾,以便左上角為0,0 這意味着您必須使用TextPosition text

text.getTextMatrix().getTranslateX(), text.getTextMatrix().getTranslateY()

而不是text.getX(), text.getY()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM