SVG ファイルはベクターベースのグラフィックであり、品質を損なうことなく拡大縮小やサイズ調整が可能です。このファイル形式は特定の場合に非常に便利です。ただし、さらなる処理、共有、配布、印刷、アーカイブのために PDF など他の形式に変換する必要がある場合もあります。この記事では、Spire.PDF for Java を使用して SVG 画像を PDF ファイルに変換する方法を紹介します。
Spire.PDF for Java をインストールします
まず、Spire.PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.7.8</version>
</dependency>
</dependencies>
Java で SVG を PDF に変換する
Spire.PDF for Java では、SVG ファイルを読み込むための PdfDocument.loadFromSvg() メソッドが提供されており、その後、PdfDocument.saveToFile() メソッドを使用して PDF ファイルに変換することができます。以下に詳細な手順を示します。
- PdfDocument インスタンスを作成します。
- PdfDocument.loadFromSvg() メソッドを使用してサンプル SVG ファイルを読み込みます。
- PdfDocument.saveToFile(String filename, FileFormat.PDF) メソッドを使用して SVG ファイルを PDF に変換します。
- Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class SVGToPDF {
public static void main(String[] args) {
//PdfDocumentインスタンスを作成する
PdfDocument pdf = new PdfDocument();
//SVGファイルを読み込む
pdf.loadFromSvg("sample.svg");
//SVGをPDFとして保存する
pdf.saveToFile("SVGToPDF.pdf", FileFormat.PDF);
pdf.close();
}
}
Java で PDF に SVG 画像を追加する
SVG を PDF に変換するだけでなく、Spire.PDF for Java は SVG 画像を PDF に追加することもサポートしています。このプロセスでは、SVG 画像の位置とサイズを設定することができます。以下に詳細な手順を示します。
- PdfDocument インスタンスを作成し、PdfDocument.loadFromSvg() メソッドを使用して SVG ファイルを読み込みます。
- PdfDocument.getPages().get().createTemplate() メソッドを使用して、SVG ファイルの内容に基づいてテンプレートを作成します。
- 別の PdfDocument インスタンスを作成し、PdfDocument.loadFromFile() メソッドを使用して PDF ファイルを読み込みます。
- PdfDocument.getPages().get() メソッドを使用して、PDF の指定されたページを取得します。
- PdfPageBase.getCanvas().drawTemplate() メソッドを使用して、PDF ページ上の指定した位置にカスタムサイズのテンプレートを描画します。
- PdfDocument.saveToFile() メソッドを使用して結果文書を保存します。
- Java
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.PdfTemplate;
import java.awt.*;
import java.awt.geom.Point2D;
public class AddSVGImagetoPDF {
public static void main(String[] args) {
//PdfDocumentインスタンスを作成する
PdfDocument doc1 = new PdfDocument();
//SVGファイルを読み込む
doc1.loadFromSvg("sample.svg");
//SVGファイルの内容に基づいたテンプレートを作成する
PdfTemplate template = doc1.getPages().get(0).createTemplate();
//別のPdfDocumentインスタンスを作成する
PdfDocument doc2 = new PdfDocument();
//PDFファイルを読み込む
doc2.loadFromFile("Intro.pdf");
//PDFファイル内の指定された場所にカスタムサイズのテンプレートを描画する
doc2.getPages().get(0).getCanvas().drawTemplate(template, new Point2D.Float(100,200), new Dimension(400,280) );
//結果文書を保存する
doc2.saveToFile("AddSVGtoPDF.pdf", FileFormat.PDF);
doc1.close();
doc2.close();
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。