1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでWordをPDFに変換

Posted at

Word文書をPDFに変換することで、文書がデバイス間で一貫してレンダリングされ、他のユーザーがコンテンツに不正な変更を加えるのを防ぐことができます。さらに、PDFに変換することで、文書を印刷する必要があるときに、印刷の正確さも保証されます。
この記事では、Pythonライブラリを使用してWord Doc/DocxをPDF形式に変換する方法について説明します。

WordからPDFへの変換のためのPythonライブラリ

使用するPythonライブラリは Spire.Doc for Python で、Word文書の作成、読み込み、編集、変換を簡単に行うことができます。使用するには、以下のpipコマンドを使ってVS Codeにインストールします。

pip install Spire.Doc

PythonでWord Doc/DocxをPDFに変換する

変換を実現するには、単に.docまたは.docx文書をロードし、WordをPDF形式に変換するためにDocument.SaveToFile(string fileName, FileFormat.PDF) メソッドを使用します。
Pythonコード:

from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成する
document = Document()

# Word文書を読み込む
document.LoadFromFile("Input.docx")

# WordをPDF形式で保存
document.SaveToFile("WordtoPDF.pdf", FileFormat.PDF)
document.Close()

WordtoPDF.png

PythonでWordをパスワード保護されたPDFに変換する

単純にWordをPDFに変換するだけでなく、Spire.Doc for Pythonは変換プロセスを制御するためにToPdfParameterList クラスも提供しています。まず生成されるPDFにパスワードを設定し、Document.SaveToFile (string fileName, ToPdfParameterList paramList) メソッドを使用してWordを暗号化されたPDFファイルとして保存することができます。
Pythonコード:

from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成する
document = Document()

# Word文書を読み込む
document.LoadFromFile("Input.docx")

# ToPdfParameterListオブジェクトの作成
parameter = ToPdfParameterList()

# 生成されたPDFファイルにオープンパスワードと許可パスワードを設定する
openPsd = "abcd"
permissionPsd = "1234"
parameter.PdfSecurity.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)

# Word文書を暗号化されたPDFとして保存する
document.SaveToFile("EncryptedPDF.pdf", parameter)
document.Close()

Pythonでフォントを埋め込んだWordをPDFに変換する

PDFにフォントを埋め込むことで、文書がさまざまなデバイスで正しく表示され、フォントの欠落による問題が回避されます。これは、カスタムフォントや特殊なグリフを含むドキュメントでは特に重要です。 Spire.Doc for Pythonは、WordをPDFに変換してフォントを埋め込むのに役立つToPdfParameterList.IsEmbeddedAllFonts プロパティを提供します。
Pythonコード:

from spire.doc import *
from spire.doc.common import *

# Documentオブジェクトを作成する
document = Document()

# Word文書を読み込む
document.LoadFromFile("Input.docx")

# ToPdfParameterListオブジェクトの作成
parameter = ToPdfParameterList()

# 生成されたPDFにフォントを埋め込む
parameter.IsEmbeddedAllFonts = True

# Word文書をPDFとして保存する
document.SaveToFile("ToPdf.pdf", parameter)
document.Close()

:pushpin: WordをPDFに変換する際に画像を圧縮して生成されるPDFのファイルサイズを小さくしたい場合は、Document.JPEGQuality プロパティで画質を設定することができます。
さらに、ToPdfParameterListクラスは、変換中に元のしおりを保持したり、タイトルによって新しいしおりを作成することもサポートしています。

# Wordの見出しからPDFのしおりを作成
parames.CreateWordBookmarksUsingHeadings = True

# Wordの既存のしおりからPDFのしおりを作成する
parames.CreateWordBookmarks = True

赤い透かしを消すには、こちらからトレイルライセンスをお申し込みください。
https://www.e-iceblue.com/TemLicense.html

Python Wordライブラリについてもっと知る:
https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Spire.Doc-for-Python-Program-Guide-Content.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?