日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:如何用Python把pdf轉(zhuǎn)換成word

很多時(shí)候,我們需要把文件的形式來(lái)回轉(zhuǎn)換。那么學(xué)了編程的小伙伴,我們?cè)撊绾斡肞ython把pdf轉(zhuǎn)換成word呢?

一、下載所需要的庫(kù)


1.pdfminer  安裝庫(kù)命令

pip install pdfminer3k

pdfminer3k是pdfminer的Python 3端口。PDFMiner是從PDF文檔中提取信息的工具。與其他PDF相關(guān)的工具不同,它完全專注于獲取和分析文本數(shù)據(jù)。PDFMiner允許獲取頁(yè)面中文本的確切位置,以及其他信息,如

字體或線條。它包含一個(gè)PDF轉(zhuǎn)換器,可以將PDF文件轉(zhuǎn)換為其他文本格式(如HTML)。它有一個(gè)可擴(kuò)展的PDF解析器,可用于其他目的而不是文本分析。

2. docx   安裝庫(kù)命令

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中非圖片構(gòu)成的部分才能被成功轉(zhuǎn)換

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#設(shè)置工作目錄文件夾 17os.chdir(r'c:/users/dicey/desktop/codes/pdf-docx') 18 19''' 20解析pdf文件,獲取文件中包含的各種對(duì)象 21''' 22# 解析pdf文件函數(shù) 23def parse(pdf_path): 24    fp = open('diya.pdf', 'rb')  # 以二進(jìn)制讀模式打開 25    # 用文件對(duì)象來(lái)創(chuàng)建一個(gè)pdf文檔分析器 26    parser = PDFParser(fp) 27    # 創(chuàng)建一個(gè)PDF文檔 28    doc = PDFDocument() 29    # 連接分析器 與文檔對(duì)象 30    parser.set_document(doc) 31    doc.set_parser(parser) 32 33    # 提供初始化密碼 34    # 如果沒(méi)有密碼 就創(chuàng)建一個(gè)空的字符串 35    doc.initialize() 36 37    # 檢測(cè)文檔是否提供txt轉(zhuǎn)換,不提供就忽略 38    if not doc.is_extractable: 39        raise PDFTextExtractionNotAllowed 40    else: 41        # 創(chuàng)建PDf 資源管理器 來(lái)管理共享資源 42        rsrcmgr = PDFResourceManager() 43        # 創(chuàng)建一個(gè)PDF設(shè)備對(duì)象 44        laparams = LAParams() 45        device = PDFPageAggregator(rsrcmgr, laparams=laparams) 46        # 創(chuàng)建一個(gè)PDF解釋器對(duì)象 47        interpreter = PDFPageInterpreter(rsrcmgr, device) 48 49        # 用來(lái)計(jì)數(shù)頁(yè)面,圖片,曲線,figure,水平文本框等對(duì)象的數(shù)量 50        num_page, num_image, num_curve, num_figure, num_TextBoxHorizontal = 0, 0, 0, 0, 0 51 52        # 循環(huán)遍歷列表,每次處理一個(gè)page的內(nèi)容 53        for page in doc.get_pages(): # doc.get_pages() 獲取page列表 54            num_page += 1  # 頁(yè)面增一 55            interpreter.process_page(page) 56            # 接受該頁(yè)面的LTPage對(duì)象 57            layout = device.get_result() 58            for x in layout: 59                if isinstance(x,LTImage):  # 圖片對(duì)象 60                    num_image += 1 61                if isinstance(x,LTCurve):  # 曲線對(duì)象 62                    num_curve += 1 63                if isinstance(x,LTFigure):  # figure對(duì)象 64                    num_figure += 1 65                if isinstance(x, LTTextBoxHorizontal):  # 獲取文本內(nèi)容 66                    num_TextBoxHorizontal += 1  # 水平文本框?qū)ο笤鲆?67                    # 保存文本內(nèi)容 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('對(duì)象數(shù)量:\n','頁(yè)面數(shù):%s\n'%num_page,'圖片數(shù):%s\n'%num_image,'曲線數(shù):%s\n'%num_curve,'水平文本框:%s\n' 73              %num_TextBoxHorizontal) 74 75 76if __name__ == '__main__': 77    pdf_path = r'diya.pdf'  #pdf文件路徑及文件名 78    parse(pdf_path)

學(xué)會(huì)了的小伙伴趕緊行動(dòng)起來(lái)~更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。


網(wǎng)站名稱:創(chuàng)新互聯(lián)Python教程:如何用Python把pdf轉(zhuǎn)換成word
網(wǎng)站地址:http://m.5511xx.com/article/cdoocop.html