乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      用Python把PDF文件轉(zhuǎn)換成Word文檔

       北方的白樺林 2019-02-11
      首先,下載所需要的庫(kù)
      1 :pdfminer   安裝庫(kù)命令: 
      pip install pdfminer3k
      2:  docx     安裝庫(kù)命令:
       pip install python_docx
      開始正餐:
      (注意: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ū)ο笤鲆?/div>
      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)

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多