PythonでWordファイルをみんなまとめてPDFに変換してしまおう

エクスプローラなどからD&Dで受け取った Word ファイル ( .doc, .docx ) を PDF に変換します。
ちなみに、MS Word がないと動きません。

Python 側では[ pywin32 ]が必要です。
Windows で Python を使う際にはぜひ。([ pip install pywin32 ])

import sys
import os
import win32com.client

args = sys.argv
if len(args)>1:
    Appli=win32com.client.Dispatch("Word.Application")
    for f in args[1:]:
        Doc = Appli.Documents.Open(f)
        OutputFile = str(os.path.splitext(f)[0])+".pdf"
        Doc.SaveAs(OutputFile, 17) #wdFormatPDF = 17
        Doc.Close(False)
    Appli.Quit()

各行を簡単に説明しておきますと、
5: 引数を受け取ります
6: 実行ファイル自身の引数がある時に動作します
7: Word をオートメーション操作する時のおまじない
8: 受け取ったファイルパスを一つずつ f に格納していきます
9: f のファイルを開きます
10: 保存するファイル名を指定します(この場合は拡張子を.pdfに)
11: PDF 形式で保存する場合は 17 を指定します
12: ファイルを閉じます
13: 最後に Word を終了します

大量の Word ファイルを PDF にする時はやはり便利ですよ。

タイトルとURLをコピーしました