QuestPDF 為 PDF 新增頁碼的替代方案 VS IronPDF(範例)
可攜式文件格式 (PDF)是一種通用的文件格式,可確保文件在所有平台和裝置上的呈現方式保持一致。 其固定的佈局使其成為共享文件、合約、發票等的首選格式。 PDF 文件在企業界是正式文件不可或缺的工具。 隨著對 PDF 生成和處理的需求不斷增長,出現了許多庫,簡化了開發人員的工作流程。
在本文中,我們將探討如何使用 C# 中的QuestPDF為 PDF 新增頁碼,同時也將 QuestPDF 與IronPDF進行比較,以協助您決定哪個程式庫更適合您的專案需求。
IronPDF是什麼?
IronPDF是一個功能豐富的庫,專為 .NET 生態系統而構建,旨在有效地處理 PDF 的創建、操作和渲染任務。 它利用基於 Chromium 的引擎,將 HTML、CSS 和 JavaScript 精確轉換為 PDF 文件。 對於需要將 HTML 內容直接轉換為 PDF 格式,同時保留原始佈局和樣式的 Web 開發人員來說,這是一個絕佳的選擇。
透過 IronPDF,您可以輕鬆地將 PDF 功能整合到您的 .NET 應用程式中,包括建立自訂頁首和頁尾、向 PDF 新增頁面、嵌入影像和表格,以及執行進階 PDF 操作,例如合併或分割文件。 該庫支援多種格式,並提供廣泛的自訂選項,使其成為從動態 Web 內容生成專業級 PDF 的理想選擇。
IronPDF 的主要特點:
- 允許您直接從 C# 程式碼產生 PDF 。
- 將網頁、 HTML和 JavaScript 轉換為高品質的 PDF。
- 提供新增自訂元素(如頁首、頁尾和浮水印)的選項。
- 支援合併、拆分和編輯現有 PDF 文件。
- 與 .NET 應用程式無縫協作,包括 ASP.NET 和 MVC 框架。
若要深入了解 IronPDF 的功能和更進階的範例,請參閱此處的官方文件。
安裝 IronPDF
若要將 IronPDF 新增至您的專案中,請使用 Visual Studio 中的 NuGet 套件管理器。 您可以使用視覺化命令列介面,也可以直接在 NuGet 套件管理器中搜尋。
命令列安裝:
Install-Package IronPdf
或者,您可以在 NuGet 套件管理器中搜尋"IronPDF"並進行安裝。
QuestPDF是什麼?
QuestPDF 是一個現代化的 .NET 程式庫,專為產生 PDF 文件而設計。 它專注於為開發人員提供一個靈活高效的工具,用於從 C# 建立 PDF。 QuestPDF 允許使用聲明式風格以直觀流暢的方式設計文件。
QuestPDF 注重簡潔性、速度和效能,是產生動態報告和文件的絕佳選擇。 該庫還支援高級佈局功能、自訂樣式和易於使用的模板。
QuestPDF 功能
- 易於使用的 API,用於建立複雜的 PDF 文件。
- 支援靈活的佈局和文件結構,可設定預設頁面、列項等。
- 允許使用類似 CSS 的屬性輕鬆設定元素樣式。
- 提供圖像、預設文字樣式設定、表格、條碼、圖表、列、行、多種頁面類型等的支援。
- 非常適合建立報表、發票和資料驅動型文件。
更多詳情請參閱QuestPDF 文件。
安裝 QuestPDF
要開始使用 QuestPDF,請透過 NuGet 命令列安裝它:
Install-Package QuestPDF
或者,也可以透過 NuGet 套件管理器:
QuestPDF 新增 PDF 頁碼的替代方案與 IronPDF 比較(範例):圖 3
這將向您的專案中新增使用 QuestPDF 產生 PDF 所需的庫。
使用 IronPDF 新增頁碼
IronPDF 提供了一種簡單的方法來為 PDF 文件添加頁碼。 以下程式碼示範如何實現此功能:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// HTML content for the PDF
var html = "<h1>Hello World!</h1><p>This document was generated using IronPDF</p>";
// Set up the IronPDF renderer with header for page numbers
ChromePdfRenderer renderer = new ChromePdfRenderer
{
RenderingOptions =
{
HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
}
}
};
// Render the HTML as a PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// Save the PDF to a file
pdf.SaveAs("pageNumbers.pdf");
}
}using IronPdf;
class Program
{
static void Main(string[] args)
{
// HTML content for the PDF
var html = "<h1>Hello World!</h1><p>This document was generated using IronPDF</p>";
// Set up the IronPDF renderer with header for page numbers
ChromePdfRenderer renderer = new ChromePdfRenderer
{
RenderingOptions =
{
HtmlHeader = new HtmlHeaderFooter
{
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
}
}
};
// Render the HTML as a PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// Save the PDF to a file
pdf.SaveAs("pageNumbers.pdf");
}
}輸出
QuestPDF 新增 PDF 頁碼的替代方案與 IronPDF 比較(範例):圖 4
在這段程式碼中,我們為 PDF 文件建立了一個 HTML 標頭,其中{page}和{total-pages}代表目前頁碼和總頁數的動態佔位符。 RenderHtmlAsPdf方法將 HTML 轉換為 PDF。 此功能允許根據文件長度動態調整頁面。
如何使用 QuestPDF 新增頁碼
在 QuestPDF 中,新增頁碼的方法類似。 以下是使用 QuestPDF 新增頁碼的程式碼:
using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
class Program
{
static void Main(string[] args)
{
// Set the license type for QuestPDF
QuestPDF.Settings.License = LicenseType.Community;
// Create a PDF document using the QuestPDF fluent API
var document = Document.Create(container =>
{
// Define a page with content and a header with page numbers
container.Page(page =>
{
page.Content().Text("Hello, QuestPDF!");
// Add a centered header with page number and total pages
page.Header().AlignCenter().Text(text =>
{
text.Span("Page ");
text.CurrentPageNumber();
text.Span(" of ");
text.TotalPages();
});
});
});
// Generate and save the PDF document
document.GeneratePdf("QuestPdfOutput.pdf");
}
}using QuestPDF.Fluent;
using QuestPDF.Infrastructure;
class Program
{
static void Main(string[] args)
{
// Set the license type for QuestPDF
QuestPDF.Settings.License = LicenseType.Community;
// Create a PDF document using the QuestPDF fluent API
var document = Document.Create(container =>
{
// Define a page with content and a header with page numbers
container.Page(page =>
{
page.Content().Text("Hello, QuestPDF!");
// Add a centered header with page number and total pages
page.Header().AlignCenter().Text(text =>
{
text.Span("Page ");
text.CurrentPageNumber();
text.Span(" of ");
text.TotalPages();
});
});
});
// Generate and save the PDF document
document.GeneratePdf("QuestPdfOutput.pdf");
}
}QuestPDF 新增 PDF 頁碼的替代方案與 IronPDF 比較(範例):圖 5
這段 QuestPDF 程式碼定義了一個簡單的文檔,其頁首包含頁碼。 CurrentPageNumber()和TotalPages()方法用於動態產生相對於每一頁的頁碼。
結論
QuestPDF 新增 PDF 頁碼的替代方案與 IronPDF 比較(範例):圖 6
總之,IronPDF 和 QuestPDF 都為在 C# 中為 PDF 添加頁碼提供了有效的解決方案。 然而,IronPDF 提供了一種更精簡、更人性化的方法。 它的靈活性和易用性使其成為開發人員的理想選擇,他們只需付出最少的努力即可添加頁碼或操作現有 PDF 文件。
IronPDF 可供免費開發使用,讓開發人員在開發階段免費進行試驗並將其整合到專案中。 準備好投入生產後,這些許可選項即可提供商業許可。
選擇 IronPDF,開發人員即可獲得一款可靠且功能豐富的工具,該工具可簡化 PDF 的創建和編輯,包括插入頁碼,並且還享有持續維護和更新的額外好處。
有關 IronPDF 免費版本和商業許可的更多信息,請訪問IronPDF 官方網站。
常見問題解答
如何使用 C# 為 PDF 文件新增頁碼?
您可以使用 IronPDF 為 PDF 新增頁碼,方法是建立具有{page}和{total-pages}等佔位符的 HTML 頁首或頁尾。使用RenderHtmlAsPdf方法時,這些佔位符會動態更新以反映當前頁碼和總頁數。
IronPDF 和 QuestPDF 在 PDF 處理上有哪些主要差異?
IronPDF 功能豐富,採用基於 Chromium 的引擎,是需要精確佈局控制的 Web 開發人員的理想選擇。它支援將 HTML、CSS 和 JavaScript 程式碼轉換為 PDF 檔案。 QuestPDF 提供現代化的聲明式 API,注重簡潔性和效能,適合建立具有靈活佈局的動態報表。
如何在.NET專案中安裝PDF庫?
若要在 .NET 專案中安裝像 IronPDF 這樣的 PDF 程式庫,請使用 Visual Studio 中的 NuGet 套件管理器。您可以使用命令列命令Install-Package IronPdf進行安裝,也可以在 NuGet 套件管理器介面中找到它。
IronPDF 為 Web 開發人員提供了哪些優勢?
IronPDF 對 Web 開發人員來說非常有利,因為它能夠將 HTML、CSS 和 JavaScript 轉換為 PDF,並保持精確的佈局和樣式。它還支援新增自訂頁首、頁尾以及進階文件操作,例如合併和分割 PDF。
是否可以免費使用 IronPDF?
是的,IronPDF 在開發階段可以免費使用,開發者可以免費整合和測試其功能。但是,用於生產環境則需要商業許可。
在 C# 中使用 PDF 庫進行文件管理有哪些好處?
在 C# 中使用 IronPDF 等 PDF 庫可以簡化文件管理,因為它能夠輕鬆產生、編輯和轉換 PDF 文件。它提供了維護文件一致性的工具,並支援新增頁碼、自訂頁首和合併文件等高級功能。
我可以使用 IronPDF 自訂 PDF 的外觀嗎?
是的,IronPDF 允許使用 HTML 和 CSS 對 PDF 進行自訂樣式設定。您可以建立自訂頁首、頁尾和浮水印,確保 PDF 符合特定的設計要求。






