如果您想在 PDF 文件中搜索关键词,而不想手动打开文件,会需要一些第三方库。
在本教程中,我们将使用 Java PDF 库 JPedal 来实现。
如何在不打开 PDF 文件的情况下搜索文本
1. 下载 JPedal 的 Jar 文件并添加到您的项目中
下载试用版
2. 调用 API
提取页面上的词语
ExtractTextAsWordList.writeAllWordlistsToDir("inputFileOrDirectory", "outputDir", -1);
可以使用此方法将页面上的词语提取并保存到指定目录中。
提取非结构化文本
ExtractTextInRectangle extract = new ExtractTextInRectangle("inputFile.pdf");
extract.setOutputFormat(OUTPUT_FORMAT.TXT);
if (extract.openPDFFile()) {
int pageCount = extract.getPageCount();
for (int page = 1; page <= pageCount; page++) {
String text = extract.getTextOnPage(page);
}
}
使用此方法,您可以从 PDF 文件中提取非结构化文本内容。
提取结构化文本
注意:此方法需要 PDF 文件是带标签(Tagged PDF)的。
ExtractStructuredTextProperties properties = new ExtractStructuredTextProperties();
properties.setFileOutputMode(OutputModes.XML);
ExtractStructuredText extract = new ExtractStructuredText("C:/pdfs/mypdf.pdf", properties);
if (extract.openPDFFile()) {
Document anyStructuredText = extract.getStructuredTextContent();
}
extract.closePDFfile();
此方法可以提取结构化的文本内容并以 XML 的格式输出。
3. 搜索提取的文本内容
一旦提取了文本,您可以通过以下代码在其中搜索关键词:
int index = text.indexOf("Java");
本教程展示了如何在不打开 PDF 文件的情况下搜索文本内容。更多信息请访问我们的技术文档!
我们的主页:PDF 转 HTML5、Java 图像库、Java PDF SDK - IDRsolutions
我们的公众号:IDRSolutions