在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
大多数人使用专用的桌面应用程序在计算机上打开 PDF,但软件工程师也可以使用 IronPDF 以 C# 编程方式创建、查看、打开、阅读和编辑 PDF 内容。
当在 ASP.NET 和 C# 中读取 PDF 文件时,IronPDF 变成了一个非常有用的插件。
您可以下载 项目文件.
通过 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 文件是一种在 C# 中创建新 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。
现有的 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 的页面后面的代码。例如,使用 ASP.NET 的文件 Default.aspx.cs
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
这需要 从 NuGet 官方页面下载 IronPdf.Extensions.ASPX 安装。由于 ASPX 已被 MVC 模型取代,.NET Core 中没有该功能。
对于内联网和网站开发人员来说,模板化或 "批量生产" PDF 的能力是标准的必需品。
与创建 PDF 文档模板不同,IronPDF 库提供了一种利用现有的、久经考验的技术生成 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 框架,您可以引导用户下载 PDF 文件。
在创建新的 ASP.NET MVC 应用程序或将现有 MVC 控制器添加到现有应用程序时,请选择此选项。选择 ASP.NET Web Application,启动 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
功能。
要合并两个文档,请使用 合并 静态方法。
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")
最后但并非最不重要的一点是,可以使用 C# 代码为 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
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 是一项极具挑战性的工作;有些人可能从未接触过制作最出色文档所应采用的基本概念。因此,IronPDF 的帮助非常大,它不仅简化了 PDF 的创建过程,还改善了 PDF 和 HTML 文档的原始表现形式。
根据文档中提供的信息和竞争对手分析:IronPDF 是创建 PDF 时最有效的工具,任何人(包括在办公室或学校工作的人员)都能轻松高效地完成任务。
如何使用 C&num 和 IronPDF 在 ASP.NET 中查看 PDF 文件
IronPDF 是您必备的 .NET 库。现在就获取 尝试使用 NuGet.