- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在生产环境中使用 pdfminer.six 从 pdf 中提取文本。目前,对于我的基准 44 页文档,大约需要 18 秒。我想尽可能减少这种情况。
到目前为止,我已经设法通过转动 caching = False
将时间减少了 3 秒。 .有没有人对我如何进一步优化它有建议?据我所知,使用像 这样的模块多处理 并行处理页面是行不通的,因为底层方法/函数不能被腌制。
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
path = "PATH/TO/MYPDF.pdf"
rsrcmgr = PDFResourceManager()
retstr = io.StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams, showpageno= True)
fp = open(path, 'rb')
interpreter = PDFPageInterpreter(rsrcmgr, device)
password = ""
maxpages = None
caching = False
pagenos=set()
for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
interpreter.process_page(page)
text = retstr.getvalue()
fp.close()
device.close()
retstr.close()
最佳答案
我在 python 3.8 上使用 pdfminer。我有一个操作 pdf 文档内容的应用程序,虽然组装单词/标记并确定它们出现在表格文档中的位置非常繁琐,但我在 python 2.7 中运行良好,但移至 py3 和最新版本pdfminer 的版本,它运行得太慢以至于无法接受。因此,经过大量挖掘和分析我的代码后,我发现因为旧版本的所有打印语句都已转换为日志语句,并且 pdfminer 模块创建的记录器都默认为 level.DEBUG,并且因为我已分配处理程序针对根记录器将日志消息写入文件,整体速度受到很大影响。
在导入 pdfminer 模块之后以及在实例化任何类或调用它们之前添加以下代码,现在它的运行速度可以接受。
# set all pdfminer logging to WARN
pdflogs = [logging.getLogger(name) for name in logging.root.manager.loggerDict if name.startswith('pdfminer')]
for ll in pdflogs:
ll.setLevel(logging.WARNING)
关于python - 优化pdfminer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473770/
我按照这里的说明操作:file:///home/bioinfo/Descargas/pdfminer3k-1.3.0/docs/index.html 下载 pdfminer3k-1.3.0 后我做了:
我正在尝试安装 pdfMiner 以使用 CollectiveAccess。我的主机 (pair.com) 为我提供了以下信息来帮助我完成此任务: When compiling, it will li
使用 pdfminer 将 pdf 转换为 html 是一种简单的方法吗?我见过很多这样的问题,但他们不会给我一个正确的答案... 我已经在我的 ConEmu 提示中输入了这个: # pdf2txt.
我正在使用 PDFMiner Python library 将 PDF 文件转换为文本,使用 this SO answer 中提供的代码片段.问题是 PDF 是三列格式的,我需要阅读每一行。但是,我得
我希望将 pdf 中的文本导出为字符串列表,其中列表是整个文档,字符串是 PDF 的页面。我正在使用 PDFMiner 来完成这项任务,但它非常复杂,而且我的截止日期很紧。 到目前为止,我已经获得了将
我正在使用 python2.7 和 PDFminer 从 pdf 中提取文本。我注意到有时 PDFminer 会给我带有奇怪字母的单词,但 pdf 查看器不会。另外,对于某些 pdf 文档,PDFmi
因此,我试图从一些 PDF 中获取特定的文本位,并且我将 Python 与 PDFMiner 一起使用,但由于 API 发生了一些变化,在 November 2013 中发生了一些问题。 .基本上,要
我正在使用模块 pdfminer python 模块解析 PDF 文档。我只想从此文档中提取文本。 过程进行得很顺利,但是当我提取 LTText* 对象时,我意识到我并没有得到 LTText* 对象中
在处理 file 时使用 pdfminer (pdf2txt.py) 我收到空输出: dan@work:~/project$ pdf2txt.py docs/homericaeast.pdf dan
这个问题在这里已经有了答案: How to extract text and text coordinates from a PDF file? (4 个答案) 关闭上个月。 我找到了 this q
我有一个获取附件文件名的脚本,如果扩展名表示 pdf 文件,它会通过以下代码运行它。但是我收到了下面的 KeyError。我找不到有关如何更正或排除故障的任何信息。我之前已经通过这个脚本成功地运行了
我下载了pdfminer,命令行方法工作得很好,但我希望能够同时转换多个pdf文档,所以我尝试使用pdfminer作为库,我找到了这个os stackoverflow,但我不能让它工作.. from
是否有任何方法可以使用 pdfminer 或任何其他适用于 python 的包来获取 pdf 中特定部分的页码。我需要获取 pdf 索引部分的页码。 最佳答案 我知道这是一篇旧帖子,但我一直遇到同样的
我有一个 pdf 文件,我想用 pdfminer 解析它的文本。问题是 LAParams 有时会失败并在最后给出该行的一部分。我不明白为什么。我的 pdf 看起来像这样: 输出看起来像这样: 我的代码
我在 stackoverflow 中找到并(稍微)修改了这个脚本,使其可以在 python 3.3 上运行: from pdfminer.pdfinterp import PDFResourceMan
这个问题在这里已经有了答案: How to unlock a "secured" (read-protected) PDF in Python? (9 个回答) 关闭 3 个月前。 我正在尝试从互联
我使用 PDFminer 的 pdf2text 将 PDF 缩减为文本。不幸的是它包含特殊字符。让我显示控制台的输出 >>>a=pdf_to_text("ap.pdf") 这里是它的一个样本,有点截断
我正在尝试使用 pdfminer 从 pdf 中获取文本数据.我可以使用 pdfminer 命令行工具 pdf2txt.py 成功地将这些数据提取到 .txt 文件中。我目前这样做,然后使用 pyth
我有一个pdf文件。在我的win 10、python 3.6环境中安装pdfminer.6后,我运行: $ pdf2txt.py -o test1 download.pdf 给我屏幕截图输出。当我运行
我有一些印地语的 PDF,并且有可提取的文本。我使用 pdfminer.six for python 3.6 来进行提取。输出如下: 正如我们所见,有许多字符被转换为“(cid :number)”形式
我是一名优秀的程序员,十分优秀!