欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)pdf文檔轉(zhuǎn)txt的方法示例

 更新時間:2018年01月19日 10:47:09   作者:肥寶Fable  
這篇文章主要介紹了Python實現(xiàn)pdf文檔轉(zhuǎn)txt的方法,結(jié)合實例形式分析了Python基于第三方庫pdfminier實現(xiàn)針對pdf格式文檔的讀取、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)pdf文檔轉(zhuǎn)txt的方法。分享給大家供大家參考,具體如下:

首先,這是一個比較粗糙的版本,因為已經(jīng)夠用了,而且對pdf的格式不熟悉,所以暫時沒有進(jìn)一步優(yōu)化。

還有,這是轉(zhuǎn)成txt的,所以如果是有圖片的pdf是無法保存圖片的。

至于本來就是圖片的文本,這里是無法分析出來的。那些圖片的pdf,估計要用圖形匹配的方式來處理,類似于超速拍攝的車牌識別。

不過這樣的程度,已經(jīng)不是文本處理了。扯遠(yuǎn)了。。。

轉(zhuǎn)出來的文字,好像按照pdf里面的所展示的來換行了,看不到有什么規(guī)則還原,我也不知道怎么處理,將就著用吧。

另外,初始代碼是網(wǎng)上找的,最初地址不知道哪里了。

用到了第三方庫pdfminier

pdfminer庫的地址 https://pypi.python.org/pypi/pdfminer3k

下載后,用cmd執(zhí)行命令 setup.py install

安裝完之后打開eclipse會彈出要求加載一些東西,點擊確定就行了。

再來看看代碼:

import os.path
from pdfminer.pdfparser import PDFParser,PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal,LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
class CPdf2TxtManager():
  '''''
  classdocs
  '''
  def __init__(self):
    '''''
    Constructor
    '''
  def changePdfToText(self, filePath):
    file = open(path, 'rb') # 以二進(jìn)制讀模式打開
    #用文件對象來創(chuàng)建一個pdf文檔分析器
    praser = PDFParser(file)
    # 創(chuàng)建一個PDF文檔
    doc = PDFDocument()
    # 連接分析器 與文檔對象
    praser.set_document(doc)
    doc.set_parser(praser)
    # 提供初始化密碼
    # 如果沒有密碼 就創(chuàng)建一個空的字符串
    doc.initialize()
    # 檢測文檔是否提供txt轉(zhuǎn)換,不提供就忽略
    if not doc.is_extractable:
      raise PDFTextExtractionNotAllowed
    # 創(chuàng)建PDf 資源管理器 來管理共享資源
    rsrcmgr = PDFResourceManager()
    # 創(chuàng)建一個PDF設(shè)備對象
    laparams = LAParams()
    device = PDFPageAggregator(rsrcmgr, laparams=laparams)
    # 創(chuàng)建一個PDF解釋器對象
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    pdfStr = ''
    # 循環(huán)遍歷列表,每次處理一個page的內(nèi)容
    for page in doc.get_pages(): # doc.get_pages() 獲取page列表
      interpreter.process_page(page)
      # 接受該頁面的LTPage對象
      layout = device.get_result()
      # 這里layout是一個LTPage對象 里面存放著 這個page解析出的各種對象 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等 想要獲取文本就獲得對象的text屬性,
      for x in layout:
        if (isinstance(x, LTTextBoxHorizontal)):
          pdfStr = pdfStr + x.get_text() + '\n'
    fileNames = os.path.splitext(filePath)
    file2 = open(fileNames[0] + '.txt','wb')#保存這些內(nèi)容
    file2.write(pdfStr.encode())
    file2.close()
    file.close()
if __name__ == '__main__':
  '''''
   解析pdf 文本,保存到txt文件中
  '''
  path = r'C:\Users\Administrator\Desktop\《精力管理》.pdf'
  pdf2TxtManager = CPdf2TxtManager()
  pdf2TxtManager.changePdfToText(path)

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python建立多元回歸方程的實現(xiàn)

    Python建立多元回歸方程的實現(xiàn)

    在Python中,可以使用scikit-learn和statsmodels等庫來建立多元線性回歸模型,本文主要介紹了Python建立多元回歸方程的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • 使用Python插入SVG到PDF文檔中的方法示例

    使用Python插入SVG到PDF文檔中的方法示例

    將SVG(可縮放矢量圖形)文件插入到PDF(便攜式文檔格式)文件中不僅能夠保留SVG圖像的矢量特性,確保圖像在任何分辨率下都保持清晰,使得技術(shù)文檔、手冊、報告等內(nèi)容更加豐富多樣且易于傳播,本文將介紹如何使用Python插入SVG文件到PDF文檔中,需要的朋友可以參考下
    2024-08-08
  • Python讀寫二進(jìn)制文件的示例詳解

    Python讀寫二進(jìn)制文件的示例詳解

    在Python編程中,我們經(jīng)常需要處理各種類型的文件,其中包括二進(jìn)制文件,本文將詳細(xì)介紹如何使用Python讀寫二進(jìn)制文件,并提供一些實際應(yīng)用的示例,希望對大家有所幫助
    2024-01-01
  • Python 描述符(Descriptor)入門

    Python 描述符(Descriptor)入門

    本文給大家介紹的是Python中比較重要的一個知識點--描述符(Descriptor),描述符(descriptor)是Python語言核心中困擾我時間最長的一個特性,但是一旦你理解了之后,描述符的確還是有它的應(yīng)用價值的。
    2016-11-11
  • python 合并列表的八種方法

    python 合并列表的八種方法

    這篇文章主要介紹了python 連接列表的八種方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解

    Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解

    箱線圖(箱型圖)主要作用是發(fā)現(xiàn)數(shù)據(jù)內(nèi)部整體的分布分散情況,包括上下限、各分位數(shù)、異常值等,本文為大家整理了Matplotlib繪制箱型圖的所以方法,希望對大家有所幫助
    2023-05-05
  • python深度學(xué)習(xí)tensorflow1.0參數(shù)初始化initializer

    python深度學(xué)習(xí)tensorflow1.0參數(shù)初始化initializer

    這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow1.0參數(shù)初始化initializer示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python下載ts文件視頻且合并的操作方法

    Python下載ts文件視頻且合并的操作方法

    ts文件,ts即"Transport?Stream"的縮寫,特點就是要求從視頻流的任一片段開始都是可以獨立解碼的,非常適合網(wǎng)絡(luò)視頻播放,這篇文章主要介紹了Python下載ts文件視頻且合并,需要的朋友可以參考下
    2023-01-01
  • python判斷集合的超集方法及實例

    python判斷集合的超集方法及實例

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python判斷集合的超集方法及實例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-05-05
  • python模擬登錄百度貼吧(百度貼吧登錄)實例

    python模擬登錄百度貼吧(百度貼吧登錄)實例

    python模擬登錄百度貼吧實例分享,大家參考使用吧
    2013-12-12

最新評論