问题标签 [pdfminer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
41121 浏览

python - 如何在 Python 中解锁“安全”(读保护)PDF?

在 Python 中,我使用pdfminer从 pdf 中读取文本,并使用此消息下方的代码。我现在收到一条错误消息:

当我用 Acrobat Pro 打开这个 pdf 文件时,发现它是安全的(或“读保护”)。然而,从这个链接中,我了解到有许多服务可以轻松禁用这种读取保护(例如pdfunlock.com。当深入研究 pdfminer 的源代码时,我看到上面的错误是在这些行上生成的。

由于有许多服务可以在一秒钟内禁用这种读保护,我认为这很容易做到。看起来这.is_extractable是一个简单的属性doc,但我不认为它像更改.is_extractable为 True..那样简单。

有人知道如何使用 Python 禁用 pdf 的读取保护吗?欢迎所有提示!

=================================================

您将在下面找到我目前从非读保护中提取文本的代码。

0 投票
1 回答
1375 浏览

python - PDFMiner - 将页面导出为字符串列表

我希望将 pdf 中的文本导出为字符串列表,其中列表是整个文档,字符串是 PDF 的页面。我正在使用 PDFMiner 来完成这项任务,但它非常复杂,而且我的期限很紧。

到目前为止,我已经获得了将完整的 pdf 提取为字符串的代码,但我需要以字符串列表的形式。

我的代码如下

请帮忙。

0 投票
1 回答
287 浏览

python - PDF 抓取:如何为 Python 中抓取的每个 pdf 自动创建 txt 文件?

这就是我想要做的:一个程序,它将一个 pdf 文件列表作为其输入,并为列表中的每个文件返回一个 .txt 文件。

例如,给定一个 listA = ["file1.pdf", "file2.pdf", "file3.pdf"],我希望 Python 创建三个 txt 文件(每个 pdf 文件一个),比​​如说“file1.txt”, “file2.txt”和“file3.txt”。

多亏了这个家伙,我的转换部分工作顺利。我所做的唯一更改是在 maxpages 语句中,我在其中分配了 1 而不是 0,以便仅提取第一页。正如我所说,我的这部分代码运行良好。这是代码。

问题是我似乎无法让 Python 返回我,这就是我在第二段中所说的。我试过以下代码:

我使用包含两个 pdf 文件的列表作为输入运行了该保存功能,但它只生成了一个 txt 文件,并且运行了几分钟而没有生成第二个 txt 文件。实现我的目标的更好方法是什么?

0 投票
1 回答
2150 浏览

pdf - 由于 ToUnicode 映射,PDF 文本提取返回错误字符

我正在尝试使用 PDFMiner 从外语 PDF 文件中提取文本,但被 ToUnicode 语句挫败。即使在普通的 PDF 查看器下,该文件的行为也很奇怪。

例如,这是文件中某些文本的屏幕截图:

正确的文字

但是如果我选择并复制文本,它看起来像这样:

िनरकर</p>

您可以看到几个字符发生了变化,尤其是倒数第二个字符。

毫不奇怪,PDFMiner 提取了不正确的文本。但是每个 PDF 查看器都能正确显示这些数据。我怀疑这个问题要么是 ToUnicode 映射,要么是带有连体字符的东西。所需的字母应该是 0x915、0x94D、0x937 的序列。PDFMiner 只报告 0x915,它描述了一个不同的字符。

我需要做什么才能让 PDFMiner 正确提取文本,即在图像中而不是在复制粘贴的文本中?

这是相关 PDF 的链接

0 投票
2 回答
2283 浏览

python - Python 分段阅读 pdf

我正在尝试阅读一个 pdf 文件,其中每个页面都分为 3x3 块信息

每个条目被分成多行。一个条目的简化示例是这张卡片。但是其他 8 个插槽中也会有类似的卡。我希望能够阅读 A,然后是 B,然后是 C……;但是,如果我阅读A,B和C的第一行,然后是A,B和C的第二行等,我可以生存。我看过pdfminer和pypdf,但我没有看过任何适合我正在寻找的东西。这里的答案效果很好,但
列的顺序经常被扭曲。

0 投票
1 回答
3789 浏览

python - Python 读取 pdf 页面的一部分

我正在尝试阅读一个 pdf 文件,其中每个页面都分为 3x3 块信息

每个条目被分成多行。一个条目的简化示例是这张卡片。但是在其他 8 个插槽中也会有类似的条目。

我看过 pdfminer 和 pypdf2。我还没有发现 pdfminer 过于有用,但是 pypdf2 给了我一些接近的东西。

但是,这只会逐行读取文件。我想要一个解决方案,我只能阅读页面的一部分,以便我可以阅读 A,然后是 B,然后是 C,等等。此外,这里的答案效果很好,但是
列的顺序经常被扭曲,我只能逐行阅读。

0 投票
1 回答
827 浏览

python - 我应该使用什么代码来运行 PDFMiner 3k?

我想使用 PDFMiner 3k,我在 windows 上使用 python 3.3.3,我不知道要写什么指令来使用 PFDMiner 3k,我尝试了很多代码,但仍然不起作用,其中一些是对于 PDFMiner (python 2.7),例如我尝试了下一个代码:

请注意,我已将脚本文件放在包含 PDFMiner 3k 目录的目录中。后者被命名为pdfminer。

我得到下一个错误:

有什么建议吗?,我需要帮助。

0 投票
3 回答
11143 浏览

python - pdfminer 上的警告

我在 stackoverflow 中找到并(稍微)修改了这个脚本,使其可以在 python 3.3 上运行:

它工作正常,但我似乎有两个问题:

  • 在运行脚本时,我收到大量警告:

    WARNING:root:undefined: PDFCIDFont: basefont='LKOELN+Wingdings-Regular', cidcoding='Adobe-Identity', 139
    WARNING:root:undefined: 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 () got an unexpected keyword argument 'codec'

这与第一个问题有关吗?

谢谢!

0 投票
0 回答
129 浏览

parsing - 使用当前的软件可以进行高级 PDF 解析吗?

我们有一个希望实现的项目,在这个项目中,我们需要处理 PDF 文件(不幸的是)并解析它们的内容。在过去的几天里,我们一直在研究很多不同的库,但我们尝试了其中的一些。

虽然是这样,但我们仍然不知道我们是否能够完成这样的任务。基本上,我们的 PDF 文档中的每一页都将包含 6-7 个可能带有图像的问题和 5 个多项选择答案。我们需要对这些问题进行细分,并进一步细分相关问题的多项选择答案。

我们发现PDFBox( Java) 和PDFMiner( Python) 是解析 PDF 最可靠的库,但我个人仍然认为创建一个满足我们要求的可靠系统将非常困难。这不是哪个库最好?问题,但更像是,如果这样的任务是可行的,并且目前在 PDF 解析世界中可以实现这样的高级要求?

当然,我愿意接受任何其他可能有助于我们完成任务的建议(图像处理、裁剪软件、手动裁剪?等)。

例如:一页中有 6 个:

问题格式

0 投票
0 回答
2615 浏览

python - 创建文档对象时使用 Python PDFMiner 获取意外的 EOF

我正在尝试使用 PDFMiner 解析目录中的 PDF 文件,我从复制此处包含的文档中的第一个脚本开始。代码(在下面重复)打开文件,并创建解析器对象,但在尝试创建文档对象时给出“意外 EOF”错误。任何有助于理解为什么会这样的帮助将不胜感激。具体来说,是否存在无法以这种方式解析的 PDF 类型?

这会产生以下错误:

编辑:有人建议问题出在外部参照表上,与此处的问题有关。我不相信,因为该错误跟踪没有提到“意外的 EOF”,而是“找不到 EOF 标记”。这样的解决方案可能是有效的,因为它本质上是说目前存在的 Python 包不太适合解析 PDF 文件标准的混乱。