我试图从旋转的PDF页面中提取文本:页面有" /旋转90"里面的指示。此平均页面在显示时会旋转,但在使用PdfTextExtractor和LocationTextExtractionStrategy提取文本时似乎不会旋转。 我跟着Lowagie先生的例子 https://kahdev.wordpress.com/2013/02/14/mocking-java-classes-in-groovy-vs-mockito/
我尝试旋转区域而不是页面,但它似乎将整个文本块提取为一个部分而不是精确选择的区域。
我使用iText 5.5.12和Java 1.8
如何旋转页面以进行提取?
更新
我使用的代码是这样的:
PdfReader reader = null;
try {
reader = new PdfReader("C:\\Temp\\rotated.pdf");
Rectangle rect = new Rectangle(480, 484, 576, 525);
final Rectangle pageRect = reader.getPageSize(1);
RenderFilter regionFilter = new RegionTextRenderFilter(rect);
TextExtractionStrategy strategy = new FilteredTextRenderListener(new LocationTextExtractionStrategy(),
regionFilter);
System.out.println(">>" + PdfTextExtractor.getTextFromPage(reader, 1, strategy).trim());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null)
reader.close();
}
我找不到上传示例PDF的方法。我把这张图片从Gimp拍摄到选定的区域。 Pdf是使用LibreOffice导出功能创建的,然后手动编辑以添加/旋转命令。
给定坐标考虑右下角的零点。
程序输出为空字符串。