问题标签 [pdfplumber]

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 回答
345 浏览

python - pdf管道工| 从动态列布局中提取文本

在帖子底部尝试解决方案。

我有近乎工作的代码,可以跨多提取包含短语的句子

但是,有些页面有列。所以各自的输出不正确;其中单独的文本被错误地合并为一个坏句子。

此问题已在以下帖子中得到解决:


问题:

我如何“如果条件”是否有列?

  • 页面可能没有列,
  • 页面可能有超过 2 列。
  • 页面也可能有页眉和页脚(可以省略)。

.pdf动态文本布局示例: PDF(第 2 页)

Jupyter 笔记本:

示例错误输出:


尝试的最小解决方案: 这会将文本分成 2 列;不管有没有2。

请让我知道是否还有其他需要澄清的地方。

0 投票
0 回答
85 浏览

python - 如何从没有标准格式的凌乱 PDF 文件中提取数据?

我正在处理这个 PDF 文件以从中解析表格数据。我希望使用tabulaPyPDF2从中提取表格,但 PDF 中的数据未存储在表格中。所以,我选择pdfplumber从中提取文本。到目前为止,我能够逐行阅读文本。但我想不出一个通用模式,我可以用它来提取定价列表行,我可以存储在 pandas 数据框中并写入一个 excel 文件。

如果我应该构建一个正则表达式或其他任何我可以用来从这个 PDF 中提取定价列表的东西,你能帮我吗?因为我想不出任何适合 PDF 中数据混乱性质的特定正则表达式,有没有更好的方法可以采用?或者根本不可能?

代码

使用以下代码,我能够提取所有文本行,但问题是,一个价格条目分布在两行中。考虑当前行是列出有关条目的大多数详细信息的位置,我如何确定上一行或下一行是否也具有与当前条目相关的信息。

如果我能以某种方式弄清楚,处理列值的正确方法可能是每行 6-13 个,我如何确定列值是否位于当前行的这个特定位置?

我正在使用的 PDF 文件: https ://drive.google.com/file/d/1GtjBf9FcKJCOJVNcGA9mvAshJ6t0oFca/view?usp=sharing

演示哪些数据应适合哪些字段的示例图片: 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
21 浏览

excel - pdf到excel转换使用pdfplumber

我使用 pdfplumber 阅读 pdf 行。我想用适当的间距和特定的列将这些写在 excel 中。我怎样才能做到这一点?一个适当的镜像是可能的吗?

0 投票
0 回答
42 浏览

python - 如何使用 PDFplumber & pandas 显示垂直到水平的文本?

我正在尝试从pdf中抓取一些表格数据并将其转换为 csv 文件。表头是垂直的,当我在csv中打开我的数据框时,只显示列名的最后一个字母。

有什么方法可以让我水平显示完整的标题名称?

0 投票
1 回答
31 浏览

python - pdfplumber 内存占用(大型 pdf 文件崩溃)

使用pdfplumber从大型 pdf 文件中提取文本会导致崩溃。

0 投票
0 回答
24 浏览

python - 如何在 pdfplumber 中将多个页面作为输入?

我正在使用 pdfplumber 从 pdf 文件中获取输入。我的问题是如何使用 pdfplumber 从第 1-7 页输入。

我正在使用这段代码:

我想从第 1 页到第 7 页输入我也试过了p0 = pdf.pages[0,1,2,3,6]。它也不起作用。

0 投票
1 回答
58 浏览

python - ocrmypdf - 找不到源pdf?

我想使用 ocrmypdf 将一些 pdf 文件从图片转换为可读的 pdf -

使用以下简单代码进行了尝试:(invoice.pdf 当然可以在与 python-script 相同的路径中使用,并且应该生成 output.pdf)

但不幸的是,我收到此错误消息:

为什么他不能在执行 py 文件的同一文件夹中找到该文件?

0 投票
1 回答
39 浏览

python-3.x - 将 pdf 文档中突出显示的文本映射到其 .txt 输出中的字符索引范围

我有一个项目,我必须在结构化 PDF 文档中突出显示文本并对其进行分类,以便我可以对多个子字符串执行正则表达式并为它们各自的变量提供正确的值。有没有办法让屏幕提示 PDF对所有不同的感兴趣的子字符串执行正则表达式?

现在我正在使用 python 中的 pdfplumber 库逐行提取 PDF 中的文本并将其附加到字符串中,以便我可以对其执行正则表达式。

我希望能够仅突出显示 pdf 文件中的多行文本并分别对它们进行分类,以便我可以将它们作为参数发送到我自动使用的任何正则表达式库并获取多个正则表达式和/或一个正则表达式作为回报?

0 投票
0 回答
19 浏览

python - 如何在转换为字符串的同时保持 DataFrame 格式而不丢失文本?

我正在尝试通过使用 pandas 作为桥梁将表格从 PDF 转换为文本格式。为此,我使用了 pdflumber 并成功地从每个单元格中手动提取文本,同时保存它们的坐标,然后使用它们将我的表格转换为 pandas Dataframe。

数据框

当我使用.to_string()时,单元格中最大文本的大小会迫使其他尺寸很小的单元格丢失表格格式,以便以这种方式表示行:

在此处输入图像描述

当我使用.to_string(max_colwidth = 10)文本时,即使保持行顺序,文本也不会自动垂直排列并消失。

输出:

如果单元格有两三个句子,如何处理这个问题?

0 投票
0 回答
30 浏览

python - 替换(cid:) 使用 Python REGEX findall 的字符,其中使用 PDFPlumber / pdfMiner 从 PDF 中提取数据

从 PDF 文件中提取文本时使用 Python 替换 (cid:<number>)(我无法在其中添加评论),我尝试使用 @josefz 脚本转换以下内容,但得到原始字符串中没有的无法识别的字符串PDF格式。PDFPlumber 最初提取数据。

输出无法识别:OSLMNLOMOO=NMWQM~\x8a OMOOMNNMVV m~\x96\x8a\x82\x8b\x91=f\x90\x90\x92\x82 ^\x90\x90\x86\x84\x8b\x82\x81

我在上面做错了什么吗?