Java を使用して PNG を PDF に変換する

Java を使用して PNG を PDF に変換する

PNGPDF は、現時点で最も普及しており、最も広く使用されているファイル形式です。 PNG は画像ファイル形式ですが、PDF(Portable Document Format) は信頼性の高い効率的なデータ表現を提供します。一部のシナリオでは、画像ファイル形式を PDF に変換する必要があります。したがって、このブログ投稿では、Java PDF API を使用して PNG を PDF に変換する方法を学習します。 Java アプリケーションでこの変換を実行するためのコード スニペットと手順を記述します。

この記事では、次のトピックについて説明します。

Java PDF ライブラリ

この Java PDF ライブラリ は簡単にインストールでき、インストール に関するドキュメントを提供します。これは、堅牢な変換および操作機能を提供するエンタープライズ レベルの API です。ただし、JAR を ダウンロード するか、次の Maven 構成を使用してインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Java を使用して PNG を PDF に変換する

この Java PDF ライブラリによって公開されているクラスとメソッドを使用します。 Java で数行のソース コードを記述するだけで、PNG から PDF への変換を実行できます。

以下の手順とコード スニペットに従ってください。

  1. Document クラスのインスタンスをインスタンス化します。
  2. DocumentBuilder クラスのオブジェクトを作成して、コンテンツをドキュメントに簡単に追加できるようにします。
  3. createImageInputStream メソッドを呼び出して入力画像ファイルを読み込み、ImageInputStream のオブジェクトに割り当てます。
  4. getImageReaders メソッドを呼び出して、現在登録されているすべての ImageReader を含む Iterator を返し、それを ImageReader クラスのオブジェクトに割り当てます。
  5. 指定された ImageInputStream に使用する入力ソースを設定する setInput メソッドを呼び出します。
  6. getNumImages メソッドを呼び出して、画像のフレーム数を取得します。
  7. すべてのフレームをループします。
  8. アクティブなフレームを選択し、BufferedImage クラスのオブジェクトに割り当てます。
  9. getPageSetup メソッドを呼び出して現在のページ設定にアクセスし、PageSetup クラスのオブジェクトに割り当てます。
  10. setPageWidth メソッドを呼び出して、ページの高さを設定します。
  11. setPageHeight メソッドを呼び出して、ページの幅を設定します。
  12. insertImage メソッドを呼び出して、ドキュメントに画像を挿入し、ページの左上隅に配置します。
  13. save メソッドを呼び出して、ファイルを PDF ファイル形式で保存します。
public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {

    // Document クラスのインスタンスをインスタンス化する  
    Document doc = new Document();
    // ドキュメントへのコンテンツの追加を簡単にするために、DocumentBuilder クラスのオブジェクトを作成します。  
    DocumentBuilder builder = new DocumentBuilder(doc);

    // 適切なリーダーを使用して、ディスクからイメージを読み込みます。
    // 読み込むことができるファイル形式は、マシンで使用できるイメージ リーダーによって異なります。
    // createImageInputStream メソッドを呼び出して入力画像ファイルを読み込み、ImageInputStream のオブジェクトに割り当てます。
    ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
    // 現在登録されているすべての ImageReader を含む Iterator を返す getImageReaders メソッドを呼び出し、それを ImageReader クラスのオブジェクトに割り当てます。
    ImageReader reader = ImageIO.getImageReaders(iis).next();
    // 指定された ImageInputStream または他のオブジェクトに使用する入力ソースを設定する setInput メソッドを呼び出します。 
    reader.setInput(iis, false);

    // getNumImages メソッドを呼び出して、画像内のフレーム数を取得します  
    int framesCount = reader.getNumImages(true);

    // すべてのフレームをループします。
    for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
        // 複数フレームの画像の場合は、新しいページの前にセクション区切りを挿入します。
        if (frameIdx != 0)
            builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);

        // アクティブなフレームを選択し、BufferedImage クラスのオブジェクトに割り当てます 
        BufferedImage image = reader.read(frameIdx);

        // ページのサイズを画像のサイズと同じにする必要があります。
	      // ピクセルをポイントに変換して、ページのサイズを実際の画像サイズに合わせます。
	      // getPageSetup メソッドを呼び出して現在のページ設定にアクセスし、それを PageSetup クラスのオブジェクトに割り当てます   
        PageSetup ps = builder.getPageSetup();
        // setPageWidth メソッドを呼び出して、ページの高さを設定します 
        ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
        // setPageHeight メソッドを呼び出して、ページの幅を設定します 
        ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));

        // ドキュメントに画像を挿入し、insertImage メソッドを呼び出してページの左上隅に配置します。
        builder.insertImage(
                image,
                RelativeHorizontalPosition.PAGE,
                0,
                RelativeVerticalPosition.PAGE,
                0,
                ps.getPageWidth(),
                ps.getPageHeight(),
                WrapType.NONE);
    }

    if (iis != null) {
        iis.close();
        reader.dispose();
    }
    // save メソッドを呼び出して、ファイルを PDF ファイル形式で保存します。
    doc.save(outputFileName);
}

以下の画像で出力を確認できます。

PNG から PDF への変換

PNG から PDF への変換

無料ライセンスを取得する

無料の一時ライセンス を取得して、評価制限を超えて API を試すことができます。

まとめ

ここでこのブログ投稿を終了できます。 Java プログラムで Java を使用して PNG を PDF に変換する Java PDF ライブラリの実装を示しました。このライブラリを使用すると、数行のコードを使用して PNG から PDF へのコンバーターを作成できます。さらに、この PNG から PDF への変換 API の ドキュメント にアクセスすることもできます。 conholdate.com は新しい興味深いトピックについて継続的に書いています。そのため、常に最新のアップデートを入手してください。

質問する

フォーラムで質問やクエリをお知らせください。

よくある質問

PNG を PDF に変換する方法を教えてください。

この ライブラリ を使用して、プログラムで Java で PNG を PDF に変換できます。その使用法に関する包括的なドキュメントを提供します。

品質を落とさずに PNG を PDF として保存するにはどうすればよいですか?

Java ライブラリを使用して PNG を PDF ファイルとして保存する方法については、この セクション を参照してください。 save メソッドを呼び出して、PNG ファイルを PDF ファイルとして保存できます。

関連項目