Link
Skip to main content

在 PDF 文件中查找文本

JPedal 提供了一个简单的类,用于搜索 PDF 内的文本并输出找到的结果的坐标。

此搜索可以通过一个简单的便捷方法进行,也可以使用更深入的方法,从而进行更强的控制。

便捷的静态方法

String pdfFile = "inputFile.pdf";
String textToFind = "textToFind";

ArrayList <Float[] > resultsForPages=FindTextInRectangle.findTextOnAllPages(pdfFile, textToFind);

可自定义方法

FindTextInRectangle extract = new FindTextInRectangle("inputFile.pdf");
//extract.setPassword("password");
if (extract.openPDFFile()) {
    int pageCount = extract.getPageCount();
    for (int page = 1; page <= pageCount; page++) {
        float[] coords = extract.findTextOnPage(page, "textToFind", SearchType.MUTLI_LINE_RESULTS);
    }
}
extract.closePDFfile();

搜索类型

对于复杂的搜索,您可以设置一个 SearchType。有效值为:

  • DEFAULT (0)
  • WHOLE_WORDS_ONLY (1)
  • CASE_SENSITIVE (2)
  • FIND_FIRST_OCCURANCE_ONLY (4)
  • MUTLI_LINE_RESULTS (8)
  • HIGHLIGHT_ALL_RESULTS (16)
  • USE_REGULAR_EXPRESSIONS (32)

这些值可以通过使用按位 OR 运算符进行组合。例如:

int searchType = SearchType.WHOLE_WORDS_ONLY | SearchType.CASE_SENSITIVE;

关于坐标的说明

示例使用的是 PDF 坐标,坐标原点位于页面的左下角,坐标轴向上延伸。这与 Java 的坐标系相反(Java 的坐标系原点位于左上角,坐标轴向下延伸)。

此示例使用了 JPedal 的 FindTextInRectangle 类。


为什么选择 JPedal?

  • 定期更新的商业库,提供全面支持且无第三方依赖项。
  • 处理 PDF 文件的速度比其他 Java PDF 库快达 3 倍。
  • 为原始设备制造商(OEM)用户提供简单的许可选项和源代码访问权限。

免费试用


Customer Downloads

Select Download