.NET 帮助

.NET 中的 NuGet PDF 生成器(开发者教程)

Chipego
奇佩戈-卡琳达
2023年四月19日
分享:

介绍

PDF 文档已成为数字生态系统的重要组成部分,是共享和展示信息的通用格式。 在软件开发领域,人们一直需要能够高效创建、修改和转换 PDF 文件的工具。 这就是 NuGet PDF 生成器的用武之地,为开发人员提供了一种便捷的方式来生成 PDF 文档并将 PDF 功能集成到他们的应用程序中。

IronPDF for .NET 就是这样一个功能强大的 .NET PDF 库,它以 NuGet 软件包的形式提供。 在本文中,我们将深入 NuGet 的世界,探索 IronPDF 库的功能,学习如何轻松创建和生成 PDF 文件。

什么是NuGet?

NuGet是微软开发平台(包括 .NET Framework 和 .NET Core)的软件包管理器。 它通过自动化软件包安装、版本管理和依赖关系跟踪,简化了将第三方库和工具纳入项目的过程。

NuGet 拥有超过 100,000 个软件包的庞大资源库,开发人员可以毫不费力地添加、更新和删除功能,而无需手动管理 DLL 或担心兼容性问题。 我们可以用它在 visual studio 中安装 NuGet 软件包。

IronPDF 库:功能强大的 .NET PDF 生成器

NuGet PDF Generator in .NET(开发人员教程):图 2 - IronPDF for .NET

IronPDF for .NET 是一个功能强大、用途广泛的 .NET 库,使开发人员能够在其应用程序中创建、修改和转换 PDF 文档。 可作为软件包IronPDF for .NET 简化了 PDF 操作,使其成为开发人员处理 .NET Framework 和 .NET Core 项目的宝贵工具。

IronPDF 的主要功能包括从零开始创建新的 PDF 文档、将 HTML 内容转换为 PDF 文件、修改现有 PDF 文件以及提供高质量的渲染和排版。 该库简化了从现有 HTML 页面生成 PDF 的过程。 它可以使用 HTML 字符串、HTML 文件或 URL 创建 PDF 文件。

NuGet PDF Generator in .NET(开发人员教程):图 3 - 跨平台支持

HTML 转换为 PDF

IronPDF's 具有以下转换能力将 HTML 内容转化为 PDF 文档. 这使开发人员能够从现有的 HTML 页面创建 PDF 文件,或从用户生成的内容动态生成 PDF 文件。 以下是如何将 HTML 文件转换为 PDF 文档的示例:

using IronPdf;

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

// Create a PDF from a 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 a 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 a HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("Hello World")

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

NuGet PDF Generator in .NET(开发人员教程):图 4 - 输出 PDF

PDF 文档的 URL

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

NuGet PDF Generator in .NET(开发人员教程):图 5 - 应用于 PDF 文档的水印

本示例项目演示了如何从 URL 创建 PDF 文档,为每一页添加水印,并将修改后的文档保存为新文件。

IronPDF 的高级 PDF 功能

除了前面讨论的基本 PDF 文件创建操作外,IronPDF 还提供高级功能,可进一步增强您的 PDF 文档生成和管理能力。 这些功能包括

合并 PDF 文档: IronPDF 使您能够将多个 PDF 文件合并为单一文件这样就可以轻松编译和组织相关内容。

using IronPdf;

var html_a = @" [PDF_A] 
         [PDF_A] 1st Page 

         [PDF_A] 2nd Page";

var html_b = @" [PDF_B] 
         [PDF_B] 1st Page 

         [PDF_B] 2nd Page";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

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

var html_a = @" [PDF_A] 
         [PDF_A] 1st Page 

         [PDF_A] 2nd Page";

var html_b = @" [PDF_B] 
         [PDF_B] 1st Page 

         [PDF_B] 2nd Page";

var renderer = new ChromePdfRenderer();

var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

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

Private html_a = " [PDF_A] 
         [PDF_A] 1st Page 

         [PDF_A] 2nd Page"

Private html_b = " [PDF_B] 
         [PDF_B] 1st Page 

         [PDF_B] 2nd Page"

Private renderer = New ChromePdfRenderer()

Private pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Private pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Private merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

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

PDF 表单: IronPDF 支持创建和管理 PDF 表单。操作 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 = @"

        Editable PDF  Form

            First name:   
            Last name:   

            Please specify your gender:

            Female 

            Male 

            Non-Binary / Other

            Please select all medical conditions that apply:

            Hypertension

            Heart Disease

            Stoke

            Diabetes

            Kidney Disease
";

// 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
IronPdf.Forms.FormField 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 = @"

        Editable PDF  Form

            First name:   
            Last name:   

            Please specify your gender:

            Female 

            Male 

            Non-Binary / Other

            Please select all medical conditions that apply:

            Hypertension

            Heart Disease

            Stoke

            Diabetes

            Kidney Disease
";

// 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
IronPdf.Forms.FormField 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 = "

        Editable PDF  Form

            First name:   
            Last name:   

            Please specify your gender:

            Female 

            Male 

            Non-Binary / Other

            Please select all medical conditions that apply:

            Hypertension

            Heart Disease

            Stoke

            Diabetes

            Kidney Disease
"

' 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 As IronPdf.Forms.FormField = 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 需求提供强大的解决方案。

结论

IronPDF 库在 NuGet 上提供,是一个功能强大、用途广泛的 .NET PDF 库,可简化在应用程序中创建、修改和转换 PDF 文件的过程。 通过利用其广泛的功能,如生成新的 PDF 文档、将 HTML 转换为 PDF 以及修改现有的 PDF 文件,开发人员可以将 PDF 功能无缝集成到他们的 .NET Framework 和 .NET Core 项目中。 有了 IronPDF,生成和管理 PDF 文档变得前所未有的简单。

IronPDF 提供一个免费试用其库此外,翻译还必须让开发人员在做出购买决定前试用软件的特性和功能。 如果开发人员决定在试用期后购买许可证,许可证的起始价格为 $749。 价格可能因许可证类型和使用软件的开发人员数量而异。 IronPdf 还为大宗采购提供批量折扣。

Chipego
软件工程师
Chipego 拥有出色的倾听技巧,这帮助他理解客户问题并提供智能解决方案。他在 2023 年加入 Iron Software 团队,此前他获得了信息技术学士学位。IronPDF 和 IronOCR 是 Chipego 主要专注的两个产品,但他对所有产品的了解每天都在增长,因为他不断找到支持客户的新方法。他喜欢 Iron Software 的合作氛围,公司各地的团队成员贡献他们丰富的经验,以提供有效的创新解决方案。当 Chipego 离开办公桌时,你经常可以发现他在看书或踢足球。
< 前一页
NuGet HTML 转 PDF(开发者教程)
下一步 >
什么是.NET Framework 4.7.2(推荐库)