Pythonで簡単にExcelファイルをPDFに変換し、表の共有や印刷を簡単にする
データ処理やレポート作成の作業では、さまざまなファイル形式の間で変換する必要があります。たとえば、Excelの表を使用してデータを収集、整理、分析し、それをPDFファイルに変換してデータを共有、表示、印刷などに使用する場合です。ただし、Excelの表とPDFファイルの変換は、特に大量の表をPDFファイルに変換する必要がある場合には手間がかかることがあります。幸いにも、Pythonは強力なプログラミング言語として、この目標を達成するための豊富なライブラリやツールを提供しています。Pythonを使用することで、Excelの表を自動的にPDFファイルに変換するスクリプトを作成することができます。
この記事では、Pythonを使用してさまざまな形式のExcel表(xls、xlsxなど)をPDFファイルに変換する方法について詳しく説明します。
この記事で使用する方法には、Spire.XLS for Pythonが必要です。公式ウェブサイトからダウンロードするか、PyPIを介してインストールできます:pip install Spire.XLS
。
Excelワークブック全体をPDFファイルに変換する
Workbook クラスはExcelワークブックファイルを表し、このクラスの LoadFromFile(string filename, FileFormat) メソッドを使用してワークブックをファイルから読み込むことができます。xls、xlsx、xlsb、xlsmなどの形式を含む。その後、Workbook.SaveToFile(string filename, FileFormat.PDF) メソッドを使用してExcelファイル全体をPDFファイルに保存できます。生成されたPDFファイルでは、Excelの各ワークシートが個別のページとして表示されます。以下は変換の例です:
- ライブラリのインポート。
from spire.xls import *
from spire.xls.common import *
- Workbookクラスのオブジェクトを作成し、Excelファイルを読み込む。
workbook = Workbook()
workbook.LoadFromFile("例.xlsx")
- ExcelファイルをPDFファイルに保存し、Workbookを閉じる。
workbook.SaveToFile("output/ExcelをPDFに変換.pdf", FileFormat.PDF)
workbook.Dispose()
完全なコード:
from spire.xls import *
from spire.xls.common import *
# Workbookクラスのオブジェクトを作成し、Excelファイルをロードする
workbook = Workbook()
workbook.LoadFromFile("例.xlsx")
# ExcelファイルをPDFファイルに変換して保存する
workbook.SaveToFile("output/ExcelをPDFに変換.pdf", FileFormat.PDF)
workbook.Dispose()
Excelワークブック全体をPDFファイルに変換し、変換オプションを設定する
Workbook.SaveToFile()を使用すると、Excelファイルを簡単にPDFファイルに変換できますが、変換されたPDFファイルにより良い効果を得たい場合は、いくつかの変換オプション(例:余白)を設定することができます。以下は操作の例です:
- ライブラリのインポート。
from spire.xls import *
from spire.xls.common import *
- Workbookクラスのオブジェクトを作成し、Excelファイルを読み込む。
workbook = Workbook()
workbook.LoadFromFile("例.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
- 変換時にワークシートをページに合わせるように設定する。
workbook.ConverterSetting.SheetFitToPage = True
- ExcelファイルをPDFファイルに保存し、Workbookを閉じる。
workbook.SaveToFile("output/ExcelをPDFに変換.pdf", FileFormat.PDF)
workbook.Dispose()
完全なコードの例:
from spire.xls import *
from spire.common import *
# Workbookオブジェクトを作成する
workbook = Workbook()
# Excelワークブックをロードする
workbook.LoadFromFile("例.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
# 変換時にワークシートをページに合わせるように設定する
workbook.ConverterSetting.SheetFitToPage = True
# ExcelワークブックをPDFファイルに変換する
workbook.SaveToFile("output/ExcelをPDFに変換.pdf", FileFormat.PDF)
workbook.Dispose()
指定されたワークシートをPDFファイルに変換する
ワークブック全体ではなく、特定のワークシートを個別のPDFファイルに変換することもできます。以下は操作の例です:
- ライブラリのインポート。
from spire.xls import *
from spire.xls.common import *
- Workbookクラスのオブジェクトを作成し、Excelファイルを読み込む。
workbook = Workbook()
workbook.LoadFromFile("例.xlsx")
- 余白を設定する。
pageSetup = sheet.PageSetup
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
- 変換時にワークシートをページに合わせるように設定する。
workbook.ConverterSetting.SheetFitToPage = True
- そのワークシートをPDFファイルに変換して保存する。
sheet.SaveToPdf("output/ワークシートをPDFに変換.pdf")
workbook.Dispose()
完全なコードの例:
from spire.xls import *
from spire.common import *
# Workbookオブジェクトを作成し、Excelファイルをロードする
workbook = Workbook()
workbook.LoadFromFile("例.xlsx")
# 2番目のワークシートを取得する
sheet = workbook.Worksheets[1]
# ページの余白を設定する
pageSetup = sheet.PageSetup
pageSetup.TopMargin = 0.3
pageSetup.BottomMargin = 0.3
pageSetup.LeftMargin = 0.3
pageSetup.RightMargin = 0.3
# 変換時にワークシートをページに合わせるように設定する
workbook.ConverterSetting.SheetFitToPage = True
# ワークシートをPDFファイルとして保存する
sheet.SaveToPdf("output/ワークシートをPDFに変換.pdf")
workbook.Dispose()
以上はPythonを使用してExcel表をPDFファイルに変換する方法についての説明でした。Spire.XLS for Pythonにはさまざまな変換機能がありますので、Spire.XLS for Pythonチュートリアルを参照してください。また、Spire.XLSフォーラムに参加してディスカッションに参加することもできます。