问题标签 [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 回答
226 浏览

python - pdfplumber extract_text 函数还从表中提取文本。只想提取表格外的文本

我有一个包含文本和表格的 pdf。我想提取它们两个,但是当我使用 extract_text 函数时,它也会提取表内的内容。我只想提取表外的文本,并且可以使用 extract_tables 函数提取表。

我已经使用仅包含表格但仍然 extract_text 的 pdf 进行了测试,它还提取了我想使用 extract_tables 函数提取的表格内容。

0 投票
1 回答
144 浏览

python - 如何使用Python从pdf中提取的文本中计算列表中的单词数?

我正在尝试计算从 PDF 中提取的一系列单词,但我只得到 0 并且它不正确。

0 投票
0 回答
49 浏览

python - 根据内容将大型 PDF 文档分成更小的文档

我有一个格式非常具体的大 pdf 文件,如果你愿意的话,还有一堆报告,都在一个大的 pdf 文档中。我正在使用 pdfplumber 在每页的边界框中提取特定文本。我把这个变量叫做scene_text。scene_text 的值在整个文档中发生变化,但许多页面包含相同的 scene_text 值。我想将大 pdf 分成多个较小的 pdf 文件,这些文件根据它们的 scene_text 值命名,每个 pdf 文件都包含具有匹配 scene_text 的所有页面。我非常卡住,任何帮助将不胜感激。

0 投票
1 回答
66 浏览

python - Python & Pandas:将多行组合成单个单元格

我正在编写一个脚本,该脚本从 pdf 文件中提取文本并将其作为字符串插入到单个 csv 行中。使用pdfplumbr我可以成功提取文本,将每个页面的文本作为单独的行插入到 csv 中。但是,我正在努力弄清楚如何将这些行组合成一个单元格。我正在尝试将 Pandaspd.concat功能结合起来,但到目前为止还没有成功。

这是我的代码:

但是,最终输出无法合并行,更糟糕的是似乎丢失了最后一行。关于如何解决这个问题的任何建议?感谢所有帮助。

0 投票
1 回答
58 浏览

python - Python - 将标题插入csv

我正在开发一个脚本,该脚本通过循环从目录中的所有 pdf 文件中提取文本,并将它们插入到 csv 文件的各个单元格中。我可以成功地将输出写入单元格。但是,我需要 csv 文件包含"text"用于与另一个 csv 合并的标题。到目前为止,我插入该标题的尝试csv_writer遇到了困难。

例如,下面的代码成功地从 pdf 中提取和插入文本,但为每个提取的文件写入一个新的标题:

我尝试的另一种方法同样不成功。我尝试先将标头写入 csv,然后将循环的输出附加到 csv。但是,由于某种原因,pdf 输出的格式被完全破坏,文本分散在多个单元格而不是单个单元格中。

任何有关此挑战的变通办法或更好方法的建议都将受到欢迎。

0 投票
1 回答
180 浏览

python - pdfplumber 可以为我扫描的 pdf 提取表格吗?

(我知道 pdfplumber 主要面向计算机生成的 PDF。但是,在我花了几天时间从扫描的 PDF 中手动输入数据之前,我想我会问 pdfplumber 是否能以某种方式帮助我。)

我的问题:
我从历史书籍中扫描了 PDF。
示例:来自统计年鉴的数据
现在我正在尝试从扫描的 PDF 中提取表格(示例中右下角的那个)。

我第一次尝试用 pdfplumber 提取表格没有成功。
例如

回来None

有没有希望我能够非手动提取这种数据?还是我应该把它吸干?

提前感谢您的任何帮助或建议!

0 投票
1 回答
86 浏览

python - Pdfplumber 遗漏了原理图中所有表格的第一列和最后一行

我是 pdfplumber 的新手,我对它如何从表格中提取文本感到惊讶。

它很容易适用于所有页表,但就我而言,我使用的是一些拓扑示意图,其中包含一些表。

它无法提取文档中每个表的第一列和最后一行。我试图调整 table_settings 变量中的几个配置参数,不幸的是我无法获得更好的结果(在我的情况下,原理图中的其余文本被视为表格,以防我使用“文本”而不​​是“线”)。

有什么帮助吗?我正在使用 Python 3.9.8,用于测试的 pdf 可以在以下位置找到:schematic.pdf

接下来是源代码:

0 投票
0 回答
46 浏览

python - Python pdfplumber:错误:解包需要 230 字节的缓冲区

我正在使用 pdfplumber 来提取一些 pdf 文档的内容。

在 i=30 我收到以下错误:

文件“C:\ProgramData\Anaconda3\lib\site-packages\pdfminer\cmapdb.py”,第 117 行,在 decode return struct.unpack('>%dH' % n, code)

错误:解包需要 230 字节的缓冲区

有什么办法可以解决这个问题?

0 投票
2 回答
70 浏览

python - PDF跨多行解析句子

目标:如果 pdf 行包含子字符串,则复制整个句子(跨多行)。

我能够出现print()在。linephrase

现在,一旦我找到这个line,我想返回迭代,直到我找到一个句子终止符:. ! ?,从上一个句子开始,然后再次向前迭代,直到下一个句子终止符。

这样我就可以知道print()该短语所属的整个句子。


Jupyter 笔记本:

输出:


短语:

句子(跨多行):

PDF(第 2 页)

我一直在基于这个解决方案进行“回溯”迭代。我确实尝试了 a ,但它不会让你退回迭代。for-loop

添加了正则表达式语句


如果还有什么我可以添加到帖子中,请告诉我。

0 投票
1 回答
38 浏览

python - 跨多行刮句 | 递归错误未解决

目标:如果 pdf 行包含子字符串,则复制整个句子(跨多行)。

我能够出现print()在。linephrase

现在,一旦我找到这个line,我想返回迭代,直到我找到一个句子终止符:. ! ?,从上一个句子开始,然后再次向前迭代,直到下一个句子终止符。

这样我就可以知道print()该短语所属的整个句子。

但是,我遇到了一个递归错误,无法scrape_sentence()无限运行。


Jupyter 笔记本:

输出:


短语:

句子(跨多行):

PDF(第 2 页)


如果还有什么我可以添加到帖子中,请告诉我。