好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識(shí)庫(kù) > 詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)

詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)

熱門標(biāo)簽:外呼不封號(hào)系統(tǒng) 電信營(yíng)業(yè)廳400電話申請(qǐng) 幫人做地圖標(biāo)注收費(fèi)算詐騙嗎 江蘇房產(chǎn)電銷機(jī)器人廠家 溫州旅游地圖標(biāo)注 蘇州電銷機(jī)器人十大排行榜 悟空智電銷機(jī)器人6 荊州云電銷機(jī)器人供應(yīng)商 遼寧400電話辦理多少錢

先講一下為啥要寫這個(gè)文章,網(wǎng)上其實(shí)很多這種PDF轉(zhuǎn)化的代碼和軟件。我一直想用Python做,但是網(wǎng)上搜到的代碼很多都不能用,很多是2.7版本的代碼,再就是PDF需要用到的庫(kù)在導(dǎo)入的時(shí)候,很多的報(bào)錯(cuò),解決起來特別費(fèi)勁,而且自從2021年初以來,似乎網(wǎng)上很少有關(guān)PDF轉(zhuǎn)化的代碼出現(xiàn)了。我在研究了很多代碼和pdfminer的用法后,總結(jié)了幾個(gè)方法,目前這幾種方法可以解決大多數(shù)格式的轉(zhuǎn)化,后面我也專門放了提取PDF表格的代碼,文末有高效的免費(fèi)在線工具推薦。

下面這個(gè)是我最最推薦的方法 ,簡(jiǎn)單高效 ,只要是標(biāo)準(zhǔn)PDF文檔,里面的圖片和表格都可以保留格式

# pip install pdf2docx #安裝依賴庫(kù)
from pdf2docx import Converter

pdf_file = r'C:\Users\Administrator\Desktop\新建文件夾\mednine.pdf'
docx_file = r'C:\Users\Administrator\Desktop\Python教程\02.docx'

# convert pdf to docx
cv = Converter(pdf_file)
cv.convert(docx_file, start=0, end=None)
cv.close()

下面是另外三種常用方法

1 把標(biāo)準(zhǔn)格式的PDF轉(zhuǎn)為Word,測(cè)試環(huán)境Python3.6.5和3.6.6(注意PDF內(nèi)容僅僅是文字為主的里面沒有圖片圖表的適用,不適合掃描版PDF,因?yàn)槟侵荒苡脠D片識(shí)別的方式進(jìn)行)

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
import sys
import string
from docx import Document


def convert_pdf_2_text(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    
    device = TextConverter(rsrcmgr, retstr, codec='utf-8', laparams=LAParams())
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    
    with open(path, 'rb') as fp:
        for page in PDFPage.get_pages(fp, set()):
            interpreter.process_page(page)
            #print(retstr.getvalue())  
        text = retstr.getvalue()
    device.close()
    retstr.close()
    return text


def pdf2txt():
    text=convert_pdf_2_text(path)
    with open('real.txt','a',encoding='utf-8') as f:
        for line in text.split('\n'):
            f.write(line+'\n')

        

def remove_control_characters(content):
    mpa = dict.fromkeys(range(32))
    return content.translate(mpa)
    
def save_text_to_word(content, file_path):     

    doc = Document()
    for line in content.split(''):
        print(line)
            
        paragraph = doc.add_paragraph()
        paragraph.add_run(remove_control_characters(line))
    doc.save(file_path)


if __name__ == '__main__':
    path = r'C:\Users\mayn\Desktop\程序臨時(shí)\培訓(xùn)教材.pdf'  # 你自己的pdf文件路徑及文件名 不適合掃描版 只適合標(biāo)準(zhǔn)PDF文件
    text = convert_pdf_2_text(path)
    save_text_to_word(text, 'output.doc')  #PDF轉(zhuǎn)為word方法
    #pdf2txt()  #PDF轉(zhuǎn)為txt方法

2專門提取PDF里面的表格,使用pdfplumber適合標(biāo)準(zhǔn)格式的PDF

import pdfplumber
import pandas as pd
import time
from time import  ctime
import psutil as ps 
#import threading
import gc
pdf = pdfplumber.open(r"C:\Users\Administrator\Desktop\新建文件夾\mednine.pdf")
N=len(pdf.pages)
print('總共有',N,'頁')

def pdf2exl(i): # 讀取了第i頁,第i頁是有表格的,
    print('********************************************************************************************************************************************************')
    print('正在輸出第',str(i+1),'頁表格')
    print('********************************************************************************************************************************************************')   
    p0 = pdf.pages[i]
    try:
        table = p0.extract_table()
        print(table)
    
        df = pd.DataFrame(table[1:], columns=table[0])
    #print(df)
        df.to_excel(r"C:\Users\Administrator\Desktop\新建文件夾\Model"+str(i+1)+".xlsx")
    
        #df.info(memory_usage='deep')
        
        
    except Exception as e:
        print('第'+str(i+1)+'頁無表格,或者檢查是否存在表格')       
       
        pass
    #print('目前內(nèi)存占用率是百分之',str(ps.virtual_memory().percent),'    第',str(i+1),'頁輸出完畢')
    print('**********************************************************************************************************************************************************')
    print('\n\n\n') 
    time.sleep(5)


def dojob1():  #此函數(shù)  直接循環(huán)提取PDF里面各個(gè)頁面的表格 
    print('*********************')
    for i in range(0,N):
        pdf2exl(i)    

3也可以提取PDF里面的表格,使用camelot(camelot的安裝可能需要點(diǎn)耐心,反正用的人不多)

import camelot
import wand

# 從PDF文件中提取表格

def output(i):  
    #print(tables)
    #for i in range(5):
    tables = camelot.read_pdf(r'C:\Users\Administrator\Desktop\新建文件夾\mednine.pdf', pages=str(i), flavor='stream')
    print(tables[i])
    
# 表格數(shù)據(jù)
    print(tables[i].data)
    
    tables[i].to_csv(r'C:\Users\Administrator\Desktop\新建文件夾\002'+str(i)+r'.csv')


def plotpdf():
        # 這個(gè)是畫pdf 結(jié)構(gòu)的函數(shù) 現(xiàn)在不能用 不要打開
    
    #print(tables[0])
    tables = camelot.read_pdf(r'C:\Users\mayn\Desktop\vcode工作區(qū)\11\路基.pdf', pages='200', flavor='stream')
    camelot.plot(tables[0], kind='text')
    print(tables[0])
    plt.show()
    # 繪制PDF文檔的坐標(biāo),定位表格所在的位置  
    #plt = camelot.plot(tables[0],kind='text')
    #plt.show()
    #table_df = tables[0].df

#plotpdf() 
#i=3
#output(i)
for i in range(0,2):
    try:    
        output(i)
    except Exception as e:
        print('第'+str(i)+'頁沒找到表格啊啊啊')
        pass 
    continue

以下是pdfplumber測(cè)試效果

源文件如下

提取結(jié)果

最后補(bǔ)充2個(gè)免費(fèi)轉(zhuǎn)換的網(wǎng)站感覺還比較好用,關(guān)鍵是免費(fèi)

http://pdfdo.com/pdf-to-word.aspx

http://app.xunjiepdf.com/pdf2word/

到此這篇關(guān)于詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)的文章就介紹到這了,更多相關(guān)Python把PDF轉(zhuǎn)為Word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python解析PDF程序代碼
  • python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF
  • Python合并多張圖片成PDF
  • Python提取PDF指定內(nèi)容并生成新文件
  • python操作mysql、excel、pdf的示例
  • python pdfkit 中文亂碼問題的解決方案
  • python 三種方法提取pdf中的圖片
  • Python實(shí)現(xiàn)給PDF添加水印的方法
  • Python讀取pdf表格寫入excel的方法
  • Python 多張圖片合并成一個(gè)pdf的參考示例

標(biāo)簽:三沙 黃山 景德鎮(zhèn) 喀什 臺(tái)灣 宿遷 欽州 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)》,本文關(guān)鍵詞  詳解,用,Python,把,PDF,轉(zhuǎn)為,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解用Python把PDF轉(zhuǎn)為Word方法總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 91久久青青青国产免费| 在线观看色网站| 浪货趴办公桌~H揉秘书| 偷拍视频网红大尺度福利视频| 女警花王诗涵被躁120分钟视频 | 午夜亚洲国产精品福利| 久久综合给合久久狠狠狠色97| 五月丁香六月激情综合啪| 少妇激情婬乱1一13美国| 精品国产福利第一区二区三区| 91人人妻人人做人人爽秋霞影院| 久月婷婷| 护士洗澡被狂躁A片在线观看| 欧美freesex黑人又粗又大长| 国产人妖人妖另类TS思妮| 女人张开双腿让男人桶完整| 泰国最小妓女A片| 高清韩国a级特黄毛片| 97影院理伦片| Xiao77论坛自拍一区| 成人午夜又粗又硬又大| 弱攻×强壮饥渴受h| 日本护士xxxxxhd| 日本人妻被强A片无码 | 老男人和乖乖女高h| 精品香蕉99久久久久网站| 国产亚洲欧美日韩俺去了| 光棍影院艳母| 9周岁女全身裸无打码网站| 教室里面高潮迭起嗯嗯嗯嗯嗯| 婷婷国产精品国在线77777| 杨过小龙女级婬片A级艳片| 麻豆+无码+国产在线观看 | 免费看男人吃奶摸捏奶头视频| 翁熄半推半就| 强行扒开双腿舔上高潮学生视频| 欧美AV一区二区精品凹凸| 抵着她凶猛撞击宫口| 荡女安然的yin乱生活| 性欧美18一19sex性高清播放| 一级做a爰性色毛片|