Python で Docx を PDF に変換する
このチュートリアルでは、Python で docx ファイルを pdf ファイルに変換する方法について説明します。
Python の pywin32
パッケージを使用して Docx を PDF に変換する
pywin32
パッケージは通常、COM オブジェクトの作成と初期化、および Python での Windows サービスの使用に使用されます。外部パッケージであるため、使用する前に pywin32
をインストールする必要があります。pywin32
をインストールするコマンドを以下に示します。
pip install pywin32
このパッケージで Microsoft Word アプリケーションを使用して、docx ファイルを開き、pdf ファイルとして保存できます。次のコード例は、pywin32
パッケージを使用して docx ファイルを pdf ファイルに変換する方法を示しています。
import os
import win32com.client
wdFormatPDF = 17
inputFile = os.path.abspath("document.docx")
outputFile = os.path.abspath("document.pdf")
word = win32com.client.Dispatch("Word.Application")
doc = word.Documents.Open(inputFile)
doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
上記のコードの win32com.client
ライブラリを使用して、document.docx
を document.pdf
に変換しました。doc = word.Documents.Open(inputFile)
で docx ファイルを開き、doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
で pdf ファイルとして保存しました。最後に、開いたドキュメントを doc.Close()
関数で閉じ、Microsoft Word を word.Quit()
関数で終了しました。このコードが正しく機能するには、出力ファイルがすでに作成されている必要があることに注意してください。これは、上記のコードを実行する前に、document.pdf
という名前のファイルを手動で作成する必要があることを意味します。このプロセスは、Python でのファイル処理を利用して自動化することもできます。次のコードスニペットは、このプロセス全体をさらに自動化する方法を示しています。
import os
import win32com.client
wdFormatPDF = 17
inputFile = os.path.abspath("document.docx")
outputFile = os.path.abspath("document.pdf")
file = open(outputFile, "w")
file.close()
word = win32com.client.Dispatch("Word.Application")
doc = word.Documents.Open(inputFile)
doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
上記のコードでは、win32com.client
ライブラリを使用して Microsoft Word を開く前に、file = open(outputFile, "w")
を使用して出力ファイルを作成します。
Python の docx2pdf
パッケージを使用して Docx を PDF に変換する
pywin32
メソッドは問題なく機能し、本質的な詳細を細かく制御できます。唯一の欠点は、そのために多くのコードを書かなければならないことです。低レベルの詳細をあまり気にせずに docx ファイルを pdf ファイルにすばやく変換する必要がある場合は、Python の docx2pdf
パッケージを使用できます。docx2pdf
パッケージは、ファイル名を取得し、前のセクションで説明したすべての低レベルの変換を処理する単純な関数を提供します。docx2pdf
も外部パッケージです。docx2pdf
パッケージをインストールするコマンドを以下に示します。
pip install docx2pdf
次のコード例は、docx2pdf
パッケージを使用して docx ファイルを pdf ファイルに変換する方法を示しています。
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
convert(inputFile, outputFile)
上記のコードの docx2pdf
パッケージの convert()
関数を使用して、document.docx
を document.pdf
に変換しました。このコードの唯一の欠点は、このコードを実行する前に出力ファイルを作成する必要があることです。前のセクションで行ったように、ファイル処理を使用してこのプロセスを自動化できます。
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()
convert(inputFile, outputFile)
上記のコードでは、convert()
関数を呼び出す前に、file = open(outputFile, "w")
を使用して出力ファイルを作成します。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn