フッターコンテンツにスキップ
IRONPDFの使用

C#で画像をPDFに変換する方法 [コード例チュートリアル]

IronPDF は、ImageToPdf メソッドを通じて C# で画像を PDF に変換するためのシンプルで無料のソリューションを提供します。これにより、開発者はわずか数行のコードとカスタマイズ可能なページ設定で 1 つまたは複数の画像を変換できます。

多数のライブラリがC#開発者に画像をPDFに変換する機能を提供しています。 無料でユーザーフレンドリーかつ高性能なライブラリを見つけるのは難しいことがあります。一部は有料、複雑、または機能が制限されています。 これらのライブラリの中で、IronPDFは無料で効率的、かつ実装が簡単なC#ライブラリとして際立っています。 包括的なドキュメントと専用のサポートが付属しています。

IronPDFは、.NETプロジェクト内でPDFファイルを生成、読み取り、編集、および保存するため for .NETライブラリです。 IronPDF は、CSS3 および JS を含む完全な HTMLから PDF へのサポートを備えた、 .NET 5、Core、Standard、Framework 用の HTML から PDF への機能を備えています。 このライブラリはChrome レンダリング エンジンを活用して、さまざまなソースからピクセルパーフェクトな PDF を生成します。

画像を PDF に変換する方法を学ぶために、サンプル プロジェクトを作成する方法を見てみましょう。 このチュートリアルでは、インストール プロセス、基本的な画像変換、複数の画像やさまざまな形式を処理するための高度な機能について説明します。

Visual Studio プロジェクトを作成するにはどうすればよいですか?

新しいプロジェクトを作成するには、Microsoft Visual Studioを開きます。 Visual Studio の最新バージョンを使用することをお勧めします。 新しいプロジェクトを作成する手順はバージョンによって異なる場合がありますが、それ以外の部分はすべてのバージョンで同じである必要があります。

  1. Create New Projectをクリックします。
  2. プロジェクトテンプレートを選択し、このデモンストレーション用にコンソールアプリケーションテンプレートを選択します。 ASP.NET CoreBlazorアプリケーションなど、要件に応じて任意のテンプレートを使用できます。
  3. 次へをクリックします。 プロジェクトに名前を付けます (例: "ImageToPDFConverter")。
  4. 次へをクリックして、.NETフレームワークバージョンを選択します。
  5. Createボタンをクリックします。

以下のように新しいプロジェクトが作成されます。 プロジェクト構造には、画像変換コードを記述する Program.cs ファイルが含まれます。

テンプレートの選択と構成オプションが表示されている Visual Studio の新しいコンソール アプリケーション プロジェクト作成画面 Visual Studioで新しいコンソールアプリケーションを作成する

ど for .NET Frameworkバージョンを選択すればよいですか?

IronPDF は、 .NET Framework 4.6.2+、. .NET Core 3.1+、. .NET 5/6/7/8+ など、幅広い.NETバージョンをサポートしています。 新しいプロジェクトでは、最適なパフォーマンスとセキュリティ更新のために、 .NETの最新の LTS (長期サポート) バージョンを使用することをお勧めします。 このライブラリは、 WindowsLinuxmacOSプラットフォームでもシームレスに動作します。

次に、プロジェクトにIronPDF NuGetパッケージをインストールしてその機能を使用します。 IronPDFの優れた点は、独自の API に依存しないため、PDF ドキュメント生成の煩わしさが軽減されることです。HTMLから PDF へのレンダリング機能は、HTML、JS、CSS、JPG、PNG、GIF、SVG といったオープンスタンダードなドキュメント形式から、ピクセルパーフェクトな PDF をレンダリングします。 要するに、開発者がすでに持っているスキルを活用します。

IronPDF NuGetパッケージをインストールするにはどうすればよいですか?

NuGetパッケージをインストールするには、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソールに移動します。 次のウィンドウが表示されます:

 NuGetパッケージ管理用のコマンド ライン インターフェイスが表示されている Visual Studio のパッケージ マネージャー コンソール インターフェイス パッケージマネージャーコンソールUI

次に、パッケージマネージャーコンソールで次のコマンドを書きます:

Install-Package IronPdf

エンターキーを押します。 インストール プロセスでは、必要なChrome レンダリング エンジン コンポーネントを含むIronPDFとその依存関係がダウンロードされます。

 IronPDFパッケージのインストールが成功したことをバージョン情報と依存関係とともに表示するパッケージ マネージャー コンソール パッケージマネージャーコンソールでIronPdfパッケージをインストールします

代替のインストール方法は何ですか?

IronPDF は、次の方法でもインストールできます。

  • NuGetパッケージ マネージャー UI : プロジェクトを右クリックし、" NuGetパッケージの管理"を選択し、"IronPDF"を検索して"インストール"をクリックします。 -パッケージ参照: .csproj ファイルに <PackageReference Include="IronPdf" Version="*" /> を追加します -直接ダウンロード: IronPDFのWebサイトからDLLをダウンロードし、手動で参照します。 -コマンドライン: ターミナルでdotnet add package IronPdfを使用します

Azure デプロイメントの場合、追加の構成が必要になる場合があります。 同様に、 Docker 環境には特定のセットアップ手順が必要です。

画像ファイルを PDF ドキュメントに変換するにはどうすればよいですか?

次のステップでは、次の画像をPDFに変換する方法を示します。 IronPDF は、ImageToPdf コンバーター機能を使用してこのプロセスを簡単にします。

どのような画像形式がサポートされていますか?

IronPDF は、PDF 変換用のさまざまな画像形式をサポートしています。

  • JPEG/JPG : 写真で最も一般的な形式
  • PNG : 透明な画像に最適
  • GIF : アニメーションGIFを含む(最初のフレームを使用)
  • BMP : Windows ビットマップ形式
  • TIFF :複数ページのTIFFファイルを含む
  • SVG : スケーラブルベクターグラフィック
  • WebP : 最新のウェブ画像フォーマット

枝に止まったカラフルな鳥を示すサンプル鳥画像。PDF 変換時の画質を実証しています。 サンプル画像

ライブラリを使用するには、program.cs ファイルでIronPDFライブラリを参照します。ファイルの先頭に次のコードスニペットを記述します。

using IronPdf;
using IronPdf.Imaging;
using System.Linq;
using IronPdf;
using IronPdf.Imaging;
using System.Linq;
$vbLabelText   $csharpLabel

次に、メイン関数内に次のコードを書いてください。 これにより、JPG ファイルが PDF ファイルに変換されます。

public static void Main(string[] args)
{
    // Convert a single image to the PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage);

    // Optional: Set document properties
    doc.MetaData.Author = "IronPDF Tutorial";
    doc.MetaData.Title = "Image to PDF Conversion";
    doc.MetaData.Subject = "Converting JPG to PDF";

    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf");

    Console.WriteLine("PDF created successfully!");
}
public static void Main(string[] args)
{
    // Convert a single image to the PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(@"D:\Iron Software\ImageToPDF\bird.jpg", IronPdf.Imaging.ImageBehavior.CropPage);

    // Optional: Set document properties
    doc.MetaData.Author = "IronPDF Tutorial";
    doc.MetaData.Title = "Image to PDF Conversion";
    doc.MetaData.Subject = "Converting JPG to PDF";

    // Save the resulting PDF to the specified path
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\bird.pdf");

    Console.WriteLine("PDF created successfully!");
}
$vbLabelText   $csharpLabel

ImageBehavior は出力にどのような影響を与えますか?

上記のコード例では、 IronPDFが提供する ImageToPdfConverter クラスが画像変換に使用されています。 ImageToPdf メソッドを使用して、画像から PDF ドキュメントを作成できます。 入力として、画像ファイルと System.Drawing オブジェクトの両方を受け入れます。

静的メソッド ImageToPdf は、単一の画像ファイルを、寸法が一致する同一の PDF ドキュメントに変換します。 それは2つの引数を取ります:画像のパスと画像の動作(画像の用紙上での表示方法)。 ImageBehavior 列挙型にはいくつかのオプションがあります。

  • CropPage : PDF ページ サイズを画像の寸法に合わせて設定します
  • CenteredOnPage : 画像をサイズ変更せずにページの中央に配置します
  • FitToPage : ページの余白に収まるように画像を拡大縮小します
  • FitToPageAndMaintainAspectRatio : アスペクト比を維持しながら拡大縮小します

Imaging.ImageBehavior.CropPage は、用紙サイズを画像サイズと同じに設定します。デフォルトのページサイズはA4です。次のコードで設定できます。

ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
ImageToPdfConverter.PaperSize = IronPdf.Rendering.PdfPaperSize.Letter;
$vbLabelText   $csharpLabel

特定の要件に合わせてカスタム ページ サイズを設定することもできます。

// Set custom page size in millimeters
ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297);
// Set custom page size in millimeters
ImageToPdfConverter.PaperSize = new IronPdf.Rendering.PdfPaperSize(210, 297);
$vbLabelText   $csharpLabel

どのような用紙サイズのオプションが利用できますか?

複数のページサイズオプションが提供されており、必要に応じて設定することができます。 IronPDF はすべての標準用紙サイズをサポートしています。

  • A シリーズ: A0、A1、A2、A3、A4 (デフォルト)、A5、A6、A7、A8、A9、A10
  • Bシリーズ:B0からB10
  • USサイズ:レター、リーガル、レジャー、タブロイド、エグゼクティブ -その他:フールスキャップ、クラウン、デミー、ロイヤルなど

PDF のページの向き(縦または横) やカスタム余白を設定することもできます。

複数の画像を PDF ファイルに変換するにはどうすればよいですか?

以下の例では、JPG画像を新しいドキュメントに変換します。 これは、フォトアルバムやカタログを作成したり、スキャンしたドキュメントを結合したりする場合に特に便利です。

public static void Main(string[] args)
{
    // Enumerate and filter JPG files from the specified directory
    var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
                                        .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));

    // Sort files alphabetically (optional)
    var sortedImageFiles = imageFiles.OrderBy(f => f);

    // Convert the images to a PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles);

    // Add page numbers to each page
    for (int i = 0; i < doc.PageCount; i++)
    {
        doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", 
                         FontFamily.Arial, 
                         fontSize: 10,
                         y: 25);
    }

    // Save the combined PDF
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf");

    Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!");
}
public static void Main(string[] args)
{
    // Enumerate and filter JPG files from the specified directory
    var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
                                        .Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));

    // Sort files alphabetically (optional)
    var sortedImageFiles = imageFiles.OrderBy(f => f);

    // Convert the images to a PDF document
    PdfDocument doc = ImageToPdfConverter.ImageToPdf(sortedImageFiles);

    // Add page numbers to each page
    for (int i = 0; i < doc.PageCount; i++)
    {
        doc.AddTextFooter($"Page {i + 1} of {doc.PageCount}", 
                         FontFamily.Arial, 
                         fontSize: 10,
                         y: 25);
    }

    // Save the combined PDF
    doc.SaveAs(@"D:\Iron Software\ImageToPDF\JpgToPDF.pdf");

    Console.WriteLine($"Combined {doc.PageCount} images into a single PDF!");
}
$vbLabelText   $csharpLabel

さまざまな画像形式をフィルタリングするにはどうすればよいですか?

上記のコードでは、System.IO.Directory.EnumerateFiles は指定されたフォルダー内にあるすべてのファイルを取得します。 Where 句は、そのフォルダーからすべての JPG イメージをフィルターし、imageFiles コレクションに保存します。 PNG またはその他の画像形式がある場合は、それを Where クエリに追加するだけです。

// Filter multiple image formats
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || 
                f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase));
// Filter multiple image formats
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || 
                f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".png", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase) ||
                f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase));
$vbLabelText   $csharpLabel

拡張機能の配列を使用して、より簡潔なアプローチを使用することもできます。

string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" };
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase)));
string[] imageExtensions = { ".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tiff" };
var imageFiles = System.IO.Directory.EnumerateFiles(@"D:\Iron Software\ImageToPDF\")
    .Where(f => imageExtensions.Any(ext => f.EndsWith(ext, StringComparison.OrdinalIgnoreCase)));
$vbLabelText   $csharpLabel

PDF 内で画像はどのような順序で表示されますか?

デフォルトでは、画像はファイル システムによって返される順序で表示されますが、アルファベット順ではない場合があります。 順序を制御するには、ファイルを並べ替えることができます。

-アルファベット順: imageFiles.OrderBy(f => f) -作成日別: imageFiles.OrderBy(f => new FileInfo(f).CreationTime) -ファイルサイズ別: imageFiles.OrderBy(f => new FileInfo(f).Length) -カスタム順序:カスタム比較関数を使用する

次の行はすべての画像を取り出して、1つのPDFドキュメントに結合します。 各画像は PDF 内で個別のページになります。

PDF ファイルを印刷するにはどうすればいいですか?

次のコード スニペットは、IronPDF の印刷機能を使用してドキュメントを印刷します。

// Print using default printer
doc.Print();

// Print silently (without print dialog)
doc.Print(showPreview: false);

// Print to a specific printer
var printerName = "Microsoft Print to PDF";
doc.Print(printerName);
// Print using default printer
doc.Print();

// Print silently (without print dialog)
doc.Print(showPreview: false);

// Print to a specific printer
var printerName = "Microsoft Print to PDF";
doc.Print(printerName);
$vbLabelText   $csharpLabel

プリンターの設定を指定できますか?

PdfDocument クラスによって提供される Print メソッドは、デフォルトのプリンタを使用してドキュメントを印刷します。 また、プリンター名やその他の設定を変更するオプションも提供しています。 高度な印刷オプションについては、以下をご覧ください。

// Advanced printing with settings
using System.Drawing.Printing;

var printDocument = doc.GetPrintDocument();
printDocument.PrinterSettings.PrinterName = "Your Printer Name";
printDocument.PrinterSettings.Copies = 2;
printDocument.PrinterSettings.Collate = true;
printDocument.PrinterSettings.PrintRange = PrintRange.SomePages;
printDocument.PrinterSettings.FromPage = 1;
printDocument.PrinterSettings.ToPage = 3;

printDocument.Print();
// Advanced printing with settings
using System.Drawing.Printing;

var printDocument = doc.GetPrintDocument();
printDocument.PrinterSettings.PrinterName = "Your Printer Name";
printDocument.PrinterSettings.Copies = 2;
printDocument.PrinterSettings.Collate = true;
printDocument.PrinterSettings.PrintRange = PrintRange.SomePages;
printDocument.PrinterSettings.FromPage = 1;
printDocument.PrinterSettings.ToPage = 3;

printDocument.Print();
$vbLabelText   $csharpLabel

ドキュメントの印刷の詳細については、こちらのPDF 印刷例をご覧ください。 エンタープライズ環境向けのネットワーク印刷オプションを検討することもできます。

重要なポイントは何ですか?

このチュートリアルでは、コード例を使用して、シングルイメージをPDFに変換するか、複数の画像を1つのPDFファイルに結合して変換する非常に簡単な方法を示しました。さらに、1行のコードでドキュメントを印刷する方法も説明しました。

主なポイント:

  • NuGetパッケージ マネージャー経由でIronPDFをインストールする
  • カスタム動作で単一の画像をPDFに変換する
  • 複数の画像を1つのPDFに一括変換
  • ページのサイズ、向き、余白を制御する
  • PDFにメタデータとページ番号を追加する
  • オプションを使用してプログラムでPDFを印刷する

さらに、 IronPDFの重要な機能には次のようなものがあります。

IronPDFについてさらに詳しく知るにはどこに行けばいいですか?

IronPDFには複数の便利な機能が提供されています。 以下のリソースをご覧ください:

具体的な使用例については、以下をご覧ください。

IronPDF の料金はいくらですか?

IronPDFはIron Softwareスイートの一部です。 Iron Suite には、Excel 操作用のIronXL 、バーコード生成用のIronBarcode 、テキスト認識用のIronOCR 、Web データ抽出用のIronWebscraperなどの追加の便利な製品が含まれています。 Iron Suiteを購入することで最大250%節約できます。現在、5つの製品を2つの価格で手に入れることができます。 詳細については、ライセンスの詳細ページをご覧ください。

IronPDFは次のものを提供します:

  • テスト用の無料開発ライセンス -プロフェッショナルライセンスは749ドルから -ロイヤリティフリーの再配布オプション
  • SaaSおよびOEMライセンスが利用可能
  • 30日間返金保証
  • 1年間の無料サポートとアップデート

試用ライセンスでIronPDF を30 日間無料でお試しいただくか、チーム向けのライセンス オプションをご確認ください。

よくある質問

画像をC#でPDFに変換するにはどうすればよいですか?

IronPDFのImageToPdfメソッドを使用して画像をC#でPDFに変換できます。このメソッドでは、画像のパスと希望のPDF出力設定を指定できます。

複数の画像を単一のPDFファイルに変換することはできますか?

はい、IronPDFを使用すると、ImageToPdfメソッドを使用して、複数の画像を単一のPDFファイルに変換できます。そこで画像ファイルのコレクションを提供します。

どの画像フォーマットがPDFへの変換に対応していますか?

IronPDFはJPG、PNG、GIF、SVGなどのさまざまな画像フォーマットのPDFドキュメントへの変換をサポートしています。

画像をPDFに変換する際にページサイズをどのように設定しますか?

変換中にページサイズを設定するには、ImageToPdfConverterクラス内のPaperSizeプロパティを使用して、レターやA4などの標準サイズを選択します。

IronPDFで作成したPDFドキュメントを印刷することは可能ですか?

はい、IronPDFにはPdfDocumentクラス内にPrintメソッドが含まれており、デフォルトまたは指定されたプリンタ設定を使用してPDFドキュメントを印刷できます。

QuestPDFはプライベートプロジェクト向けにコミュニティライセンスを提供し、商用ライセンスも利用可能です。

IronPDFは、URLからのPDF生成、PDFの暗号化および復号化、PDFファイルのマージ、PDFフォームの作成と編集などの機能を提供します。

Visual StudioプロジェクトにIronPDFをインストールするにはどうすればよいですか?

Visual StudioプロジェクトにIronPDFをインストールするには、パッケージマネージャコンソールを開いてコマンドInstall-Package IronPDFを実行します。

PDF生成にIronPDFを使用する利点は何ですか?

IronPDFは、プロプライエタリAPIに依存せずにPDF生成のための簡単で効率的でよく文書化されたAPIを提供します。また、プロフェッショナルなサポートを提供し、さまざまなPDFタスクを効果的に処理します。

IronPDF は .NET 10 と互換性がありますか? また、.NET 10 プロジェクトで画像から PDF への変換に IronPDF を使用するにはどうすればよいですか?

はい。IronPDFは.NET 10と完全に互換性があり、.NET 10プロジェクトで画像をPDFに変換する機能をすぐにサポートします。使用するには、.NET 10プロジェクトにIronPDF NuGetパッケージをインストールし、 ImageToPdfConverter.ImageToPdf("path/to/image.png")などのメソッドを呼び出して単一の画像を変換するか、IEnumerable型の画像パスを渡して複数の画像を変換します。また、 ImageBehaviorなどのオプションやChromePdfRenderOptionsでレンダリングオプションを指定してカスタマイズすることもできます。これは以前 for .NETバージョンと同様に機能します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me