在不同的情況下,您可能需要基於一堆圖像創建 PDF,例如從掃描的文檔頁面或發票生成 PDF。對於此類情況,本文介紹瞭如何使用 C# 以編程方式從圖像創建 PDF。
用於從圖像創建 PDF 的 C# API
為了從圖像創建 PDF 文件,我們將使用 Aspose.PDF for .NET。它是一個功能強大的 PDF API,可讓您從 .NET 應用程序中創建、修改和轉換 PDF 文件。您可以 下載 API 或使用 NuGet 安裝它。
PM> Install-Package Aspose.Pdf
從圖像創建 PDF 文件的步驟
以下是使用 Aspose.PDF for .NET 從圖像創建 PDF 的步驟。
- 首先,創建一個新的 PDF 文檔。
- 獲取數組中圖像文件名稱的列表。
- 對於列表中的每個圖像,執行以下操作:
- 向 PDF 文檔添加新頁面並設置其屬性。
- 從列表中加載每個圖像文件。
- 將圖像添加到頁面的段落集合中。
- 最後,保存 PDF 文檔。
使用 C# 從圖像創建 PDF
以下是從圖像創建 PDF 的步驟以及 API 參考。
- 創建 Document 類的實例。
- 使用 Directory.GetFiles(string) 方法獲取數組中圖像文件名稱的列表。
- 對於列表中的每個圖像文件,執行以下操作:
- 使用 Document.Pages.Add() 方法向 PDF 文檔添加一個新的 Page 並設置頁面的屬性。
- 將圖像文件加載到 FileStream 對像中。
- 使用 Page.Paragraphs.Add(Image) 方法向頁面添加新的 Image。
- 使用 Image.ImageStream 屬性設置圖像流。
- 最後,使用 Document.Save(String) 方法保存 PDF 文檔。
以下代碼示例顯示瞭如何從圖像創建 PDF。
// 創建一個新文檔
Document doc = new Document();
// 訪問文件夾中的圖像文件
string[] fileList = Directory.GetFiles(@"D:/images/");
foreach (String file in fileList)
{
// 將頁面添加到文檔的頁面集合
var page = doc.Pages.Add();
// 將圖像加載到流中
FileStream imageStream = new FileStream(file, FileMode.Open);
// 設置邊距使圖像適合等。
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.CropBox = new Rectangle(0, 0, 400, 400);
// 創建圖像對象
Image image1 = new Image();
// 將圖像添加到該部分的段落集合中
page.Paragraphs.Add(image1);
// 設置圖像文件流
image1.ImageStream = imageStream;
}
// 保存生成的 PDF 文件
doc.Save("document.pdf");
獲取免費的 API 許可證
您可以通過 獲得免費的臨時許可證 來試用沒有評估限制的 API。
結論
在本文中,您學習瞭如何使用 C# 從圖像創建 PDF 文件。分步指南和代碼示例展示瞭如何將文件夾中的每個圖像插入到 PDF 文件的頁面中。您可以使用 文檔 探索更多關於 Aspose.PDF for .NET 的信息。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。