在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
大多数人使用专用的桌面应用程序在电脑上打开 PDF,但软件工程师也可以使用 IronPdf 以 C# 编程方式创建、查看、打开、阅读和编辑 PDF 内容。
当在 ASP.NET 和 C# 中阅读 PDF 文件时,IronPDF 变成了一个非常有用的插件。
您可以下载ASP.NET PDF 演示项目.
使用 IronPDF 可以用 C# 快速、轻松地创建 PDF 文档。
PDF 文档的大部分设计和布局可以通过使用现有的 HTML 资产或委托网页设计员工完成; 它可以处理将 PDF 生成集成到应用程序中这一耗时的任务,并自动将准备好的文档转换为 PDF。 使用 .NET,您可以
有两种方法可以安装该库;
IronPdf 可通过 Visual Studio 加载项或 NuGet 软件包管理器从命令行安装。导航到控制台,在 Visual Studio 中键入以下代码:
Install-Package IronPdf
您也可以直接从网站上获取 DLL。
切记在任何使用 IronPdf 的 cs
类文件顶部加入以下备注:
IronPDF 是必备插件。 立即获取使用 IronPDF NuGet 软件包试用.
在 C# 中从 HTML 字符串创建 PDF 文件是一种高效、有益的方法。
"(《世界人权宣言》)将Html渲染为Pdf函数的ChromePdfRenderer提供了一种将任何 HTML(HTML5)由于 IronPDF DLL 中嵌入了谷歌 Chromium 引擎,您可以将字符串转换成 PDF 文档。
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");
var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");
var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render HTML to pdf
Dim renderer = New ChromePdfRenderer()
Dim rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>")
Dim Output_Path = "My_First_Html.pdf"
PDF.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
RenderHtmlAsPdf "是一款功能强大的工具,支持 CSS、JavaScript 和图像。 如果这些材料存储在硬盘上,可能需要设置 RenderHtmlAsPdf
的第二个参数。
以下代码将生成 PDF 文件:
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
Dim Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", "C:\Newproject")
所有引用的 CSS 样式表、图片和 JavaScript 文件都将与 BaseUrlPath
相对,以便保持更有条理和逻辑的结构。 当然,如果您愿意,也可以使用图片、样式表和互联网上提供的资产,如 Web 字体、Google 字体甚至 jQuery。
利用现有的 HTML URL
现有的 URL 可以用 C# 以非常高效和直接的方式呈现为 PDF; 这也使团队能够将 PDF 设计和后端 PDF 渲染工作划分到不同的部门,这也是非常有益的。
下面的代码演示了如何通过其 URL 呈现 endeavorcreative.com 页面:
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");
var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");
var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render url to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/")
Dim Output_Path = "Url_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
因此,所有超链接(HTML 链接)甚至 HTML 表格都会保留在生成的 PDF 中。
本节介绍如何渲染任何本地 HTML 文件。对于 CSS、图片和 JavaScript 等所有相关资产,文件似乎是使用 file:/ 协议打开的。
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");
var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");
var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render existing html to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html")
Dim Output_Path = "test1_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
这种策略的优势在于,它允许开发人员在创建 HTML 内容时在浏览器中进行测试。 IronPdf 的渲染引擎基于 Chrome 浏览器。 因此,建议使用XML 至 PDF 转换如将 XML 内容打印为 PDF,可使用 XSLT 模板完成。
只需一行代码,您就可以将 ASP.NET 在线表单转换为 PDF 格式,而不是 HTML 格式。 将这行代码放在页面代码隐藏文件的 Page_Load
方法中,使其出现在页面上。
ASP.NET Web 表单应用程序既可以从头开始创建,也可以从以前的版本打开。
如果尚未安装 NuGet 软件包,请安装该软件包。
应使用 using 关键字导入 IronPdf 名称空间。
查看您要转换为 PDF 的页面背后的代码。 例如,文件 Default.aspx.cs 使用 ASP.NET
RenderThisPageAsPdf "是 "AspxToPdf "类的一个方法。
using IronPdf;
using System;
using System.Web.UI;
namespace WebApplication7
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
}
}
}
using IronPdf;
using System;
using System.Web.UI;
namespace WebApplication7
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
}
}
}
Imports IronPdf
Imports System
Imports System.Web.UI
Namespace WebApplication7
Partial Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
End Sub
End Class
End Namespace
这就要求IronPdf.Extensions.ASPX NuGet 软件包安装。 由于 ASPX 已被 MVC 模型取代,因此在 .NET Core 中无法使用。
对于内联网和网站开发人员来说,PDF 模板或 "批量生产 "PDF 的能力是标准的必需品。
IronPDF 库不是为 PDF 文档创建模板,而是通过利用现有的、久经考验的技术提供了一种生成 HTML 模板的方法。
如下图所示,在 HTML 模板中添加查询字符串或数据库中的数据后,就会动态生成 PDF 文件。
以 C# 字符串类及其属性为例。 格式方法适用于基本的 "邮件合并 "操作。
String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World")
由于 HTML 文件可能非常庞大,因此通常会使用任意占位符,例如[[姓名]]在翻译过程中,我们必须使用准确的数据,然后进行替换。
下面的示例将生成三个 PDF 文档,每个文档都将针对不同的用户进行定制。
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(HtmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
利用 ASP.NET MVC Framework,您可以引导用户访问 PDF 文件。
在构建新的 ASP.NET MVC 应用程序或将现有 MVC 控制器添加到现有应用程序时,请选择此选项。 选择 ASP.NET Web 应用程序,启动 Visual Studio 新项目向导(.NET框架)从下拉菜单中选择 > MVC。 或者,您也可以打开一个现有的 MVC 项目。 替换 Controllers 文件夹中 HomeController 文件的 Index 方法,或在 Controllers 文件夹中创建一个新控制器。
以下是代码的编写示例:
using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}
}
Imports IronPdf
Imports System
Imports System.Web.Mvc
Namespace WebApplication8.Controllers
Public Class HomeController
Inherits Controller
Public Function Index() As ActionResult
Dim PDF = HtmlToPdf.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
End Function
Public Function About() As ActionResult
ViewBag.Message = "Your application description page."
Return View()
End Function
Public Function Contact() As ActionResult
ViewBag.Message = "Your contact page."
Return View()
End Function
End Class
End Namespace
为 PDF 文档添加封面
IronPDF 简化了合并 PDF 文档的过程。 这种技术最常见的应用是在已经渲染好的 PDF 文档中添加封面页或封底页。
为此,请准备一个封面页,然后使用 "PDFDocument "功能。
要合并这两份文档,请使用合并 PDF 文档方法.
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Dim merged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf)
merged.SaveAs("Combined.Pdf")
最后但并非最不重要的一点是,在 PDF 文档中添加水印可以使用 C# 代码完成; 这可用于在文件的每一页添加免责声明,说明该文件是 "机密 "或 "样本"。
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
VerticalAlignment = VerticalAlignment.Bottom
};
// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
VerticalAlignment = VerticalAlignment.Bottom
};
// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
' prepare a stamp
Dim stamper As New HtmlStamper("<h2 style='color:red'>SAMPLE</h2>") With {
.HorizontalOffset = New Length(-3, MeasurementUnit.Inch),
.VerticalAlignment = VerticalAlignment.Bottom
}
' Stamps a watermark onto a new or existing PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyStamp(stamper)
pdf.SaveAs("C:\PathToWatermarked.pdf")
当您为 PDF 文档设置密码属性时,文档将被加密,用户需要提供正确的密码才能阅读文档。 本示例可用于 .NET Core 控制台应用程序。
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdfDocument.Password = "strong!@#pass&^%word";
pdfDocument.SaveAs("secured.pdf");
}
}
}
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdfDocument.Password = "strong!@#pass&^%word";
pdfDocument.SaveAs("secured.pdf");
}
}
}
Imports IronPdf
Namespace ConsoleApp
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
Dim pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdfDocument.Password = "strong!@#pass&^%word"
pdfDocument.SaveAs("secured.pdf")
End Sub
End Class
End Namespace
如果没有上述优点,使用 IronPDF,您还可以:
自动填写您的快速轻松地制作 PDF 表单
创建 PDF 是一项极具挑战性的工作; 有些人可能从未接触过制作最出色文档所应采用的基本概念。 因此,IronPDF 的帮助非常大,它简化了 PDF 的创建,并因此改善了由 PDF 和 HTML 创建的文档的原始表现形式。
根据文档中提供的信息和竞争对手分析:IronPDF 是创建 PDF 时最有效的工具,让任何人(包括在办公室或学校工作的人员)都能简单高效地完成任务。
如何在 ASP.NET 中使用 C# 和 IronPDF 查看 PDF 文件
IronPDF 是一个必备的 .NET 库。 立即获取使用 IronPDF NuGet 软件包试用.