- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 stackoverflow 中找到并(稍微)修改了这个脚本,使其可以在 python 3.3 上运行:
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
def convert_pdf(path):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, laparams=laparams)
fp = open(path, 'rb')
process_pdf(rsrcmgr, device, fp)
fp.close()
device.close()
string = retstr.getvalue()
retstr.close()
return string
print(convert_pdf('abc.pdf'))
它工作正常,但我似乎有 2 个问题:
在运行脚本时我收到大量警告:
警告:root:undefined: PDFCIDFont: basefont='LKOELN+Wingdings-Regular', cidcoding='Adobe-Identity', 139
警告:根:未定义:PDFCIDFont:basefont='LKKPCF+Wingdings2',cidcoding='Adobe-Identity',132
打印文本中的哪个看起来像 (cid:139)
,我如何捕获此警告并将该文本替换为其他内容?
请注意,我有一个编解码器行,它在原始脚本中位于 TextConverter(rsrcmgr, retstr, laparams=laparams)
中,但是我得到:
追溯(最近的调用最后): 文件“C:/Users/rodrigo/Desktop/csp_pdf/csp_pdf2.py”,第 46 行,位于 convert_pdf('abc.pdf') 文件“C:/Users/rodrigo/Desktop/csp_pdf/csp_pdf2.py”,第 33 行,在 convert_pdf 中 device = TextConverter(rsrcmgr, retstr, codec = 'utf-8', laparams=laparams)TypeError: init() 得到了一个意外的关键字参数 'codec'
这与第一个问题有关吗?
谢谢!
最佳答案
不幸的是,Pdfminer3k 记录到 Python root 记录器。 PDFMiner 应该正确实现日志记录恕我直言。所以不可能以正常方式禁用日志记录。
logging.getLogger("pdfminer").setLevel(logging.WARNING)
糟透了!
我这样做了,效果很好™:
logging.propagate = False
logging.getLogger().setLevel(logging.ERROR)
它将根记录器设置为错误级别。这将停止 PDFMiner 警告日志记录,因为它记录到根记录器,而不是您自己的日志记录。
我需要将传播设置为 False,因为在使用 PDFMiner 之后,我有重复的日志条目。这是由根记录器引起的。
关于python - 关于 pdfminer 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29762706/
我按照这里的说明操作: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)”形式
我是一名优秀的程序员,十分优秀!