簡體   English   中英

使用矩形在 iText 中選擇文本

[英]Using Rectangle to select text in iText

這是“iText in action”中使用矩形選擇文檔的一部分以從pdf文件中提取文本的示例:

PdfReader reader = new PdfReader(pdf);
PrintWriter out = new PrintWriter(new FileOutputStream(txt));
Rectangle rect = new Rectangle(70, 80, 420, 500);
RenderFilter filter = new RegionTextRenderFilter(rect);
TextExtractionStrategy strategy;
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
    strategy = new FilteredTextRenderListener(
     new LocationTextExtractionStrategy(), filter);
     out.println(PdfTextExtractor.getTextFromPage(reader, i, strategy));
}
out.flush();
out.close();

我不明白的是這些數字(70、80、420、500)的含義。 通常,(70, 80) 是坐標,420 是寬度,500 是矩形的高度,但我不確定比例、測量方式以及它開始的確切點。 誰能為我解釋一下或展示一些示例圖片?

在這種情況下,您有兩個坐標:x = 70,y = 80 是左下角坐標; x = 420, y = 500 是右上角坐標。 PDF 中使用的單位是“用戶單位”。 默認情況下,1 個用戶單位等於 1 點,但可以使用/UserUnit鍵更改默認值。 正如 mkl 在他的評論中指出的那樣,MediaBox 定義了頁面大小。 但是,您也可以使用 CropBox 來定義頁面的可見區域(如果存在,CropBox 應始終小於 MediaBox)。

暫無
暫無

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

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