チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.PDF for .NET»変換»C#:画像を PDF に変換する方法
2024-04-12

C#:画像を PDF に変換する方法

画像は、さまざまなデバイスで簡単に共有できるデバイスフレンドリーなファイル形式です。しかし、状況によっては、画像の代わりに PDF のようなより専門的なフォーマットが必要になります。この記事では、C# と VB.NET で Spire.PDF for .NET を使って画像を PDF に変換する方法を説明します。

Spire.PDF は、画像を PDF に変換する簡単な方法を提供していません。しかし、新しい PDF ドキュメントを作成し、特定のページの指定された位置に画像を描画することはできます。画像と同じページサイズで PDF を生成するかどうかによって、このトピックは以下の2つのサブトピックに分けることができます。

Spire.PDF for .NET をインストールします

まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.PDF

C# で指定した位置に画像を PDF に追加する

以下は、Spire.PDF for .NET を使用して、新しい PDF ドキュメントの一部として画像を追加する手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.PageSettings.SetMargins() メソッドを使用してページの余白を設定します。
  • PdfDocument.Pages.Add() メソッドを使用してページを追加します。
  • Image.FromFile() メソッドを使用して画像を読み込み、画像の幅と高さを取得します。
  • 画像の幅がページ(コンテンツ領域)の幅より大きい場合は、画像をリサイズしてページの幅に合わせます。
  • 拡大縮小された画像または元の画像に基づいて PdfImage オブジェクトを作成します。
  • PdfPageBase.Canvas.DrawImage() メソッドを使用して、PdfImage オブジェクトを最初のページの (0, 0) に描画します。
  • PdfDocument.SaveToFile() メソッドを使用してドキュメントを保存します。
  • C#
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;

namespace AddImageToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocumentオブジェクトを作成します
            PdfDocument pdf = new PdfDocument();

            // 余白を設定します
            pdf.PageSettings.SetMargins(20);

            // ページを追加します
            PdfPageBase page = pdf.Pages.Add();

            // 画像を読み込みます
            Image image = Image.FromFile("サンプル.jpg");

            // 画像の幅と高さを取得します
            float width = image.PhysicalDimension.Width;
            float height = image.PhysicalDimension.Height;

            // PdfImage変数を宣言します
            PdfImage pdfImage;

            // もし画像の幅がページの幅よりも大きい場合
            if (width > page.Canvas.ClientSize.Width)
            {
                // 画像をページの幅に合わせてリサイズします
                float widthFitRate = width / page.Canvas.ClientSize.Width;
                Size size = new Size((int)(width / widthFitRate), (int)(height / widthFitRate));
                Bitmap scaledImage = new Bitmap(image, size);

                // リサイズした画像をPdfImageオブジェクトに読み込みます
                pdfImage = PdfImage.FromImage(scaledImage);
            }
            else
            {
                // オリジナルの画像をPdfImageオブジェクトに読み込みます
                pdfImage = PdfImage.FromImage(image);
            }

            // 画像を(0, 0)に描画します
            page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);

            // ファイルに保存します
            pdf.SaveToFile("画像をPDFに変換.pdf");
            pdf.Close();
        }
    }
}

C#:画像を PDF に変換する方法

C# で画像を同じ幅と高さで PDF に変換する

以下は、Spire.PDF for .NET を使用して、画像を画像と同じページ幅と高さで PDF に変換する手順です。

  • PdfDocument オブジェクトを作成します。
  • PdfDocument.PageSettings.SetMargins() メソッドを使用して、ページの余白をゼロに設定します。
  • Image.FromFile() メソッドを使用して画像を読み込み、画像の幅と高さを取得します。
  • PdfDocument.Pages.Add() メソッドを使用して、画像のサイズに基づいて PDF にページを追加します。
  • 画像に基づいて PdfImage オブジェクトを作成します。
  • PdfPageBase.Canvas.DrawImage() メソッドを使用して、座標 (0, 0) から最初のページに PdfImage オブジェクトを描画します。
  • PdfDocument.SaveToFile() メソッドを使用してドキュメントを保存します。
  • C#
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;

namespace ConvertImageToPdfWithSameSize
{
    class Program
    {
        static void Main(string[] args)
        {
            // PdfDocument オブジェクトを作成します
            PdfDocument doc = new PdfDocument();

            // 余白を0に設定します
            doc.PageSettings.SetMargins(0);

            // 画像を読み込みます
            Image image = Image.FromFile("サンプル.jpg");

            // 画像の幅と高さを取得します
            float width = image.PhysicalDimension.Width;
            float height = image.PhysicalDimension.Height;

            // 画像と同じサイズのページを追加します
            PdfPageBase page = doc.Pages.Add(new SizeF(width, height));

            // 画像を基に PdfImage オブジェクトを作成します
            PdfImage pdfImage = PdfImage.FromImage(image);

            // ページの (0, 0) に画像を描画します
            page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);

            // ファイルに保存します
            doc.SaveToFile("画像をPDFに変換.pdf");
        }
    }
}

C#:画像を PDF に変換する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 323 times