跳至頁尾內容
開發者更新

NuGet PDF 生成器在 .NET 中(開發者教程)

PDF文件已成為數位生態系統中的重要部分,是共享和展示資訊的通用格式。 在軟體開發世界中,始終需要可以有效建立、修改和轉換PDF文件的工具。 這就是NuGet PDF生成器的用武之地,為開發者提供了一種輕鬆生成PDF文件並將PDF功能整合到其應用程式中的方式。

其中一個強大的.NET PDF程式庫是IronPDF,這是一個NuGet套件。 在本文中,我們將深入探討NuGet的世界,探索IronPDF程式庫的功能,並學習如何輕鬆建立和生成PDF文件。

什麼是NuGet?

NuGet是微軟開發平台的套件管理器,包括.NET Framework和.NET Core。 它通過自動化套件安裝、版本管理和依賴跟蹤,簡化了將第三方程式庫和工具整合到您的專案中的過程。

擁有超過100,000個套件的龐大資源庫,NuGet讓開發者可以毫不費力地新增、更新和移除功能,而無需手動管理DLL或擔心相容性問題。 我們可以在Visual Studio中使用它來安裝NuGet套件。

IronPDF程式庫:一個強大的.NET PDF生成器

.NET中的NuGet PDF生成器(開發者教程):圖2 - IronPDF for .NET

IronPDF是一個功能強大且多功能的.NET程式庫,讓開發者能夠在其應用程式中建立、修改和轉換PDF文件。 作為NuGet上的一個套件,IronPDF簡化了PDF操作,使其成為從事.NET Framework和.NET Core專案的開發者不可或缺的工具。

IronPDF的主要功能包括從零建立新的PDF文件、將HTML內容轉換為PDF文件、修改現有PDF文件以及提供高品質的渲染和排版。 該程式庫簡化了從現有HTML頁面生成PDF的過程。 它可以使用HTML字串、HTML文件或URL來建立PDF文件。

.NET中的NuGet PDF生成器(開發者教程):圖3 - 跨平台支援

HTML到PDF轉換

IronPDF具有將HTML內容轉換為PDF文件的能力。 這使得開發者可以從現有的HTML頁面建立PDF文件,或從使用者生成的內容動態生成PDF。 這是一個如何將HTML字串轉換為PDF文件的範例:

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("Hello World");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("Hello World");

// Export to a file or Stream
pdf.SaveAs("output.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Create a PDF from an HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("Hello World")

' Export to a file or Stream
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

.NET中的NuGet PDF生成器(開發者教程):圖4 - 輸出PDF

URL到PDF文件

IronPDF允許開發者直接將網頁轉換為PDF文件。 此功能對於需要從即時網頁生成PDF文件或將線上內容保存以供離線檢視、存檔或分享的情境特別有用。

利用IronPDF的HTML到PDF轉換能力,開發者只需幾行程式碼即可輕鬆將整個網頁(包括其文字、圖像和樣式)轉換為PDF文件。 以下是這個功能如何運作的簡要概述:

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Create a PDF from a URL or local file path
Private pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Export to a file or Stream
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

修改PDF文件

IronPDF還使得開發者能夠修改現有的PDF文件,使其可以輕鬆新增或移除內容、合併文件並應用安全設置。 這是一個如何為PDF文件新增水印的範例:

using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("SAMPLE", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("SAMPLE", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()

Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("SAMPLE", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

.NET中的NuGet PDF生成器(開發者教程):圖5 - 對PDF文件應用水印

這個範例專案示範了如何從URL建立PDF文件,為每頁新增水印,並將修改後的文件保存為新文件。

IronPDF的高級PDF功能

除了之前討論的基本PDF文件建立操作之外,IronPDF還提供了進階功能,可以進一步增強您的PDF文件生成和管理能力。 其中一些功能包括:

合併PDF文件: IronPDF允許您合併多個PDF文件為一個單一文件,使得編排和組織相關內容變得簡單。

using IronPdf;

var htmlA = @"<h1>[PDF_A]</h1><p>[PDF_A] 1st Page</p><p>[PDF_A] 2nd Page</p>";
var htmlB = @"<h1>[PDF_B]</h1><p>[PDF_B] 1st Page</p><p>[PDF_B] 2nd Page</p>";

var renderer = new ChromePdfRenderer();

var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);
var merged = PdfDocument.Merge(pdfDocA, pdfDocB);

merged.SaveAs("Merged.pdf");
using IronPdf;

var htmlA = @"<h1>[PDF_A]</h1><p>[PDF_A] 1st Page</p><p>[PDF_A] 2nd Page</p>";
var htmlB = @"<h1>[PDF_B]</h1><p>[PDF_B] 1st Page</p><p>[PDF_B] 2nd Page</p>";

var renderer = new ChromePdfRenderer();

var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);
var merged = PdfDocument.Merge(pdfDocA, pdfDocB);

merged.SaveAs("Merged.pdf");
Imports IronPdf

Private htmlA = "<h1>[PDF_A]</h1><p>[PDF_A] 1st Page</p><p>[PDF_A] 2nd Page</p>"
Private htmlB = "<h1>[PDF_B]</h1><p>[PDF_B] 1st Page</p><p>[PDF_B] 2nd Page</p>"

Private renderer = New ChromePdfRenderer()

Private pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Private pdfDocB = renderer.RenderHtmlAsPdf(htmlB)
Private merged = PdfDocument.Merge(pdfDocA, pdfDocB)

merged.SaveAs("Merged.pdf")
$vbLabelText   $csharpLabel

PDF表單: IronPDF支援建立和操控PDF表單,讓開發者能生成具有可填寫欄位的動態互動式PDF文件。

using IronPdf;
using System;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
// Radio Button and Checkbox can also be implemented with input type 'radio' and 'checkbox'
const string formHtml = @"
    <h1>Editable PDF Form</h1>
    <label>First name: <input type='text' name='firstname' /></label>
    <label>Last name: <input type='text' name='lastname' /></label>
    <p>Please specify your gender:</p>
    <label><input type='radio' name='gender' value='female' /> Female</label>
    <label><input type='radio' name='gender' value='male' /> Male</label>
    <label><input type='radio' name='gender' value='other' /> Non-Binary / Other</label>
    <p>Please select all medical conditions that apply:</p>
    <label><input type='checkbox' name='condition' value='hypertension' /> Hypertension</label>
    <label><input type='checkbox' name='condition' value='heartDisease' /> Heart Disease</label>
    <label><input type='checkbox' name='condition' value='stroke' /> Stroke</label>
    <label><input type='checkbox' name='condition' value='diabetes' /> Diabetes</label>
    <label><input type='checkbox' name='condition' value='kidneyDisease' /> Kidney Disease</label>
";

// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(formHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var formDocument = PdfDocument.FromFile("BasicForm.pdf");

// Set and Read the value of the "firstname" field
var firstNameField = formDocument.Form.FindFormField("firstname");
firstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", firstNameField.Value);

// Set and Read the value of the "lastname" field
var lastNameField = formDocument.Form.FindFormField("lastname");
lastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", lastNameField.Value);

formDocument.SaveAs("FilledForm.pdf");
using IronPdf;
using System;

// Step 1. Creating a PDF with editable forms from HTML using form and input tags
// Radio Button and Checkbox can also be implemented with input type 'radio' and 'checkbox'
const string formHtml = @"
    <h1>Editable PDF Form</h1>
    <label>First name: <input type='text' name='firstname' /></label>
    <label>Last name: <input type='text' name='lastname' /></label>
    <p>Please specify your gender:</p>
    <label><input type='radio' name='gender' value='female' /> Female</label>
    <label><input type='radio' name='gender' value='male' /> Male</label>
    <label><input type='radio' name='gender' value='other' /> Non-Binary / Other</label>
    <p>Please select all medical conditions that apply:</p>
    <label><input type='checkbox' name='condition' value='hypertension' /> Hypertension</label>
    <label><input type='checkbox' name='condition' value='heartDisease' /> Heart Disease</label>
    <label><input type='checkbox' name='condition' value='stroke' /> Stroke</label>
    <label><input type='checkbox' name='condition' value='diabetes' /> Diabetes</label>
    <label><input type='checkbox' name='condition' value='kidneyDisease' /> Kidney Disease</label>
";

// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(formHtml).SaveAs("BasicForm.pdf");

// Step 2. Reading and Writing PDF form values.
var formDocument = PdfDocument.FromFile("BasicForm.pdf");

// Set and Read the value of the "firstname" field
var firstNameField = formDocument.Form.FindFormField("firstname");
firstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", firstNameField.Value);

// Set and Read the value of the "lastname" field
var lastNameField = formDocument.Form.FindFormField("lastname");
lastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", lastNameField.Value);

formDocument.SaveAs("FilledForm.pdf");
Imports IronPdf
Imports System

' Step 1. Creating a PDF with editable forms from HTML using form and input tags
' Radio Button and Checkbox can also be implemented with input type 'radio' and 'checkbox'
Private Const formHtml As String = "
    <h1>Editable PDF Form</h1>
    <label>First name: <input type='text' name='firstname' /></label>
    <label>Last name: <input type='text' name='lastname' /></label>
    <p>Please specify your gender:</p>
    <label><input type='radio' name='gender' value='female' /> Female</label>
    <label><input type='radio' name='gender' value='male' /> Male</label>
    <label><input type='radio' name='gender' value='other' /> Non-Binary / Other</label>
    <p>Please select all medical conditions that apply:</p>
    <label><input type='checkbox' name='condition' value='hypertension' /> Hypertension</label>
    <label><input type='checkbox' name='condition' value='heartDisease' /> Heart Disease</label>
    <label><input type='checkbox' name='condition' value='stroke' /> Stroke</label>
    <label><input type='checkbox' name='condition' value='diabetes' /> Diabetes</label>
    <label><input type='checkbox' name='condition' value='kidneyDisease' /> Kidney Disease</label>
"

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(formHtml).SaveAs("BasicForm.pdf")

' Step 2. Reading and Writing PDF form values.
Dim formDocument = PdfDocument.FromFile("BasicForm.pdf")

' Set and Read the value of the "firstname" field
Dim firstNameField = formDocument.Form.FindFormField("firstname")
firstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", firstNameField.Value)

' Set and Read the value of the "lastname" field
Dim lastNameField = formDocument.Form.FindFormField("lastname")
lastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", lastNameField.Value)

formDocument.SaveAs("FilledForm.pdf")
$vbLabelText   $csharpLabel

PDF安全性: IronPDF提供了保護您的PDF文件的選項,包括密碼保護和加密。

using IronPdf;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf");

//Edit file security settings

//The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;

//Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SaveAs("secured.pdf");
using IronPdf;

// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf");

//Edit file security settings

//The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;

//Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf")

'Edit file security settings

'The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False

'Change or set the document encryption password
pdf.SecuritySettings.OwnerPassword = "top-secret" ' password to edit the pdf
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

IronPDF的高級功能使其成為需要在.NET應用程式中全面PDF功能的開發者的寶貴工具。 從合併文件和管理表單到保護內容和自訂渲染,IronPDF都提供了強大的解決方案來滿足您的所有PDF需求。

結論

在NuGet上可獲的IronPDF程式庫是一個功能強大且多功能的.NET PDF程式庫,簡化了應用程式中建立、修改和轉換PDF文件的過程。 通過利用其廣泛的功能,如生成新的PDF文件、將HTML轉換為PDF以及修改現有的PDF文件,開發者可以無縫地將PDF功能整合到他們的.NET Framework和.NET Core專案中。 有了IronPDF,生成和管理PDF文件變得前所未有的簡單。

IronPDF提供了其程式庫的免費試用,允許開發者在做出購買決定之前試用該軟體的功能和特性。 如果開發者在試用期結束後決定購買授權,授權的起始價格為$999。 價格可能會根據授權型別及使用該軟體的開發者數量而有所不同。 IronPDF還為大批量採購提供批量折扣。

常見問題

我如何使用 NuGet 套件生成 PDF 文件?

您可以使用 IronPDF 生成 PDF 文件,這是一個可在 NuGet 上獲取的 .NET 程式庫。它允許開發者輕鬆地從 HTML 內容、URL 或現有 PDF 文件建立 PDF。

using NuGet 套件進行 PDF 生成有什麼優勢?

使用像 IronPDF 這樣的 NuGet 套件簡化了整合過程,透過管理依賴性並確保您擁有最新的更新。它使 PDF 生成功能的納入 .NET 應用程式更為高效。

我如何在 C# 中將 HTML 字串轉換為 PDF?

您可以使用 IronPDF 在 C# 中將 HTML 字串轉換為 PDF。使用 ChromePdfRenderer 類來輕鬆地將 HTML 內容渲染為 PDF 文件。

我可以使用 NuGet 套件修改現有的 PDF 文件嗎?

是的,使用 IronPDF 您可以修改現有的 PDF 文件。該程式庫提供了編輯文字、新增圖片以及插入額外頁面的功能。

我如何將多個 PDF 合併為一個文件?

IronPDF 允許您使用 Merge 方法將多個 PDF 文件合併到一個文件中,這樣更便於有組織的內容。

是否可以使用 NuGet 套件對 PDF 進行加密保護?

是的,IronPDF 使您能夠對 PDF 文件進行加密和密碼保護,確保您的文件是安全的,只有授權使用者可以存取。

在 .NET 中使用 PDF 生成器時,有哪些常見的故障排除提示?

在 .NET 中故障排除 PDF 生成器如 IronPDF 時,請確保透過 NuGet 正確安裝所有依賴性。檢查正在轉換的 HTML 內容是否有錯誤,並驗證程式庫版本是否為最新。

我可以使用 .NET 程式庫建立可填寫的 PDF 表單嗎?

是的,IronPDF 提供了建立和管理可填寫 PDF 表單的功能,允許使用者與您的 PDF 互動並輸入資料。

如何將 URL 轉換為 PDF 文件?

using IronPDF,您可以使用 RenderUrlAsPdf 方法將 URL 轉換為 PDF,該方法捕獲網頁內容並保存為 PDF 檔案。

NuGet 在 .NET 開發中扮演什麼角色?

NuGet 是一個套件管理器,其便於在 .NET 專案中安裝和管理像 IronPDF 的第三方程式庫,自動化依賴管理和版本控制。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話