问题:我有一个很大的文件夹,里面有很多子文件夹,里面有很多pdf。其中一些已经在上面带有OCR。其中一些没有。因此,我想编写一个Java程序来过滤掉非OCR PDF并将其复制到热文件夹中。
我测试了20个文档,它们的共同点是,如果使用编辑器打开它们,则可以找到单词“ font”和OCR,而在非OCR中找不到。我现在的问题是:如何使用PDFbox 2.0.0实施此检查?我发现的所有解决方案似乎都不适用于旧版本。而且我无法在文档中找到解决方案。 (这显然是我的错)
提前致谢。
最佳答案
这是查找字体是否在页面顶层的方法:
PDDocument doc = PDDocument.load(new File(...));
PDPage page = doc.getPage(0); // 0 based
PDResources resources = page.getResources();
for (COSName fontName : resources.getFontNames())
{
System.out.println(fontName.getName());
}
doc.close();
回复:mkl建议,以下是提取文本的方法:
PDFTextStripper stripper = new PDFTextStripper();
stripper.setStartPage(1); // 1 based
stripper.setEndPage(1);
String extractedText = stripper.getText(doc);
System.out.println(extractedText);