圖像到 PDF 的轉換是文件處理應用程序的一個重要且有用的場景。在本文中,我們將學習使用 C# 或 VB.NET 將 JPG、PNG、TIFF、EMF、WMF 和 BMP 圖像轉換為 PDF。以下是安裝步驟和一些可能的圖像轉換用例:

C# Image to PDF Converter API - 安裝

我們將使用 Aspose.PDF for .NET API 將這些圖像格式轉換為 PDF。您可以從 Releases 部分下載它,也可以使用以下命令通過 NuGet Gallery 下載它:

Install-Package Aspose.Pdf -Version 20.9.0

至此API已經安裝成功。讓我們繼續探索不同的用例:

使用 C# 將 JPG 轉換為 PDF

您可以通過以下步驟輕鬆地將 JPG 圖像轉換為 PDF:

  1. 初始化文檔類的對象
  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 圖像與傳統的 JPEG、PNG 或其他格式的不同之處在於,TIFF 圖像可以包含具有不同圖像的多個幀。還支持 Aspose.PDF 文件格式,無論是單幀還是多幀 TIFF 圖像。因此,您可以在 .NET 應用程序中將 TIFF 圖像轉換為 PDF。因此,我們將考慮通過以下步驟將多頁 TIFF 圖像轉換為多頁 PDF 文檔的示例:

  1. 實例化 Document 類的實例
  2. 加載輸入 TIFF 圖像
  3. 獲取幀的 FrameDimension
  4. 為每一幀添加新頁面
  5. 最後,將圖像保存到PDF頁面

此外,以下代碼片段顯示瞭如何使用 C# 將多頁或多幀 TIFF 圖像轉換為 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 的渲染。此外,如果您仍有任何疑問或問題,請通過 免費支持論壇 與我們聯繫。

也可以看看

使用 C# .NET 將 AI 轉換為 PNG、JPG、PSD 和 PDF 文件在 C# 中將圖像轉換為 DOC在 C# 中將圖像轉換為 DOCX
在 C# .NET 中將 JPG 轉換為 DOC在 C# .NET 中將 JPG 轉換為 DOCX在 C# .NET 中將 PNG 轉換為 DOC
在 C# .NET 中將 PNG 轉換為 DOCX用Python將PPT轉換為JPG在 Python 中將 SVG 轉換為 PNG
在 Python 中為 PPT 幻燈片創建縮略圖在 Java 中調整圖像對比度、亮度和 Gamma在 C# 中調整圖像對比度、亮度和 Gamma
在 C# 中將 JPG 圖像轉換為 PNG在 Java 中將 JPG 圖像轉換為 PNG在 C# 中將 PNG 圖像轉換為 JPG
在 Java 中將 PNG 圖像轉換為 JPG在 Python 中將文字轉換為圖像在 C# 中從 Word 文檔中提取圖像
用 Java 從 Word 文檔中提取圖像用 Python 從 Word 文檔中提取圖像在 C# 中調整圖像大小
在 Java 中調整圖像大小在 C# 中旋轉和翻轉圖像在 Java 中旋轉和翻轉圖像