中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何讀取pdf格式文檔

發布時間:2021-04-02 09:36:53 來源:億速云 閱讀:1010 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python如何讀取pdf格式文檔的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

python讀取pdf文檔

一、 準備工作

安裝對應的庫
	pip install pdfminer3k
	pip install pdfminer.six

二、部分變量的含義

PDFDocument(pdf文檔對象)
PDFPageInterpreter(解釋器)
PDFParser(pdf文檔分析器)
PDFResourceManager(資源管理器)
PDFPageAggregator(聚合器)
LAParams(參數分析器)

三、PDFMiner類之間的關系

python如何讀取pdf格式文檔

PDFMiner的相關文檔(點擊跳轉)

四、代碼實現

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# datetime:2021/3/17 12:12
# software: PyCharm
# version: python 3.9.2

def changePdfToText(filePath):
 """
 解析pdf 文本,保存到同名txt文件中

 param:
 filePath: 需要讀取的pdf文檔的目錄
 introduced module:
 from pdfminer.pdfpage import PDFPage
 from pdfminer.pdfparser import PDFParser
 from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
 from pdfminer.converter import PDFPageAggregator
 from pdfminer.layout import LAParams
 from pdfminer.pdfdocument import PDFDocument, PDFTextExtractionNotAllowed
 import os.path
 """
 file = open(filePath, 'rb') # 以二進制讀模式打開
 # 用文件對象來創建一個pdf文檔分析器
 praser = PDFParser(file)
 # 創建一個PDF文檔
 doc = PDFDocument(praser, '') # praser :上面創建的pdf文檔分析器 ,第二個參數是密碼,設置為空就好了
 # 連接分析器 與文檔對象
 praser.set_document(doc)
 # 檢測文檔是否提供txt轉換,不提供就忽略
 if not doc.is_extractable:
 raise PDFTextExtractionNotAllowed
 # 創建PDf 資源管理器 來管理共享資源
 rsrcmgr = PDFResourceManager()
 # 創建一個PDF設備對象
 laparams = LAParams()
 device = PDFPageAggregator(rsrcmgr, laparams=laparams)
 # 創建一個PDF解釋器對象
 interpreter = PDFPageInterpreter(rsrcmgr, device)
 result = [] # 內容列表
 # 循環遍歷列表,每次處理一個page的內容
 for page in PDFPage.create_pages(doc):
 interpreter.process_page(page)
 # 接受該頁面的LTPage對象
 layout = device.get_result()
 for x in layout:
  if hasattr(x, "get_text"):
  result.append(x.get_text())
  fileNames = os.path.splitext(filePath) # 分割
  # 以追加的方式打開文件
  with open(fileNames[0] + '.txt', 'a', encoding="utf-8") as f:
   results = x.get_text()
   # print(results) 這個句可以取消注釋就可以在控制臺將所有內容輸出了
   f.write(results) # 寫入文件

# 調用示例 :

# path = u'E:\\1.pdf'
# changePdfToText(path)

利用PyPDF2實現了對pdf文字內容的提取

from PyPDF2 import PdfFileReader

# 定義獲取pdf內容的方法
def getPdfContent(filename):
  # 獲取PdfFileReader對象
  pdf = PdfFileReader(open(filename, "rb"))
  content = "" #content是輸出文本
  for i in range(0,pdf.getNumPages()): #遍歷每一頁
    pageObj = pdf.getPage(i)
    try:
      extractedText = pageObj.extractText()#導出每一頁的內容,如果當前頁有圖片的話就跳過
      content += extractedText + "\n"
    except BaseException:
      pass
  return content.encode("ascii", "ignore")


# 將獲取的內容寫入txt文件
with open("test.txt","w") as f:
  count=0 #count的作用是限制每一行的文字個數,本人設置的是十行
  #將獲取的文本變成字符串并用空白隔開
  for item in str(getPdfContent("test.pdf")).split(" "):
    # 如果當前文字以句號結尾就換行
    if item[-1]==".":
      f.write(item+"\n")
      count=0
    else:
      f.write(item+" ")
      count +=1
    # 如果寫了十個字就換行
    if count==10:
      f.write("\n")
      # 重置count
      count = 0

感謝各位的閱讀!關于“python如何讀取pdf格式文檔”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瑞金市| 光泽县| 浦北县| 阳山县| 济阳县| 莲花县| 平谷区| 叙永县| 汉沽区| 罗田县| 广安市| 读书| 漳州市| 惠来县| 类乌齐县| 青川县| 留坝县| 日土县| 墨竹工卡县| 叶城县| 顺义区| 泗阳县| 克什克腾旗| 建平县| 扎鲁特旗| 吕梁市| 辉南县| 黔西| 剑阁县| 清流县| 外汇| 聂荣县| 登封市| 怀柔区| 平南县| 鄂尔多斯市| 岚皋县| 德清县| 金沙县| 阿瓦提县| 安达市|