我正在寻找一种使用 PyMUPDF 使用文档索引系统提取文本的方法。许多文档都有一个索引系统,我希望能够从文档中提取和保存每个项目(索引号下的文本)。示例文件:-
显然,我可以像这样抓取文本:
doc = fitz.open(filename)
text = ''
for page in doc:
text += page.getText()
我试过get_toc()
但无法让它工作,可能是因为某些文档没有目录。
我正在考虑使用正则表达式来查找这样的数字
import re
x = re.search("\d\d?\.\d", text)
我在想我可以得到索引号的坐标并保存它们之间的坐标。这将是最好的方法,还是有更好的更原生的方法来使用 PyMUPDF?非常感谢
编辑 - 似乎可以使用Page.get_text('words')
或Page.get_textbox(react)
如这里讨论的那样拉出一个文本矩形https://github.com/pymupdf/PyMuPDF-Utilities/tree/master/textbox-extraction。但是这些示例都使用 PDF 注释来构建 rect 对象。我想要做的是找到索引号的位置,例如 30.1 并使用该位置和以下索引号的位置来构建 rect 对象。
edit2 - 所以我发现Page.search_for()
返回一个具有坐标的矩形对象。所以也许我可以将索引号(例如 30.1)传递给它并取回坐标。