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

Python 3.6 中使用pdfminer解析pdf文件的實現

 更新時間:2019年09月25日 11:13:54   作者:W-大泡泡  
這篇文章主要介紹了Python 3.6 中使用pdfminer解析pdf文件的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

所使用python環(huán)境為最新的3.6版本

一、安裝pdfminer模塊

安裝anaconda后,直接可以通過pip安裝

pip install pdfminer3k

這里寫圖片描述 

如上圖所示安裝成功。

二、在IDE中進行編碼

#!/usr/bin/env python
# encoding: utf-8

"""
@author: wugang
@software: PyCharm
@file: prase_pdf.py
@time: 2017/3/3 0003 11:16
"""
import sys
import importlib
importlib.reload(sys)

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

'''
 解析pdf 文本,保存到txt文件中
'''
path = r'../../data/pdf/阿里巴巴Java開發(fā)規(guī)范手冊.pdf'
def parse():
  fp = open(path, 'rb') # 以二進制讀模式打開
  #用文件對象來創(chuàng)建一個pdf文檔分析器
  praser = PDFParser(fp)
  # 創(chuàng)建一個PDF文檔
  doc = PDFDocument()
  # 連接分析器 與文檔對象
  praser.set_document(doc)
  doc.set_parser(praser)

  # 提供初始化密碼
  # 如果沒有密碼 就創(chuàng)建一個空的字符串
  doc.initialize()

  # 檢測文檔是否提供txt轉換,不提供就忽略
  if not doc.is_extractable:
    raise PDFTextExtractionNotAllowed
  else:
    # 創(chuàng)建PDf 資源管理器 來管理共享資源
    rsrcmgr = PDFResourceManager()
    # 創(chuàng)建一個PDF設備對象
    laparams = LAParams()
    device = PDFPageAggregator(rsrcmgr, laparams=laparams)
    # 創(chuàng)建一個PDF解釋器對象
    interpreter = PDFPageInterpreter(rsrcmgr, device)

    # 循環(huán)遍歷列表,每次處理一個page的內容
    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)):
          with open(r'../../data/pdf/1.txt', 'a') as f:
            results = x.get_text()
            print(results)
            f.write(results + '\n')

if __name__ == '__main__':
  parse()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Anaconda安裝pytorch和paddle的方法步驟

    Anaconda安裝pytorch和paddle的方法步驟

    本文主要介紹了Anaconda安裝pytorch和paddle的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • python 獲取微信好友列表的方法(微信web)

    python 獲取微信好友列表的方法(微信web)

    今天小編就為大家分享一篇python 獲取微信好友列表的方法(微信web),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python爬蟲設置代理IP的方法(爬蟲技巧)

    Python爬蟲設置代理IP的方法(爬蟲技巧)

    這篇文章主要介紹了Python爬蟲設置代理IP的方法(爬蟲技巧),需要的朋友可以參考下
    2018-03-03
  • Python圖像處理之透視變換的實戰(zhàn)應用

    Python圖像處理之透視變換的實戰(zhàn)應用

    透視變換(Perspective Transformation)是將圖片投影到一個新的視平面(Viewing Plane),也稱作投影映射(Projective Mapping),下面這篇文章主要給大家介紹了關于Python圖像處理之透視變換的相關資料,需要的朋友可以參考下
    2021-08-08
  • Python中文件I/O高效操作處理的技巧分享

    Python中文件I/O高效操作處理的技巧分享

    文件I/O是Python中最重要的技術之一,在Python中對文件進行I/O操作是非常簡單的。但如何高效的操作處理是需要技巧的,下面這篇文章就主要介紹了Python中文件I/O高效操作處理的技巧,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • 基于python實現操作git過程代碼解析

    基于python實現操作git過程代碼解析

    這篇文章主要介紹了基于python實現操作git過程代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Python利用命名空間解析XML文檔

    Python利用命名空間解析XML文檔

    這篇文章主要介紹了Python利用命名空間解析XML文檔,幫助大家更好的理解和學習Python,感興趣的朋友可以了解下
    2020-08-08
  • 使用Python從零開始擼一個區(qū)塊鏈

    使用Python從零開始擼一個區(qū)塊鏈

    對數字貨幣的崛起感到新奇的我們,并且想知道其背后的技術——區(qū)塊鏈是怎樣實現的。這篇文章主要介紹了使用Python從零開始擼一個區(qū)塊鏈,需要的朋友可以參考下
    2018-03-03
  • Django?ORM?多表查詢示例代碼

    Django?ORM?多表查詢示例代碼

    這篇文章主要介紹了Django?ORM?多表查詢,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Python3將jpg轉為pdf文件的方法示例

    Python3將jpg轉為pdf文件的方法示例

    這篇文章主要介紹了Python3將jpg轉為pdf文件的方法,結合完整實例形式分析了Python3針對jpg轉pdf格式的文件讀寫、編碼裝換等相關操作技巧,需要的朋友可以參考下
    2019-12-12

最新評論