Excel→PDF 変換を Linux に移す — aspose-cells と LibreOffice の比較
- 既存のExcel→PDF変換は
win32com(Windows専用)を使っており、Linux/Docker環境への移行にあたって代替手段を検証した - aspose-cellsは既存実装とほぼ同機能で、結合テストでデグレなしを確認。ただし商用利用には有償ライセンスが必要
- LibreOfficeは無償だが、シート単位の個別処理ができず全シートが1枚のPDFにまとまってしまう
- Windows Serverが使えるなら現行のまま、Linux移行にこだわるならaspose-cellsが現実的という結論に至った
ある案件の結合テスト工程で、Excelファイルを PDF に変換する処理が組み込まれていました。既存実装はwin32comを使ったものでWindows専用であり、これをLinux/Dockerで動かす必要が出てきたため、代替手段を検証しました。
| 既存実装 | win32com(Windows専用) |
|---|---|
| 検証対象 | aspose-cells / LibreOffice |
| 用途 | 結合テスト工程におけるExcel→PDF変換 |
aspose-cellsを試す
aspose-cellsは既存のwin32com実装とほぼ同等の機能を持っており、結合テストの結果を確認したところデグレは見られませんでした。機能面では最も既存実装に近い選択肢です。ただし、商用利用にあたっては有償ライセンスの購入が必要になる点は考慮が必要です。
LibreOfficeを試す
LibreOfficeは無償で利用できますが、シート単位での個別処理ができず、Excelファイル内の全シートが1枚のPDFにまとまって出力されてしまいます。既存の後続処理はシートごとにPDFが分かれていることを前提にしていたため、このままではそのまま置き換えることができず、後続処理側に大きな改修が必要になることがわかりました。
3択の比較
| 選択肢 | 特徴 | 課題 |
|---|---|---|
| win32com継続 | 既存実装をそのまま利用できる | Windows専用のため、Linux/Docker環境では動かせない |
| aspose-cells | 既存実装とほぼ同機能。結合テストでデグレなしを確認 | 商用利用に有償ライセンスが必要 |
| LibreOffice | 無償で利用できる | シート単位の個別処理ができず、全シートが1枚のPDFにまとまる |
回避策の検討
LibreOfficeの制約に対する回避策として、openpyxlであらかじめExcelファイルをシート単位に分割しておき、必要なファイルだけをLibreOfficeでPDF化するという方法を検討しました。この方法であれば無償のままシート単位のPDF出力を実現できる可能性がありますが、事前の分割処理を組み込む分の実装コストは発生します。
あわせて、そもそもWindows Serverで稼働させられるのであれば、既存のwin32com実装のままで問題ないという選択肢も検討の対象になりました。
まとめ
Excel→PDF変換をLinux環境に移す検証では、win32com継続・aspose-cells・LibreOfficeの3択を比較しました。Windows Serverが利用できる場合は現行のwin32com実装のままで問題なく、Linux移行にこだわる場合はライセンスコストを許容できるならaspose-cellsが最も現実的という結論に至りました。LibreOfficeは無償ですが、シート単位の出力を維持するには追加の実装が必要になる点を踏まえて選定する必要があります。
※ 本記事の検証は2026年7月時点のものです。
Windows依存の既存実装をLinux/Docker環境へ移行する際の代替ライブラリ選定・検証を支援します。