画像(JPG、PNG)をPDFファイルに変換することで、画像をよりよく保存し、共有することができます。また、PDFファイルには強力なセキュリティ機能があり、画像をPDFに変換した後、ファイルの内容が漏れないようにパスワードを設定することができます。この記事では、無料のライブラリを使用してC#でJPG/PNG画像をPDF文書に変換する方法を紹介します。
画像からPDFへの変換のための無料の.NETライブラリ
サードパーティライブラリFree Spire.PDF for .NETを使用して変換を完了することができますが、無料のライブラリには特定のページ制限があることに注意してください。
開始する前に、以下のリンクから製品パッケージをダウンロードし、手動で参照を追加するか、NuGet経由で直接インストールすることができます。
C#で単一の画像をPDF文書に変換する
画像をPDFに変換するためにFree Spire.PDF for .NETが提供する方法は、読み込んだ画像をPDFページ上に描画することです。主な手順は以下の通りです:
- PDFドキュメントを作成し、その余白を0に設定します。
-
Image.FromFile()
メソッドを使用して画像を読み込み、その幅と高さを取得します。 -
PdfDocument.Pages.Add()
メ ソ ッ ド を使っ て、 画像 と 同 じ サ イ ズの PDF ページ を追加 し ます。 - 画像に基づいて
PdfImage
オブジェクトを作成します。 -
PdfPageBase.Canvas.DrawImage()
メソッドを使用して、PDFページ上にPdfImageオブジェクトを描画します。 -
PdfDocument.SaveToFile()
メソッドを使用して、生成されたPDF文書を保存します。
C#コード:
uing System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
namespace ConvertImageToPdfWithSameSize
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
// ページマージンを0に設定
pdf.PageSettings.SetMargins(0);
// 画像を読み込む
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\work.jpg");
// 画像の幅と高さを取得する
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// PdfImageオブジェクトの作成
PdfImage pdfImage = PdfImage.FromFile(@"C:\Users\Administrator\Desktop\work.jpg");
// 画像と同じサイズのPDFページを追加する
PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
// ページに画像を描く
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
// PDFを保存
pdf.SaveToFile("ImageToPdf.pdf");
}
}
}
C#で複数の画像をPDF文書に変換
Free Spire.PDF for .NET はフォルダから PDF 文書の異なるページに複数の画像を描画することもできます。主な手順は以下の通りです:
- PDF文書を作成し、その余白を0に設定する。
- 画像が格納されているフォルダを取得します。
- フ ォルダ内の各画像フ ァ イ ルを イ テ レー ト し て、 各画像の幅 と 高 さ を取得 し ます。
-
PdfDocument.Pages.Add()
メ ソ ッ ド を使っ て、 画像 と 同 じ サ イ ズの PDF ページ を PDF 文書内に追加 し ます。 -
PdfPageBase.Canvas.DrawImage()
メ ソ ッ ド を使っ て、 各画像をページ上に描 き ます。 -
PdfDocument.SaveToFile()
メソッドを使用して、生成された PDF 文書を保存します。
C#コード:
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.IO;
namespace ConvertMultipleImagesIntoPdf
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//ページマージンを0に設定
pdf.PageSettings.SetMargins(0);
//画像が保存されているフォルダを取得
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Img");
// フォルダ内の画像を反復処理する
foreach (FileInfo file in folder.GetFiles())
{
// 画像を読み込む
Image image = Image.FromFile(file.FullName);
// 画像の幅と高さを取得する
float width = image.PhysicalDimension.Width;
float height = image.PhysicalDimension.Height;
// 画像と同じサイズのPDFページを追加する
PdfPageBase page = pdf.Pages.Add(new SizeF(width, height));
// PdfImageオブジェクトの作成
PdfImage pdfImage = PdfImage.FromFile(file.FullName);
// ページに画像を描く
page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
}
// PDFを保存
pdf.SaveToFile("MultiImagesToPdf.pdf");
pdf.Dispose();
}
}
}
その他のPDF文書操作を.NETプログラムで実装する必要がある場合、例えば、作成、読み込み、画像追加、表追加など、以下のリンクから関連するチュートリアルを見ることができます: