2
1

JavaでPDFをSVGに変換

Last updated at Posted at 2023-11-03

SVGとは「Scalable Vector Graphics( 拡大縮小可能なベクター画像)」を意味し、2ビットのベクター画像用に設計されたファイル形式です。ベクターグラフィックには、鮮明さを保ちながら自由に拡大縮小できるなど、多くの利点がある。SVG、PDFはすべてベクターグラフィックスのファイル形式である。 したがって、PDFがSVGに変換されたときに、その中の要素はほとんど失われません。 この記事では、JavaプログラムでPDFをSVGに変換する方法を紹介します。

この記事の変換方法では、無料のAPIであるFree Spire.PDF for Javaを使用する必要があります。Free Spire.PDF for Javaの公式ウェブサイトからダウンロードするか、または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.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

各PDFページをSVGファイルに変換

PDFファイルを直接saveToFileメソッドを使ってSVGファイルに変換すると、結果のファイルには1つのPDFページに対して1つのSVGファイルが存在することになります。例:

  1. PdfDocument オブジェクトを作成します。
  2. PdfDocument.loadFromFile() メソッドを用いて PDF 文書を読み込みます。
  3. PdfDocument.saveToFIle() メソッドでPDF文書をSVGファイルに変換して保存します。

コード
Java

import com.spire.pdf.*;

public class PDFToSVG {
    public static void main(String[] args) {
        // Document クラスのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        // ディスクから PDF ドキュメントをロードする
        pdf.loadFromFile("サンプル.pdf");

        // PDF ドキュメントを SVG ファイルに変換して保存する
        pdf.saveToFile("output/PDFToSVG.svg", FileFormat.SVG);
        pdf.close();
    }
}

オリジナルPDFファイル
JavaでPDFをSVGに変換

変換されたSVGファイル
各PDFページをSVGファイルに変換

各PDFページをSVGファイルに変換

すべてのPDFページを1つのSVGファイルに変換

PDF文書を単一のSVGファイルに変換するには、setOutputToOneSvgメソッドを使用して変換オプションを設定する必要があります。主なコードの手順を解説します:
PDFドキュメントを単一のSVGファイルに変換するには、変換前にsetOutputToOneSvgメソッドを使用して出力を設定する必要があります。手順は以下の通りです:

  1. PdfDocument オブジェクトを作成します。
  2. PdfDocument.loadFromFile() メソッドを使用してディスクからPDFドキュメントをロードします。
  3. PdfDocument.getConvertOptions().setOutputToOneSvg() メソッドを使用して変換オプションを単一のSVGファイルに設定します。
  4. PdfDocument.saveToFile() メソッドを使用してPDFドキュメントをSVGファイルに変換して保存します。

コード
Java

package com.example.spire;

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class Main {
    public static void main(String[] args) {
        // PdfDocumentクラスのオブジェクトを作成する
        PdfDocument pdf = new PdfDocument();

        // ディスクからPDFドキュメントをロードする
        pdf.loadFromFile("サンプル.pdf");

        // 変換オプションを設定してPDFを単一のSVGファイルに変換する
        pdf.getConvertOptions().setOutputToOneSvg(true);

        // PDFドキュメントをSVGファイルに変換して保存する
        pdf.saveToFile("output/PDFをSVGに変換.svg", FileFormat.SVG);
        pdf.close();
    }
}

変換されたSVGファイル
すべてのPDFページを1つのSVGファイルに変換

上記は、Free Spire.PDF for Javaを使用してPDFファイルをSVGファイルに変換する方法を説明します。このAPIは他にも多くの機能をサポートしています。詳しくはSpire.PDF for Javaチュートリアルをご覧ください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1