这是使用Rectangle选择文档的一部分以从pdf文件中提取文本的“ iText in action”示例:
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)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句