最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python代碼實(shí)現(xiàn)PDF與Word之間互轉(zhuǎn)

 更新時(shí)間:2026年03月20日 09:50:34   作者:算法小狂人  
這篇文章主要介紹了如何使用Python的pdf2docx和win32com庫進(jìn)行PDF與DOCX之間的轉(zhuǎn)換,包括單個(gè)文件和批量文件的處理,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解下

一、pdf轉(zhuǎn)docx

將PDF 格式轉(zhuǎn)換為Word格式要求很高,很多的轉(zhuǎn)換網(wǎng)頁需要付費(fèi)、而且轉(zhuǎn)換的效果不好。

在Python中,利用pdf2docx庫可以很好地實(shí)現(xiàn)這個(gè)需求,直接使用pip安裝即可。

pip install pdf2docx

坐等安裝完成

該模塊有一個(gè)convert()方法,可以實(shí)現(xiàn)將PDF格式轉(zhuǎn)換為Word格式

(默認(rèn)轉(zhuǎn)換整個(gè)文檔)完整代碼如下:

from pdf2docx import Converter

cv = Converter("C:/Users/ypzhao/Desktop/畢業(yè)論文.pdf")
cv.convert("C:/Users/ypzhao/Desktop/畢業(yè).docx", start=0, end=None)
cv.close()

(轉(zhuǎn)換指定范圍)完整代碼如下:

from pdf2docx import Converter

cv = Converter("C:/Users/ypzhao/Desktop/畢業(yè)論文.pdf")
cv.convert("C:/Users/ypzhao/Desktop/畢業(yè)論文.docx", pages=[0,2])
cv.close()

使用 pages 參數(shù)指定要轉(zhuǎn)換的頁碼范圍。

二、docx轉(zhuǎn)pdf

首先安裝庫

pip install pypiwin32
from win32com.client import Dispatch

old_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文.docx"
new_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文_convert.pdf"
word = Dispatch('Word.Application')
doc = word.Documents.Open(old_file_path)
doc.SaveAs(new_file_path,17)
doc.Close()
word.Quit()

轉(zhuǎn)換后的效果和另存為的pdf的效果一樣

首先,需要 import win32com 庫中的 Dispatch 類。然后,定義變量 old_file_path 和 new_file_path 分別表示原文件路徑和目標(biāo)文件路徑。在這里,原文件路徑為 “C:/Users/ypzhao/Desktop/畢業(yè)論文.docx”,目標(biāo)文件路徑為 “C:/Users/ypzhao/Desktop/畢業(yè)論文_convert.pdf”。

接著,創(chuàng)建一個(gè) Word.Application 對(duì)象,并打開原文件,獲取 Document 對(duì)象。調(diào)用 SaveAs 方法,將文檔以 PDF 格式保存到指定路徑,并設(shè)置參數(shù) 17 指定文檔的保存格式為 PDF。最后,關(guān)閉文檔,并退出 Word 應(yīng)用程序。

win32com 庫可以幫助我們?cè)?Python 程序中使用 Windows 中的 COM 應(yīng)用程序,比如 Word、Excel、PowerPoint 等 Office 軟件,從而實(shí)現(xiàn)自動(dòng)化操作。在上述代碼中,我們利用 win32com 庫的 Dispatch 類創(chuàng)建了一個(gè) Word.Application 的對(duì)象,之后打開了指定的 DOCX 文檔,并通過 SaveAs 方法將其另存為 PDF 格式的文檔。該過程完全不需要手動(dòng)干預(yù),實(shí)現(xiàn)了自動(dòng)化處理,提高了效率。

三、doc轉(zhuǎn)換為docx

from win32com.client import Dispatch
old_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文.doc"
new_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文_convert.docx"

word = Dispatch('Word.Application')
doc = word.Documents.Open(old_file_path)
doc.SaveAs(new_file_path,12)
doc.Close()
word.Quit()

四、xls格式轉(zhuǎn)換為xlsx

from win32com.client import Dispatch
old_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文.xls"
new_file_path = r"C:/Users/ypzhao/Desktop/畢業(yè)論文_convert.xlsx"

excel = Dispatch('Excel.Application')
wb = excel.Workbooks.Open(old_file_path)
wb.SaveAs(new_file_path,51)
wb.Close()
excel.Quit()

五、pdf批量轉(zhuǎn)換成docx

通過使用 pdf2docx 庫實(shí)現(xiàn)了將 PDF 格式的文件批量轉(zhuǎn)換為 DOCX 格式的文件。

首先,定義變量 path 和 path_convert 分別表示原文件所在目錄和轉(zhuǎn)換后文件存儲(chǔ)目錄。此處分別為 “C:/Users/ypzhao/Desktop/pdf/” 和 “C:/Users/ypzhao/Desktop/docx/”。

然后,使用 os 模塊中的 listdir 方法遍歷目錄下所有文件,判斷文件類型如果是 PDF,則進(jìn)行轉(zhuǎn)換。利用 Converter 類打開 PDF 文件,指定轉(zhuǎn)換后的目標(biāo)文件名為 {file_name}.docx,并調(diào)用 convert 方法將其轉(zhuǎn)換為 DOCX 文件,并指定頁碼范圍。最后,關(guān)閉 Converter 對(duì)象,轉(zhuǎn)換完成。

import os
from pdf2docx import Converter

path = "C:/Users/ypzhao/Desktop/pdf/"
path_convert = "C:/Users/ypzhao/Desktop/docx/"

for i in os.listdir(path):
    file_name,file_suffix = i.split(".")
    if file_suffix == "pdf":
        cv = Converter(path+f"{i}")
        cv.convert(path_convert+f"{file_name}"+".docx", start=0, end=None)
        cv.close()
    else:
        pass

六、docx批量轉(zhuǎn)成pdf

from time import sleep
import os
from win32com.client import Dispatch

path = "C:/Users/ypzhao/Desktop/docx/"
path_convert = "C:/Users/ypzhao/Desktop/pdf/"
print("-----doc開始轉(zhuǎn)換為docx-----")

for i in os.listdir(path):
    file_name,file_suffix = i.split(".") 
    if file_suffix == "doc":
        word = Dispatch('Word.Application')
        doc = word.Documents.Open(path+f"{i}")
        doc.SaveAs(path+f"{file_name}.docx",FileFormat=12)
        print(i,"轉(zhuǎn)換完成")
        doc.Close()
        word.Quit()
        sleep(3)

print("-----開始轉(zhuǎn)換為pdf-----")
for i in os.listdir(path):
    file_name,file_suffix = i.split(".") 
    if file_suffix == "docx":
        word = Dispatch('Word.Application')
        doc = word.Documents.Open(path+f"{i}")
        doc.SaveAs(path_convert+f"{file_name}.pdf",FileFormat=17)
        print(i,"...轉(zhuǎn)換完成")
        doc.Close()
        word.Quit()
        sleep(3)
    else:
        pass

這段代碼的作用是將指定目錄下的 Word 文檔(.doc)轉(zhuǎn)換為 Word 文檔(.docx),然后再將其轉(zhuǎn)換為 PDF 格式。

其中,代碼中使用了 sleep(3) 函數(shù)來暫停程序執(zhí)行,是為了避免在 Word 應(yīng)用程序未完全關(guān)閉之前就打開下一個(gè)文檔導(dǎo)致程序出錯(cuò)。

需要注意的是,由于在進(jìn)行文檔轉(zhuǎn)換時(shí)可能會(huì)出現(xiàn)各種問題,例如格式錯(cuò)誤、頁面布局混亂等,因此建議在轉(zhuǎn)換完成后手動(dòng)檢查一下轉(zhuǎn)換后的文檔是否正常。

以上就是Python代碼實(shí)現(xiàn)PDF與Word之間互轉(zhuǎn)的詳細(xì)內(nèi)容,更多關(guān)于Python PDF與Word互轉(zhuǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于Django框架利用Ajax實(shí)現(xiàn)點(diǎn)贊功能實(shí)例代碼

    基于Django框架利用Ajax實(shí)現(xiàn)點(diǎn)贊功能實(shí)例代碼

    點(diǎn)贊這個(gè)功能是我們現(xiàn)在經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于基于Django框架利用Ajax實(shí)現(xiàn)點(diǎn)贊功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 基于django channel實(shí)現(xiàn)websocket的聊天室的方法示例

    基于django channel實(shí)現(xiàn)websocket的聊天室的方法示例

    這篇文章主要介紹了基于基于django channel實(shí)現(xiàn)websocket的聊天室的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • python散點(diǎn)圖實(shí)例之隨機(jī)漫步

    python散點(diǎn)圖實(shí)例之隨機(jī)漫步

    這篇文章主要為大家詳細(xì)介紹了python散點(diǎn)圖實(shí)例之隨機(jī)漫步,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 分享11個(gè)Python自動(dòng)化操作Excel的方法

    分享11個(gè)Python自動(dòng)化操作Excel的方法

    這篇文章主要給大家分享的是11個(gè)Python自動(dòng)化操作Excel的方法,自動(dòng)化辦公,我相信很多人都有強(qiáng)烈的需求,今天我教大家如何利用Python自動(dòng)化操作Excel,需要的朋友可以參考一下
    2022-02-02
  • Python中reset_index()函數(shù)的使用

    Python中reset_index()函數(shù)的使用

    本文主要介紹了Python中reset_index()函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 在django項(xiàng)目中導(dǎo)出數(shù)據(jù)到excel文件并實(shí)現(xiàn)下載的功能

    在django項(xiàng)目中導(dǎo)出數(shù)據(jù)到excel文件并實(shí)現(xiàn)下載的功能

    這篇文章主要介紹了在django項(xiàng)目中導(dǎo)出數(shù)據(jù)到excel文件并實(shí)現(xiàn)下載的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python倒排索引之查找包含某主題或單詞的文件

    Python倒排索引之查找包含某主題或單詞的文件

    倒排索引(英語:Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。這篇文章主要介紹了Python倒排索引之查找包含某主題或單詞的文件,需要的朋友可以參考下
    2019-11-11
  • Python按行讀取文件的實(shí)現(xiàn)方法【小文件和大文件讀取】

    Python按行讀取文件的實(shí)現(xiàn)方法【小文件和大文件讀取】

    這篇文章主要介紹了Python按行讀取文件的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了針對(duì)小文件和大文件的讀取方法,需要的朋友可以參考下
    2016-09-09
  • 什么是python的函數(shù)體

    什么是python的函數(shù)體

    在本篇文章里小編給大家分享的是一篇關(guān)于python函數(shù)體的基礎(chǔ)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 通俗易懂了解Python裝飾器原理

    通俗易懂了解Python裝飾器原理

    這篇文章主要介紹了通俗易懂了解Python裝飾器原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

西吉县| 松江区| 桂东县| 安溪县| 义马市| 新蔡县| 平乡县| 新余市| 元朗区| 黑山县| 哈巴河县| 星子县| 南和县| 无极县| 大名县| 贡嘎县| 溆浦县| 修武县| 泰顺县| 北京市| 八宿县| 阜南县| 石渠县| 张家港市| 郑州市| 二连浩特市| 曲周县| 滨海县| 古丈县| 赤水市| 黄山市| 青神县| 井陉县| 木里| 泉州市| 分宜县| 巩义市| 宜都市| 舞阳县| 连江县| 巨野县|