PDF - 将单个单词拆分成单独的行 - Python 3
PDF - Split Single Words into Individual Lines - Python 3
我正在尝试将 PDF 中的单词提取到单独的行中,但只能对文本文件执行此操作,如下所示。
而且,规则是我不能将PDF文件转换成TXT再执行这个操作。必须在 PDF 文件上完成。
with open('filename.txt','r') as f:
for line in f:
for word in line.split():
print(word)
如果filename.txt刚好有"Hello World!",那么这个函数returns:
Hello
World!
我也需要对可搜索的 PDF 文件执行相同的操作。任何帮助将不胜感激。
当我看到filename.txt时,我感到困惑。
由于您正在处理以下 link 的 PDF 可能会有所帮助。看看有帮助
对于 PDF,您应该使用 pdf.miner 或 PyPDF2。
这里有一篇很好的文章可以用来提取文本,然后可以使用Anilkumar的方法逐行提取。
https://medium.com/@rqaiserr/how-to-convert-pdfs-into-searchable-key-words-with-python-85aab86c544f
查看 PyMuPDF。您可以做很多事情,包括使用 page.getText()
从 PDF 逐行获取文本
您可以使用 pdfreader 从 PDF 文档中提取文本(纯文本和包含 PDF 运算符)
这是从所有文档页面中提取上述所有内容的示例代码。
from pdfreader import SimplePDFViewer, PageDoesNotExist
fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)
plain_text = ""
pdf_markdown = ""
try:
while True:
viewer.render()
pdf_markdown += viewer.canvas.text_content
plain_text += "".join(viewer.canvas.strings)
viewer.next()
except PageDoesNotExist:
pass
只是想概述一下,PDF 中的文本通常不会以 "words" 的形式出现,它们看起来像是对符合标准的 PDF 查看器在何处以及如何放置字形的命令。这意味着多个命令可能会显示一个单词。在 PDF 1.7 docs sec.9 - Text
中阅读更多相关信息
我正在尝试将 PDF 中的单词提取到单独的行中,但只能对文本文件执行此操作,如下所示。
而且,规则是我不能将PDF文件转换成TXT再执行这个操作。必须在 PDF 文件上完成。
with open('filename.txt','r') as f:
for line in f:
for word in line.split():
print(word)
如果filename.txt刚好有"Hello World!",那么这个函数returns:
Hello
World!
我也需要对可搜索的 PDF 文件执行相同的操作。任何帮助将不胜感激。
当我看到filename.txt时,我感到困惑。
由于您正在处理以下 link 的 PDF 可能会有所帮助。看看有帮助
对于 PDF,您应该使用 pdf.miner 或 PyPDF2。
这里有一篇很好的文章可以用来提取文本,然后可以使用Anilkumar的方法逐行提取。
https://medium.com/@rqaiserr/how-to-convert-pdfs-into-searchable-key-words-with-python-85aab86c544f
查看 PyMuPDF。您可以做很多事情,包括使用 page.getText()
您可以使用 pdfreader 从 PDF 文档中提取文本(纯文本和包含 PDF 运算符)
这是从所有文档页面中提取上述所有内容的示例代码。
from pdfreader import SimplePDFViewer, PageDoesNotExist
fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)
plain_text = ""
pdf_markdown = ""
try:
while True:
viewer.render()
pdf_markdown += viewer.canvas.text_content
plain_text += "".join(viewer.canvas.strings)
viewer.next()
except PageDoesNotExist:
pass
只是想概述一下,PDF 中的文本通常不会以 "words" 的形式出现,它们看起来像是对符合标准的 PDF 查看器在何处以及如何放置字形的命令。这意味着多个命令可能会显示一个单词。在 PDF 1.7 docs sec.9 - Text
中阅读更多相关信息