画像からPDFへの変換は、ファイル処理アプリケーションにとって重要で便利なシナリオです。この記事では、JPG、PNG、TIFF、EMF、WMF、およびBMP画像をC#またはVB.NETを使用してPDF変換に変換する方法を学習します。以下は、インストール手順と、イメージを変換するためのいくつかの可能な使用例です。

C#Image to PDFConverterAPI-インストール

Aspose.PDF for .NET APIを使用して、これらの画像形式からPDFへの変換を実行します。 リリースセクションからダウンロードするか、NuGetギャラリーから次のコマンドを使用してダウンロードできます。

Install-Package Aspose.Pdf -Version 20.9.0

これで、APIは正常にインストールされました。次に、さまざまなユースケースについて説明します。

C#でJPGをPDFに変換する

次の手順で、JPG画像をPDFに簡単に変換できます。

  1. Documentクラスのオブジェクトを初期化します
  2. PDFドキュメントに新しいページを追加する
  3. JPG画像をロードし、段落に追加します
  4. 出力PDFを保存

以下のコードスニペットは、C#を使用してJPG画像をPDFに変換する方法を示しています。

// 入力JPGファイルをロードします
String path = dataDir + "Aspose.jpg";

// 新しいPDFドキュメントを初期化します
Document doc = new Document();

// 空のドキュメントに空のページを追加する
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// ページに画像を追加する
page.Paragraphs.Add(image);

// 出力PDFファイルを保存
doc.Save(dataDir + "ImagetoPDF.pdf");

以下は、JPGからPDFへの変換のスクリーンショットです。

PDFへの画像

ただし、このスクリーンショットでは、画像がPDFページに変換されていることがわかりますが、デフォルトのページサイズと余白が出力PDFドキュメントに適用されています。 Aspose.PDF for .NET APIを使用すると、ページのサイズと余白を制御して、画像のサイズとまったく同じサイズのPDFを作成できます。この機能の調査に進みましょう。

同じページの高さと幅で画像をPDFに変換

上記のスクリーンショットでページサイズが大きくなっていることに気付くと、上記のユースケースからこの例を続けます。ページの高さと幅が同じである画像をPDFに変換する方法を学びましょう。画像のサイズを取得し、それに応じて次の手順でPDFドキュメントのページのサイズを設定します。

  1. 入力画像ファイルをロードする
  2. 画像の高さと幅を取得します
  3. ページの高さ、幅、余白を設定する
  4. 出力PDFファイルを保存します

次のコードスニペットは、C#を使用して同じページの高さと幅で画像をPDFに変換する方法を示しています。

// 入力JPG画像ファイルをロードします
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// 入力画像の高さを読み取る
int h = srcImage.Height;

// 入力画像の高さを読み取る
int w = srcImage.Width;

// 新しいPDFドキュメントを初期化します
Document doc = new Document();

// 空のページを追加する
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// ページのサイズと余白を設定する
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// 出力PDFファイルを保存
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

したがって、更新されたコードスニペットで作成されたページのサイズの違いに気付くことができます。

最後に、入力画像のサイズに応じてページサイズがまったく同じであり、デフォルトのページ余白が設定されていないことがわかります。

C#を使用してPNGをPDFに変換する

PNG画像形式は、JPG画像と比較してその機能のために人気があります。たとえば、PNG画像は透明度をサポートしています。まず、以下の手順でPNGをPDFに変換しましょう。

  1. 入力PNG画像を読み込む
  2. 高さと幅の値を読み取る
  3. 新しいドキュメントを作成し、ページを追加します
  4. ページサイズを設定する
  5. 出力ファイルを保存する

さらに、以下のコードスニペットは、.NETアプリケーションでC#を使用してPNGをPDFに変換する方法を示しています。

// 入力PNGファイルをロード
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

// 新しいドキュメントを初期化する
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// ページサイズを設定する
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// 出力PDFを保存
doc.Save(dataDir + "ImagetoPDF.pdf");

C#を使用してTIFFをPDFに変換する

TIFF画像は、TIFF画像に異なる画像の複数のフレームを含めることができるという点で、従来のJPEG、PNG、またはその他の形式とは異なります。 Aspose.PDFファイル形式もサポートされています。シングルフレームまたはマルチフレームのTIFF画像です。したがって、.NETアプリケーションでTIFF画像をPDFに変換できます。したがって、以下の手順で、複数ページのTIFF画像を複数ページのPDFドキュメントに変換する例を検討します。

  1. Documentクラスのインスタンスをインスタンス化します
  2. 入力TIFF画像を読み込む
  3. フレームのFrameDimensionを取得します
  4. フレームごとに新しいページを追加する
  5. 最後に、画像をPDFページに保存します

さらに、次のコードスニペットは、マルチページまたはマルチフレームのTIFF画像をC#でPDFに変換する方法を示しています。

// 新しいドキュメントを初期化する
Document pdf = new Document();

//TIFF画像をストリームにロードします
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// マルチページまたはマルチフレームTIFFをPDFに変換
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);

// 各フレームを繰り返します
for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
{
    Page sec = pdf.Pages.Add();

    myimage.SelectActiveFrame(dimension, frameIdx);

    MemoryStream currentImage = new MemoryStream();
    myimage.Save(currentImage, ImageFormat.Tiff);

    Aspose.Pdf.Image imageht = new Aspose.Pdf.Image();
    imageht.ImageStream = currentImage;
    sec.Paragraphs.Add(imageht);
}

// 出力PDFファイルを保存
pdf.Save(dataDir + "TifftoPDF.pdf");

C#を使用してEMF画像をPDFに変換する

EMFイメージは、拡張メタファイル形式とも呼ばれ、実際にはデバイスに依存しないイメージです。さらに、以下の手順を使用してEMFをPDF画像に変換できます。

  1. まず、Documentクラスオブジェクトを初期化します
  2. EMF画像ファイルをロードする
  3. ロードされたEMF画像をページに追加します
  4. PDFドキュメントを保存

さらに、次のコードスニペットは、.NETコードスニペットでC#を使用してEMFをPDFに変換する方法を示しています。

// 新しいPDFドキュメントを初期化します
var doc = new Document();

// 入力EMF画像ファイルのパスを指定します
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add(); 
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);

// ページサイズのプロパティを指定する
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);

//出力PDFドキュメントを保存
doc.Save(dataDir + "EMFtoPDF.pdf");

C#でBMPをPDFに変換する

BMP画像は、Aspose.PDF for .NET APIを使用してPDFに変換できるビットマップ画像です。したがって、次の手順に従ってBMPイメージを変換できます。

  1. 新しいドキュメントを初期化する
  2. 入力BMP画像を読み込む
  3. 最後に、出力PDFファイルを保存します

したがって、次のコードスニペットはこれらの手順に従い、C#を使用してBMPをPDFに変換する方法を示しています。

Initialize empty PDF document
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // サンプルBMP画像ファイルをロードします
    image.File = dataDir + @"Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // 出力PDFドキュメントを保存
    pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}

結論

結局のところ、C#を使用してさまざまな側面から画像からPDFへの変換を検討してきました。 JPG、PNG、TIFF、EMF、BMPからPDFへの変換など、さまざまな変換について詳しく説明しました。さらに、ページサイズと余白を設定しながら、画像をPDFレンダリングに改善する方法を学びました。また、ご不明な点がございましたら、無料サポートフォーラムまでお問い合わせください。

関連項目