画像は、さまざまなデバイスで簡単に共有できるデバイスフレンドリーなファイル形式です。しかし、状況によっては、画像の代わりに PDF のようなより専門的なフォーマットが必要になります。この記事では、C# と VB.NET で Spire.PDF for .NET を使って画像を PDF に変換する方法を説明します。 Spire.PDF は、画像を PDF に変換する簡単な方法を提供していません。しかし、新しい PDF ドキュメントを作成し、特定のページの指定された位置に画像を描画することはできます。画像と同じページサイズで PDF を生成するかどうかによって、このトピックは以下の2つのサブトピックに分けることができます。 C# で指定した位置に画像を PDF に追加する C# で画像を同じ幅と高さで PDF に変換する 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 に変換する 以下は、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"); } } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。