Excel ファイルを PDF 形式に変換することで、スプレッドシートを他人と共有・配布しやすくなります。特に、異なるデバイスやソフトウェアでもレイアウトや書式を維持したい場合に便利です。さらに、PDF は Excel ファイルよりも見栄えが良く、公式なレポートやプレゼン資料、ビジネス文書としてよく利用されます。
この記事では、Python で Spire.XLS for Python ライブラリを使用して、Excel ファイルを PDF に変換する方法をご紹介します。
Spire.XLS for Python のインストール
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Python で Excel 全体を PDF に変換する
Excelドキュメント全体を1つのPDFファイルに変換するには、Workbook.SaveToFile() メソッドを使用します。変換後のPDFには、各ワークシートが1ページずつ表示されます。変換の詳細設定は、Workbook.ConverterSetting プロパティを使って調整できます。
以下は、Excel ドキュメント全体を PDF に変換する手順です:
- Workbook オブジェクトを作成します。
- Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
- Worksheet.PageSetup プロパティを使用して、各ワークシートの余白(PDF の空白部分になる)を設定します。
- Workbook.ConverterSetting オブジェクトのプロパティを使って、PDF 変換時のオプションを指定します。
- Workbook.SaveToFile() メソッドで、Excel ドキュメント全体を PDF ファイルに変換します。
- Python
from spire.xls import Workbook, FileFormat
# Workbook オブジェクトを作成します
workbook = Workbook()
# Excel ドキュメントを読み込みます
workbook.LoadFromFile("Sample.xlsx")
# ワークブック内のワークシートを繰り返し処理します
for sheet in workbook.Worksheets:
# PageSetup オブジェクトを取得します
pageSetup = sheet.PageSetup
# ページの余白を設定します
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# PDF 変換時にワークシートをページに収めるように設定します
workbook.ConverterSetting.SheetFitToPage = True
# PDF ファイルに変換します
workbook.SaveToFile("output/ExcelをPDFに変換.pdf", FileFormat.PDF)
workbook.Dispose()
Python で特定のワークシートのみを PDF に変換する
特定のワークシートだけを PDF に変換したい場合は、Worksheet.SaveToPdf() メソッドを使用します。以下がその手順です:
- Workbook オブジェクトを作成します。
- Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
- Workbook.Worksheets[] プロパティを使用して、変換したいワークシートを取得します。
- Worksheet.PageSetup プロパティで、該当ワークシートの余白を設定します。
- Workbook.ConverterSetting オブジェクトで、PDF 変換時のオプションを指定します。
- Worksheet.SaveToPdf() メソッドを使って、選択したワークシートを PDF に変換します。
- Python
from spire.xls import Workbook
# Workbook オブジェクトを作成します
workbook = Workbook()
# Excel ドキュメントを読み込みます
workbook.LoadFromFile("Sample.xlsx")
# 特定のワークシートを取得します
sheet = workbook.Worksheets[1]
# PageSetup オブジェクトを取得します
pageSetup = sheet.PageSetup
# ページの余白を設定します
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# PDF 変換時にワークシートをページに収めるように設定します
workbook.ConverterSetting.SheetFitToPage = True
# ワークシートを PDF ファイルに変換します
sheet.SaveToPdf("output/ワークシートをPDFに変換.pdf")
workbook.Dispose()
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。