使用 C# 創建 PDF 文檔

最近幾天,PDF 文檔的自動生成和處理已成為一項要求很高的功能。在各種應用程序中,PDF 文檔是動態生成的,例如發票、收據和不同類型的報告。據此,本文介紹了 .NET 應用程序中 PDF 自動化的基本實現。最終,您將學習如何使用 C# 創建 PDF 文件。代碼示例將演示如何使用 C# 在 PDF 中插入文本、圖像、表格和其他組件。

C# .NET PDF API - 免費下載

Aspose.PDF for .NET 是一種 PDF 文件操作 API,可讓您從 .NET 應用程序中生成和處理 PDF 文件。使用 API,您可以動態生成各種報告和業務文檔。該 API 可作為 可下載的 DLL 使用,也可託管在 NuGet 上。

Install-Package Aspose.Pdf

在 C# 中創建 PDF 文件

讓我們從創建一個包含文本片段的簡單 PDF 文檔開始。以下是使用 C# 創建 PDF 文件的步驟。

以下代碼示例展示瞭如何使用 C# 創建一個簡單的 PDF 文件。

// 初始化文檔對象
Document document = new Document();

// 添加頁面
Page page = document.Pages.Add();

// 向新頁面添加文本
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// 保存PDF 
document.Save("document.pdf");

閱讀有關 創建複雜的 PDF 文檔 的更多信息。

在 C# 中編輯 PDF 文件

修改 PDF 文件與創建新文件一樣簡單。只需使用 Document 類加載文件,執行所需的操作,然後保存即可。以下是修改 PDF 的步驟。

  • 創建 Document 類的對象,並為其構造函數提供 PDF 文件的路徑。
  • 操縱文檔的頁面或內容。
  • 使用 Document.Save() 方法保存文檔。

以下代碼示例顯示瞭如何使用 C# 修改 PDF。

// 加載PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// 進行一些操作,例如添加新的空白頁面
pdfDocument.Pages.Add();

// 保存更新的 PDF
pdfDocument.Save(modifiedFileName);

使用 C# 在 PDF 中插入圖像

現在讓我們檢查如何將圖像插入 PDF 文檔。以下是執行此操作的步驟。

  • 創建一個 Document 類的對象來打開 PDF 文檔。
  • 使用 Page 類訪問要添加圖像的頁面。
  • 將圖像添加到頁面的 Resources 集合中。
  • 使用運算符將圖像放置在頁面上:
    • G保存 operator to save the current graphical state.
    • 連接矩陣 operator to specify where the image is to be placed.
    • operator to draw the image on the page.
    • 最後,使用 GRestore 運算符保存更新的圖形狀態。
  • 保存 PDF 文件。

以下代碼示例顯示瞭如何使用 C# 將圖像添加到 PDF 文檔。

// 打開文檔
Document pdfDocument = new Document("document.pdf");

// 設定坐標
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// 獲取需要添加圖片的頁面
Page page = pdfDocument.Pages[1];

// 將圖像加載到流中
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// 將圖像添加到頁面資源的圖像集合
page.Resources.Images.Add(imageStream);

// 使用 GSave 運算符:此運算符保存當前圖形狀態
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// 創建矩形和矩陣對象
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// 使用 ConcatenateMatrix(連接矩陣)運算符:定義必須如何放置圖像
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// 使用 Do 運算符:此運算符繪製圖像
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// 使用 GRestore 運算符:此運算符恢復圖形狀態
page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); 

// 保存更新的文檔
pdfDocument.Save("document.pdf");

閱讀有關 在 PDF 中插入圖像 的更多信息。

使用 C# 在 PDF 中創建表格

表格是文檔的重要組成部分,用於以行和列的形式組織數據。 Aspose.PDF for .NET 為您提供了一種在 PDF 文檔中創建和插入表格的非常簡單的方法。以下是執行此操作的步驟。

  • 使用 Document 類加載 PDF 文件。
  • 初始化一個表並使用 Table 類設置其列和行。
  • 設置表格的設置(即邊框)。
  • 通過使用 Table.Rows.Add() 方法創建行來填充表格。
  • 使用 Document.Pages1.Paragraphs.Add(Table) 方法將表格添加到頁面。
  • 保存 PDF 文件。

以下代碼示例顯示瞭如何使用 C# 在 PDF 文檔中創建和添加表格。

// 加載源 PDF 文檔
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// 初始化 Table 的新實例
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// 將表格邊框顏色設置為 LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// 設置表格單元格的邊框
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));

// 創建一個循環以添加 10 行
for (int row_count = 1; row_count < 10; row_count++)
{
    // 向表中添加行
    Aspose.Pdf.Row row = table.Rows.Add();
    // 添加表格單元格
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// 將表格對象添加到輸入文檔的第一頁
doc.Pages[1].Paragraphs.Add(table);

// 保存包含表格對象的更新文檔
doc.Save("document_with_table_out.pdf");

閱讀更多關於在 PDF 中創建表格

在 C# 中創建 PDF 格式的表單

PDF 中的表格用於收集讀者的數據。您可以在 PDF 表單中插入文本框、複選框、單選按鈕和其他支持的控件。 PDF格式支持兩種形式; Acro 表格和 XFA 表格(查看詳情)。以下是在 PDF 中創建和添加表單的步驟。

以下代碼示例顯示瞭如何使用 C# 向 PDF 文檔添加表單。

// 打開文檔
Document pdfDocument = new Document("document.pdf");

// 創建字段
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = 新邊框(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// 向文檔添加字段
pdfDocument.Form.Add(textBoxField, 1);

// 保存修改後的 PDF
pdfDocument.Save("output.pdf");

閱讀更多關於在 PDF 中創建表單

結論

在本文中,您學習瞭如何使用 C# 從頭開始創建 PDF 文件。此外,您已經知道如何以編程方式在 PDF 文檔中插入各種類型的組件,例如文本、圖像、表格和表單。您可以使用 文檔 了解有關 PDF API 的更多信息。

也可以看看

信息:Aspose 提供了一個免費的在線網絡應用程序,允許您在線查看 PDF,另一個允許您將 PDF 轉換為視頻,還有一個允許您在線編輯 PDF.