SVG ファイルは、拡大縮小や調整が容易であることから、Web グラフィックスやベクター形式のイラストによく利用されます。一方 PDF は、さまざまなデバイスや OS で幅広くサポートされている汎用性の高い形式です。SVG を PDF に変換することで、受け取る側が特別なソフトウェアを用意したり、ブラウザの互換性を気にする必要なく、グラフィックスやイラストを簡単に共有できます。本記事では、Python で SVG ファイルを PDF 形式に変換する方法を Spire.PDF for Python を用いて解説します。 目次 Spire.PDF for Python のインストール Python で SVG を PDF に変換する Python で SVG を PDF に追加する Spire.PDF for Python のインストール この操作には Spire.PDF for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。 pip install Spire.PDF Python で SVG を PDF に変換する Spire.PDF for Python では、PdfDocument.LoadFromSvg() メソッドを使用して SVG ファイルを読み込み、PdfDocument.SaveToFile() メソッドで PDF として保存できます。手順は以下の通りです。 PdfDocument クラスのオブジェクトを作成する PdfDocument.LoadFromSvg() メソッドで SVG ファイルを読み込む PdfDocument.SaveToFile() メソッドで PDF ファイルとして保存する from spire.pdf import PdfDocument, FileFormat # PdfDocument オブジェクトを作成 doc = PdfDocument() # SVG ファイルを読み込む doc.LoadFromSvg("Sample.svg") # SVG を PDF 形式に保存 doc.SaveToFile("output/ConvertSvgToPdf.pdf", FileFormat.PDF) # PdfDocument オブジェクトを閉じる doc.Close() Python で SVG を PDF に追加する Spire.PDF for Python では、SVG を PDF に直接変換するだけでなく、既存の PDF に任意の位置へ追加することも可能です。手順は以下の通りです。 PdfDocument クラスのオブジェクトを作成し、PdfDocument.LoadFromSvg() で SVG ファイルを読み込む 読み込んだ SVG の内容を基に Pages[].CreateTemplate() メソッドでテンプレートを作成する テンプレートの幅と高さを取得する 別の PdfDocument オブジェクトを作成し、PdfDocument.LoadFromFile() で PDF ファイルを読み込む Pages[].Canvas.DrawTemplate() メソッドで、テンプレートを任意のサイズで指定位置に描画する PdfDocument.SaveToFile() メソッドで保存する from spire.pdf import PdfDocument, PointF, FileFormat # PdfDocument オブジェクトを作成 doc1 = PdfDocument() # SVG ファイルを読み込む doc1.LoadFromSvg("Sample.svg") # SVG 内容を基にテンプレートを作成 template = doc1.Pages.get_Item(0).CreateTemplate() # 別の PdfDocument オブジェクトを作成 doc2 = PdfDocument() page = doc2.Pages.Add() # 読み込んだ PDF の 1 ページ目に、テンプレートを指定位置に描画 page.Canvas.DrawTemplate(template, PointF(10.0, 100.0)) # 結果を保存 doc2.SaveToFile("output/AddSvgToPdf.pdf", FileFormat.PDF) # PdfDocument オブジェクトを閉じる doc2.Close() doc1.Close() もし PDF に他の種類の画像を挿入したい場合は、Python で PDF に画像を追加・削除・置換する方法をご参照ください。 一時ライセンスの申請 生成した文書から評価用の透かしを削除したい場合や、機能制限を解除したい場合は、30 日間有効の試用ライセンスを申請してください。