问题标签 [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 投票
1 回答
3705 浏览

python-2.7 - 意外的 EOF,使用 slate 在 Python 2.7.12 上解析 PDF 文件

我选择了 Jacqueline Kazil 和 Katherine Karmul 撰写的 O'Reiley 的 Data Wrangling with Python。在第 5 章第 94 页中,我正在运行以下代码。

我正在使用 Windows 10,Python 2.7.12,运行 slate 0.5.2,pdfminer 20140328 并成功安装了 pip。我得到以下结果:

我只知道 EOF 表示“文件结尾”,并且无法从数据源读取更多数据。有人知道发生了什么吗?

如果有人想查看我要解析的文件,就在这里: https ://github.com/jackiekazil/data-wrangling/tree/master/data/chp5

0 投票
1 回答
1181 浏览

python - 在 Python 3 Pdfinterp (Pdfminer) 中解决以前的 CStringIO 和 String IO 函数

我正在使用 pdfminer 工具将 pdf 转换为 .csv(文本),并且该工具中的子命令之一pdfinterp.py仍然使用 CStringIO 和 StringIO 进行字符串到字符串的转换 -

我正在使用 Python 3,所以我知道需要更改为 io 和 io.StringIO。

上面的命令应该如何重新措辞pdfinterp以使其在 Python 3 中起作用。

0 投票
1 回答
134 浏览

ios - 将 pdfminer bbox 坐标转换为 iOS 屏幕

我正在快速做一个 iPad 应用程序项目,我需要提取 pdf word bbox 坐标并将其转换为 iPad 屏幕坐标。目标是我能够检测到何时触摸了一个单词。

我正在使用 webview 来显示 pdf,并且我在 python 中使用 pdfminer 库来提取单词 bbox(我提取字符 bbox,我可以通过分隔单词之间的空格来获取单词)。但我不知道如何将 pdfminer 单词坐标转换为 iOS 屏幕。

如果需要,我可以解释更多或 dd 代码和屏幕截图。任何帮助将不胜感激!

0 投票
0 回答
1485 浏览

python - PDFMiner 编码为 UTF-8

我正在使用 PDFMiner 将 PDF 转换为文本。然后我想将它编码为UTF-8因为文本是希伯来语

这是 PDFMiner 的代码:

现在当我尝试打印它时:

它让我把文本倒过来,就像“rac”而不是“car”,但在希伯来语中。

我该如何纠正?

我尝试了元组切片,但它会反转邮件文本和电话号码文本,所以它不是一个选项。

也不是一个选择:(

0 投票
5 回答
36862 浏览

python-3.x - pdfminer python 3.5

我已经遵循了一些教程,但我无法让这个代码块运行,我做了从 StringIO 到 BytesIO 的必要切换(我相信?)

我不确定为什么“香蕉”什么也没打印,我认为错误可能是红鲱鱼?这与我遵循 python2.7 教程并尝试将其转换为 python3 有关吗?

脚本

这个变体也会发生同样的事情:

我试过搜索这个(大部分 pdfminer 代码来自thisthis)但没有运气。

任何见解都值得赞赏。

干杯

0 投票
5 回答
8992 浏览

python - PDFminer:PDFTextExtractionNotAllowed 错误

我正在尝试从互联网上抓取的 pdf 中提取文本,但是当我尝试下载它们时出现错误:

我检查了 stackoverflow,其他遇到此错误的人发现他们的 pdf 文件用密码保护。但是,我可以通过我的 Mac 上的预览访问 pdf。

有人提到预览可能会查看受保护的 pdf,所以我也在 Adob​​e Acrobat Reader 中打开了文件,并且仍然能够访问 pdf。

这是我从以下网站下载 pdf 的示例:http: //www.sophia-project.org/uploads/1/3/9/5/13955288/aristotle_firstprinciples.pdf

我发现如果我手动打开 pdf 并将其作为 pdf 重新导出到相同的文件路径(基本上用“新”文件替换原始文件),那么我可以从中提取文本。我猜这与从网站下载它们有关。我只是使用 urllib 来下载 pdf,如下所示:

我也尝试将文件重写为新的文件路径,但仍然导致相同的错误。

最后,这是我用来提取文本的函数。

有什么办法可以以编程方式解决这个问题,而不是手动重新导出预览中的文件?

0 投票
6 回答
5920 浏览

python - struct.error: unpack 需要一个长度为 16 的字符串参数

在使用 pdfminer (pdf2txt.py) 处理 PDF文件 (2.pdf)时,我收到以下错误:

虽然类似的文件(1.pdf)不会引起问题。

我找不到有关该错误的任何信息。我在 pdfminer GitHub 存储库上添加了一个问题,但仍未得到答复。有人可以向我解释为什么会这样吗?我该怎么做才能解析2.pdf


更新:直接从 GitHub 存储库安装 pdfminer后,我收到了类似的错误,BytesIO而不是。StringIO

0 投票
1 回答
16548 浏览

python - 使用 Python 突出显示 PDF 中的文本

我正在为我的 PDF 数据语料库开发自定义搜索引擎。

我有一个转换层,它能够将 PDF 内容转储为文本(使用 Apache Tika 和 GROBID)。我已经完成了搜索层和返回搜索结果列表的视图。

现在,我想在原始 PDF 上为出现搜索词的行添加突出显示功能。是的,如果有必要,我想修改 PDF 文件。

有什么办法可以在 PDF 文件中突出显示文本?PDFMiner 或 PyPDF2 或其他 Python 库是否能够做到这一点?

...或者你可以推荐其他的,也许是外部服务?

0 投票
1 回答
120 浏览

python - 来自类实例属性的值被添加到同一类的不同实例

我正在解析 pdf 以使用我的 PdfTable 类提取表数据。当我创建一个类实例然后创建另一个类实例时,似乎第一个类实例 file_1.cells 被添加到第二个类实例 file_2.cells 之前。我无法弄清楚为什么会发生这种情况,因为我认为我不是在创建类变量,而只是在创建实例变量。由于某种原因,当另一个类实例被实例化时,来自 set_cells 的数据会被持久化。怎么了?

file_1.cells

文件_2.cells

预期的 file_2.cells

不仅 file_1.cells 附加到 file_2.cells 之前,而且在处理 file_2 之后,file_1.cells 是来自两个实例的单元格的组合。

0 投票
3 回答
6250 浏览

python-3.x - 使用python3从pdf中提取文本

我正在尝试使用slate模块从 pdf 文件中提取文本,如下所示

我正在尝试:

这给了我错误:

我可以使用 提取文本PyPDF2,但看看 slate 是否更好。