3

我想提取pdf文件中的一些指定文本和文本位置。

我知道 xpdf 和 mupdf 可以解析 pdf 文件,所以我认为它们可以帮助我完成这项任务。

但是如何使用这两个库来获取文本位置呢?

4

2 回答 2

2

如果您不介意为 MuPDF 使用 Python 绑定,这里有一个使用 PyMuPDF 的 Python 解决方案(我是它的开发人员之一):

import fitz                     # the PyMuPDF module
doc = fitz.open("input.pdf")    # PDF input file
page = doc[n]                   # page number n (0-based)
wordlist = page.getTextWords()  # gives you a list of all words on the
# page, together with their position info (a rectangle containing the word)

# or, if you only are interested in blocks of lines belonging together:
blocklist = page.getTextBlocks()

# If you need yet more details, use a JSON-based output, which also gives
# images and their positions, as well as font information for the text.
tdict = json.loads(page.getText("json"))

如果您有兴趣,我们在 GitHub 上。

于 2018-01-15T22:04:21.487 回答
1

Mupdf附带了几个工具,一个是pdfdraw.

如果您使用带有该-tt选项的 pdfdraw,它将生成一个XML包含所有字符及其精确定位信息的文件。
从那里你应该能够找到你需要的东西。

于 2011-12-02T09:29:25.000 回答