国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

改進python批量處理pdf文件插入word頁碼亂問題

這篇具有很好參考價值的文章主要介紹了改進python批量處理pdf文件插入word頁碼亂問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

import os
import fitz
import shutil
import os,time
import fitz
from tkinter import filedialog
import tkinter as tk
from docx import Document
from docxcompose.composer import Composer
import win32com.client as win32

def covert2pic(file_path, zoom, png_path):  #此函數(shù)用于把pdf文件導出成圖片,并保存到對應(yīng)文件夾下
    doc = fitz.open(file_path)
    total = doc.page_count
    for pg in range(total):
        page = doc[pg]
        zoom = int(zoom)  # 值越大,分辨率越高,文件越清晰
        rotate = int(0)

        trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).prerotate(rotate)
        pm = page.get_pixmap(matrix=trans, alpha=False)
        if not os.path.exists(png_path):
            os.mkdir(png_path)
        save = os.path.join(png_path, '%s.png' %(pg+1))
        pm.save(save)
    doc.close()


def PCLPDFWJ(Pdf_file_path):
    if Pdf_file_path=='':
        print("你輸入空目錄")
    else:
        desktop_path = os.path.expanduser("~\Desktop")  # 獲取當前桌面路徑
        # ----讀取文件夾下所有文件的名字并把他們用列表存起來------
        datanames = os.listdir(Pdf_file_path)
        list_Pdfname = []
        for i in datanames:
            # 獲取文件名稱中日期
            list_Pdfname.append(i)
        # -----------------------------------------------
        for j in list_Pdfname:
            s = j  # 獲取文件夾中PDF名稱
            pdfPath = Pdf_file_path + "\\" + s
            print(pdfPath)
            j = j[:-4]  # 去掉最后4個字符.pdf
            imagePath = desktop_path + "\\" + "臨時文件夾" + "\\" + j
            # 批量創(chuàng)建imagePath文件夾----------------------------------------------------
            if not os.path.exists(imagePath):
                os.makedirs(imagePath)
            else:
                # 清理歷史遺留處理過的文件夾內(nèi)容
                shutil.rmtree(imagePath)
                os.makedirs(imagePath)
            covert2pic(pdfPath, 200, imagePath)
            folder_path = imagePath #獲取圖片數(shù)量
            file_count = len([f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]) #獲取圖片數(shù)量
            #print(file_count)

            # 創(chuàng)建新的Word文檔對象
            document = Document()

            # 獲取指定文件夾路徑
            folder_path = imagePath

            ysnb=1 #頁數(shù)從第一頁開始插入
            # 遍歷文件夾中的每張圖片并插入到Word文檔中
            #for filename in os.listdir(folder_path):
            while ysnb<=int(file_count):
                filename=str(ysnb)+"."+"png" #獲取轉(zhuǎn)化后的臨時文件夾中對應(yīng)圖片文件夾中的圖片名稱
                image_path = os.path.join(folder_path, filename)
                # 在當前光標位置插入圖片
                document.add_picture(image_path)
                ysnb=ysnb+1


            document.save(desktop_path + "\\" + "wordoutput" + "\\" + j + ".docx")

            # 保存Word文檔
            # print(hb)




def qinglilingshiwenj():      #清理之前生成的臨時文件夾,避免出錯
    desktop_path = os.path.expanduser("~\Desktop") #獲取當前桌面路徑
    print("當前桌面路徑:", desktop_path)
    # 在當前操作系統(tǒng)桌面上創(chuàng)建wordoutput文件夾------------------------------------
    if not os.path.exists(desktop_path + "\\" + "wordoutput"):
        os.makedirs(desktop_path + "\\" + "wordoutput")
    else:
        # 清理歷史遺留處理過的文件夾內(nèi)容
        shutil.rmtree(desktop_path + "\\" + "wordoutput")
        os.makedirs(desktop_path + "\\" + "wordoutput")

    # ---------把圖片插入word文件中---------------------------
    # 在當前操作系統(tǒng)桌面上創(chuàng)建wordoutput文件夾-----------------------------------------
    if not os.path.exists(desktop_path + "\\" + "臨時文件夾"):
        os.makedirs(desktop_path + "\\" + "臨時文件夾")
    else:
        # 清理歷史遺留處理過的文件夾內(nèi)容
        shutil.rmtree(desktop_path + "\\" + "臨時文件夾")
        os.makedirs(desktop_path + "\\" + "臨時文件夾")
#--------------------------------------------------------------------------------

#----------此函數(shù)用于合并wordoutput文件夾中所有word成為一個word文件,合并文件輸出在桌面------
def hebing_word():
    # 獲取要處理的文件夾路徑
    folder_path = r"C:\Users\Thinkpad\Desktop\wordoutput"
    datanames = os.listdir(folder_path)
    list_wordoutname = []
    for i in datanames:
        # 獲取文件名稱中日期
        list_wordoutname.append(folder_path + "\\" + i)

    print(list_wordoutname)
    # 以下函數(shù)用于合并指定文件夾中所有word文件
    # 創(chuàng)建新的空白Word文檔
    merged_doc = Document()

    def HB_wordwj(files, final_docx):
        new_document = Document()
        composer = Composer(new_document)
        for fn in files:
            composer.append(Document(fn))
        composer.save(final_docx)

    # 保存合并后的文檔
    desktop_path = os.path.expanduser("~\Desktop")  # 獲取當前桌面路徑
    merged_file_name = desktop_path + "\\" + "合并輸出文件.docx"
    print(merged_file_name)
    HB_wordwj(list_wordoutname, merged_file_name)
    print("已將文件夾中的所有Word文件合并為", merged_file_name)
    # ------以下程序用于執(zhí)行word中宏程序,用于調(diào)整合并插入的圖片大小---------------------
    # 創(chuàng)建 Word 應(yīng)用程序?qū)ο?    word = win32.gencache.EnsureDispatch('Word.Application')
    # 打開文件
    doc = word.Documents.Open(merged_file_name)
    try:
        # 運行宏
        doc.Application.Run("setpicsize")
    finally:
        # 關(guān)閉文件并退出 Word 應(yīng)用程序
        doc.Close()
        word.Quit()
#----------此函數(shù)用于合并wordoutput文件夾中所有word成為一個word文件,合并文件輸出在桌面------



if __name__ == "__main__":

    root = tk.Tk()
    root.withdraw()  # 隱藏tkinter的根窗口

    folder_path = filedialog.askdirectory()
    # 將路徑從Unix格式轉(zhuǎn)換為Windows格式
    windows_path = folder_path.replace("/", "\\")
    print("轉(zhuǎn)換后的路徑:", windows_path)
    pdfPath = windows_path
    qinglilingshiwenj()  #清理之前生成的臨時文件夾,避免出錯
    PCLPDFWJ(pdfPath)
    hebing_word()

文章來源地址http://www.zghlxwxcb.cn/news/detail-802453.html

到了這里,關(guān)于改進python批量處理pdf文件插入word頁碼亂問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Python批量實現(xiàn)Word、EXCLE、PPT轉(zhuǎn)PDF文件

    Python批量實現(xiàn)Word、EXCLE、PPT轉(zhuǎn)PDF文件

    ?一、緒論背景 ????????在日常辦公和文檔處理中,有時我們需要將多個Word文檔、Excel表格或PPT演示文稿轉(zhuǎn)換為PDF文件。將文檔轉(zhuǎn)換為PDF格式的好處是它可以保留文檔的布局和格式,并且可以在不同平臺上進行方便的查看和共享。 ????????本篇博文將介紹如何使用Pyt

    2024年02月16日
    瀏覽(27)
  • python 批量修改文件名(PDF、word、Excel、圖片、視頻等)

    python 批量修改文件名(PDF、word、Excel、圖片、視頻等)

    ? ? ? 很多朋友遇到批量修改文件名的問題,網(wǎng)上各種搜,操作麻煩不說還有些需要付費。這里不多廢話,直接上代碼。 一、支持庫 二、 定義函數(shù) 三、程序入口 四、運行,微云 下載:文件分享

    2024年01月23日
    瀏覽(104)
  • Python打開文件并進行處理,txt、excel、pdf、word!

    Python打開文件并進行處理,txt、excel、pdf、word!

    在辦公處理中,我們常常要打開一些文件,面臨大量的數(shù)據(jù)時,傳統(tǒng)的人工方法耗時耗力。在python中,有一系列包裝好的庫,讓我們能夠很方便的操作各種類型的文件。當然,python的內(nèi)置函數(shù)也能夠很好的打開一些文件。本文主要探討python打開各類文件的方式。本文介紹的主

    2023年04月08日
    瀏覽(88)
  • vue3項目使用pdf.js插件實現(xiàn):搜索高亮、修改pdf.js顯示的頁碼、向pdf.js傳值、控制搜索、處理接口文件流

    vue3項目使用pdf.js插件實現(xiàn):搜索高亮、修改pdf.js顯示的頁碼、向pdf.js傳值、控制搜索、處理接口文件流

    官網(wǎng)地址:http://mozilla.github.io/pdf.js/ 中文文檔地址:https://gitcode.gitcode.host/docs-cn/pdf.js-docs-cn/print.html PDF.js是基于HTML5技術(shù)構(gòu)建的,用于展示可移植文檔格式的文件(PDF),它可以在現(xiàn)代瀏覽器中使用且無需安裝任何第三方插件。 pdf.js主要包含兩個庫文件 pdf.js:負責API解析 pdf.wor

    2024年02月13日
    瀏覽(29)
  • 使用Python批量將PDF轉(zhuǎn)Word

    使用Python批量將PDF轉(zhuǎn)Word

    ????????以下全部代碼無法完美對圖片、表格等非文字形式的內(nèi)容轉(zhuǎn)化。要較好的效果需要使用光學字符分析等方法進行轉(zhuǎn)化 ? ? ? ? 我懶,不想將代碼模塊拆分出來寫注釋 ? ? ? ? 除代碼1中有詳細注釋外,剩下的代碼僅在關(guān)鍵部分進行注釋 ????????不使用線程,挨

    2024年04月13日
    瀏覽(22)
  • Apache poi xwpf word轉(zhuǎn)PDF中文顯示與頁碼問題解決

    目錄 POM依賴 核心配置代碼 PDF下載流問題 WPS模板問題 原問題解決方法:https://github.com/opensagres/xdocreport/issues/161 請記住,word轉(zhuǎn)換如果沒問題,那么就要設(shè)置pdf的字體,這個是鐵律! 將PdfOptions提出來作為方法使用 注意前端PDF文件流空白問題參考以下方案進行處理 js下載PDF文件

    2024年02月07日
    瀏覽(42)
  • word橫向頁面?zhèn)让骓摯a設(shè)置及轉(zhuǎn)pdf后橫線變豎線的解決方案

    word橫向頁面?zhèn)让骓摯a設(shè)置及轉(zhuǎn)pdf后橫線變豎線的解決方案

    ? ? ? ?在處理材料的時候,會遇到同一個文檔里自某一頁開始,頁面布局是橫向的,這時候頁碼要設(shè)置在側(cè)面,方法是雙擊頁腳,然后在word工具欄上選擇 “插入”——“文本框”——“繪制豎版文本框” ,然后在頁面左側(cè)繪制一個文本框,如下圖: ? ? ? ?繪制完之后,

    2024年02月13日
    瀏覽(70)
  • Python實現(xiàn)Word、Excel、PPT批量轉(zhuǎn)為PDF

    Python實現(xiàn)Word、Excel、PPT批量轉(zhuǎn)為PDF

    今天看見了一個有意思的腳本Python批量實現(xiàn)Word、EXCLE、PPT轉(zhuǎn)PDF文件。 因為我平時word用的比較的多,所以深有體會,具體怎么實現(xiàn)的我們就不討論了,因為這個去學了也沒什么提升,不然也不會當作腳本了。這里我將其放入了pyzjr庫中,也方便大家進行調(diào)用。 你可以去下載p

    2024年02月10日
    瀏覽(97)
  • python批量處理修改pdf內(nèi)容

    python批量處理修改pdf內(nèi)容

    ? 將PDF轉(zhuǎn)換為Word: 使用pdf2docx庫中的Converter類來進行PDF轉(zhuǎn)換。 convert_pdf_to_docx 函數(shù)接受PDF文件路徑和輸出的Word文檔路徑作為參數(shù)。 通過調(diào)用Converter對象的 convert 方法將PDF轉(zhuǎn)換為Docx格式。 最后調(diào)用 close 方法關(guān)閉Converter對象并保存轉(zhuǎn)換后的文檔。 將Word轉(zhuǎn)換為Excel: 使用docx庫

    2024年01月25日
    瀏覽(22)
  • Python處理PDF:在PDF文檔中插入頁眉和頁腳

    Python處理PDF:在PDF文檔中插入頁眉和頁腳

    在處理篇幅較長、結(jié)構(gòu)復雜的PDF文檔時,頁眉和頁腳的設(shè)計與插入就顯得尤為重要。它們不僅扮演著美化文檔、提升專業(yè)度的角色,更承擔了導航指引、信息標注的重要功能。 頁眉通常用于展示文檔的標題或章節(jié)名稱,有助于讀者在翻閱過程中迅速定位所處位置,對文檔的整

    2024年04月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包