Python を使用して Word ファイルを PDF ファイルにバッチで変換する

注: Minio サーバーを使用している場合、Word ファイルをプレビューすることはできません。必要に応じて、Word ファイルを PDF ファイルに変換して Minio に保存できます。この記事では、Word ファイルを PDF 形式ファイルに一括変換する方法を紹介します。

ここに画像の説明を挿入します

インストールライブラリ

まず、ライブラリをインストールする必要がありますpywin32

ここに画像の説明を挿入します

cmd ウィンドウに次のコマンドを入力して、Alibaba Cloud イメージをインストールして使用できます。

pip install pywin32 -i https://mirrors.aliyun.com/pypi/simple/

pycharm を使用している場合は、次のようにソフトウェアに直接インストールすることをお勧めします。

ここに画像の説明を挿入します

コーディング

コードは以下のように表示されます:

import os
import time

import win32com.client


def convert_to_pdf(input_path, output_path):
    # 使用win32com对象打开Word应用程序
    word = win32com.client.Dispatch("Word.Application")

    # 去除程序界面显示
    word.Visible = 0

    # 打开Word文档
    doc = word.Documents.Open(input_path)

    # 将Word文档保存为PDF文件
    doc.SaveAs(output_path, FileFormat=17)

    # 关闭Word文档
    doc.Close()

    # 关闭Word应用程序
    word.Quit()


def main(input_path, output_path, file):
    try:
        # 转换为绝对路径
        input_path = os.path.abspath(input_path + "\\" + file)

        if file[-4:] == "docx":
            output_path = os.path.abspath(output_path + "\\" + file[:-5] + ".pdf")
        else:
            output_path = os.path.abspath(output_path + "\\" + file[:-4] + ".pdf")

        # 调用函数进行转换
        convert_to_pdf(input_path, output_path)
        print("转换成功!")
    except Exception as e:
        print(f"转换失败: {
      
      str(e)}")


if __name__ == "__main__":
    # 输入路径
    input_path = r""

    # 输出路径
    output_path = r""

    # 获取输入路径下的所有文件
    listdir = os.listdir(input_path)

    # 遍历所有文件
    for file in listdir:

        # 判断是否为Word文档
        if file[-4:] == "docx" or file[-3:] == "doc":
            main(input_path, output_path, file)

            # 休眠2秒,防止Word应用程序未关闭就进行下一次转换
            time.sleep(2)

テスト

たとえば、デスクトップの test フォルダーに Word ファイルがあるとします。

ここに画像の説明を挿入します

プログラムを起動して変換を実行します。

ここに画像の説明を挿入します

変換が完了しました。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_42108331/article/details/132347351