[英]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!”,則此函數返回:
Hello
World!
我也需要對可搜索的 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 中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 中的文本通常不是作為“單詞”出現的,對於符合要求的 PDF 查看器,它們看起來像是命令,在哪里以及如何放置字形。 這意味着一個單詞可能會被多個命令顯示。 在PDF 1.7 docs sec.9 - Text 中閱讀更多相關信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.