C#の画像からPDFを作成する

場合によっては、スキャンしたドキュメントページや請求書からPDFを生成するなど、一連の画像に基づいてPDFを作成する必要があります。このようなシナリオでは、この記事では、C#を使用してプログラムで画像からPDFを作成する方法について説明します。

画像からPDFを作成するC#API

画像からPDFファイルを作成するには、Aspsoe.PDF for.NETを使用します。これは、.NETアプリケーション内からPDFファイルを作成、変更、および変換できる強力なPDFAPIです。 APIをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Pdf

画像からPDFファイルを作成する手順

以下は、Aspose.PDF for .NETを使用して画像からPDFを作成する手順です。

  • まず、新しいPDFドキュメントを作成します。
  • 配列内の画像ファイルの名前のリストを取得します。
  • リスト内の画像ごとに、次の手順を実行します。
    • PDFドキュメントに新しいページを追加し、そのプロパティを設定します。
    • リストから各画像ファイルをロードします。
    • ページの段落コレクションに画像を追加します。
  • 最後に、PDFドキュメントを保存します。

C#を使用して画像からPDFを作成する

以下は、画像からPDFを作成するためのAPIリファレンスと一緒の手順です。

  • Documentクラスのインスタンスを作成します。
  • Directory.GetFiles(string)メソッドを使用して、配列内の画像ファイルの名前のリストを取得します。
  • リスト内の画像ファイルごとに、次の手順を実行します。
    • Document.Pages.Add()メソッドを使用してPDFドキュメントに新しいPageを追加し、ページのプロパティを設定します。
    • 画像ファイルをFileStreamオブジェクトにロードします。
    • Page.Paragraphs.Add(Image)メソッドを使用して、新しいImageをページに追加します。
    • Image.ImageStreamプロパティを使用して画像のストリームを設定します。
  • 最後に、Document.Save(String)メソッドを使用してPDFドキュメントを保存します。

次のコードサンプルは、画像からPDFを作成する方法を示しています。

// 新しいドキュメントを作成する
Document doc = new Document();

// フォルダ内の画像ファイルにアクセスします
string[] fileList = Directory.GetFiles(@"D:/images/");

foreach (String file in fileList)
{
    // ドキュメントのページコレクションにページを追加する
    var page = doc.Pages.Add();

    // 画像をストリームにロード
    FileStream imageStream = new FileStream(file, FileMode.Open);

    // 画像が収まるように余白を設定します。
    page.PageInfo.Margin.Bottom = 0;
    page.PageInfo.Margin.Top = 0;
    page.PageInfo.Margin.Left = 0;
    page.PageInfo.Margin.Right = 0;
    page.CropBox = new Rectangle(0, 0, 400, 400);

    // 画像オブジェクトを作成する
    Image image1 = new Image();

    // セクションの段落コレクションに画像を追加します
    page.Paragraphs.Add(image1);

    // 画像ファイルストリームを設定する
    image1.ImageStream = imageStream;
}

// 結果のPDFファイルを保存します
doc.Save("document.pdf");

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

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

結論

この記事では、C#を使用して画像からPDFファイルを作成する方法を学習しました。ステップバイステップガイドとコードサンプルは、フォルダ内の各画像をPDFファイル内のページに挿入する方法を示しています。 ドキュメントを使用して、Aspose.PDF for .NETの詳細を調べることができます。ご不明な点がございましたら、フォーラムからお気軽にお問い合わせください。

関連項目