簡體   English   中英

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!”,則此函數返回:

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 中閱讀更多相關信息

當我看到 filename.txt 時,我感到困惑。

由於您正在使用 PDF,因此下面的鏈接可能會有所幫助。 看到它有幫助

如何在 python 3 中使用 PDFminer.six?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM