如何用Python把pdf轉換成word
很多時候,我們需要把檔案的形式來回轉換。那麼學了程式設計的小夥伴,我們該如何用Python把pdf轉換成word呢?
一、下載所需要的庫
1.pdfminer 安裝庫命令
pip install pdfminer3k
pdfminer3k是pdfminer的Python 3埠。PDFMiner是從PDF文件中提取資訊的工具。與其他PDF相關的工具不同,它完全專注於獲取和分析文字資料。PDFMiner允許獲取頁面中文字的確切位置,以及其他資訊,如
字型或線條。它包含一個PDF轉換器,可以將PDF檔案轉換為其他文字格式(如HTML)。它有一個可擴充套件的PDF解析器,可用於其他目的而不是文字分析。
2. docx 安裝庫命令
pip install python_docx
Python DocX目前是Python OpenXML的一部分,你可以用它開啟Word 2007及以後的文件,而用它儲存的文件可以在Microsoft Office 2007/2010, Microsoft Mac Office 2008, Google Docs, OpenOffice.org 3, and Apple iWork 08中開啟。
二、程式碼
注意:pdf中非圖片構成的部分才能被成功轉換
1#-*- coding: UTF-8 -*- 2#!/usr/bin/python 3# -*- coding: utf-8 -*- 4 5import sys 6import importlib 7importlib.reload(sys) 8 9from pdfminer.pdfparser import PDFParser,PDFDocument 10from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter 11from pdfminer.converter import PDFPageAggregator 12from pdfminer.layout import * 13from pdfminer.pdfinterp import PDFTextExtractionNotAllowed 14import os 15 16#設定工作目錄資料夾 17os.chdir(r'c:/users/dicey/desktop/codes/pdf-docx') 18 19''' 20解析pdf檔案,獲取檔案中包含的各種物件 21''' 22# 解析pdf檔案函式 23def parse(pdf_path): 24 fp = open('diya.pdf', 'rb') # 以二進位制讀模式開啟 25 # 用檔案物件來建立一個pdf文件分析器 26 parser = PDFParser(fp) 27 # 建立一個PDF文件 28 doc = PDFDocument() 29 # 連線分析器 與文件物件 30 parser.set_document(doc) 31 doc.set_parser(parser) 32 33 # 提供初始化密碼 34 # 如果沒有密碼 就建立一個空的字串 35 doc.initialize() 36 37 # 檢測文件是否提供txt轉換,不提供就忽略 38 if not doc.is_extractable: 39 raise PDFTextExtractionNotAllowed 40 else: 41 # 建立PDf 資源管理器 來管理共享資源 42 rsrcmgr = PDFResourceManager() 43 # 建立一個PDF裝置物件 44 laparams = LAParams() 45 device = PDFPageAggregator(rsrcmgr, laparams=laparams) 46 # 建立一個PDF直譯器物件 47 interpreter = PDFPageInterpreter(rsrcmgr, device) 48 49 # 用來計數頁面,圖片,曲線,figure,水平文字框等物件的數量 50 num_page, num_image, num_curve, num_figure, num_TextBoxHorizontal = 0, 0, 0, 0, 0 51 52 # 迴圈遍歷列表,每次處理一個page的內容 53 for page in doc.get_pages(): # doc.get_pages() 獲取page列表 54 num_page += 1 # 頁面增一 55 interpreter.process_page(page) 56 # 接受該頁面的LTPage物件 57 layout = device.get_result() 58 for x in layout: 59 if isinstance(x,LTImage): # 圖片物件 60 num_image += 1 61 if isinstance(x,LTCurve): # 曲線物件 62 num_curve += 1 63 if isinstance(x,LTFigure): # figure物件 64 num_figure += 1 65 if isinstance(x, LTTextBoxHorizontal): # 獲取文字內容 66 num_TextBoxHorizontal += 1 # 水平文字框物件增一 67 # 儲存文字內容 68 with open(r'test2.doc', 'a',encoding='utf-8') as f: #生成doc檔案的檔名及路徑 69 results = x.get_text() 70 f.write(results) 71 f.write('n') 72 print('物件數量:n','頁面數:%sn'%num_page,'圖片數:%sn'%num_image,'曲線數:%sn'%num_curve,'水平文字框:%sn' 73 %num_TextBoxHorizontal) 74 75 76if __name__ == '__main__': 77 pdf_path = r'diya.pdf' #pdf檔案路徑及檔名 78 parse(pdf_path)
學會了的小夥伴趕緊行動起來~更多Python學習推薦:。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2832486/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- win10 pdf怎麼轉換成word_win10如何把pdf轉換成word文件Win10
- pdf轉換成word文件
- pdf轉換成word,免費轉換
- stirlingpdf PDF 工具將PDF轉換成Word
- 如何把PDF轉換成EXCELExcel
- pdf轉換成word,非常實用
- pdf的表格怎麼轉換成word?
- ppt轉換word文件怎麼操作 把ppt轉換成word純文字
- 怎麼把圖片文字轉換成word?
- PDF轉Word?PDF轉換工具推薦:PDF to Word Document Converter for MacMac
- pdf怎麼轉換成word免費軟體 電腦上pdf免費轉成word方法有哪些
- 如何將檔案PDF格式轉換成Word格式
- PDF to Word Document Converter Mac(PDF轉Word檔案轉換器)Mac
- 用手機怎麼把圖片轉換成PDF
- 使用Adobe lifecycle Enterprise Service將word文件轉換成PDF
- pdf轉word如何線上轉換?
- 如何把電腦裡的圖片轉換成Word
- pdf轉換word,超簡單!
- PDF批次轉換器,批次轉word為pdf,批次轉ppt為pdf
- 超簡單的,掃描PDF轉換成Word的方法
- 有哪些免費的方法可以將PDF轉換成Word?
- PDF文件轉換器PDF to Word Document Converter MacMac
- 如何把多張jpg轉換成一個pdf檔案?
- pdf轉word格式PDF to word for MacMac
- Flyingbee PDF to word for Mac(飛蜂pdf轉word轉換器) v2.8啟用版Mac
- 職場辦公分享:word文件轉換成pdf更方便傳輸
- go用unioffice轉換word文件為pdfGo
- 怎麼樣轉換pdf格式為Word?
- pdf 轉 word
- aspose word轉換pdf檔案後將pdf檔案轉換為圖片png
- 初探JavaScript PDF blob轉換為Word docx方法JavaScript
- 【PY】Word 轉 PDF
- CAD怎麼轉換成PDF格式?CAD轉換PDF的正確方法
- 在 Linux 中把一個網頁轉換成 PDF的技巧介紹Linux網頁
- 圖片怎麼轉換成PDF,圖片轉PDF教程
- 圖片格式轉換,JPG圖片轉換成PDF
- 利用vbs指令碼將word文件轉換為pdf指令碼
- 手機PDF檔案怎麼轉成word文件