使用IRONPDF

在C#中生成PDF文件

发布 2022年一月20日
分享:

办公文档和报告经常需要从各种格式(包括 HTML)转换成 PDF 文档。我们可能还需要从网页或 URL 生成 PDF 文件。为此,我们需要一个多功能生成器,它能生成与原始 HTML 文件内容完全相同的 PDF 文件。在本教程中,我们将学习如何在 C# 中生成 PDF 文件。

什么是 IronPDF?

IronPDF .NET PDF Library 得到了许多设计者的认可,尤其是使用 C# 的计算机程序员。毋庸置疑,你可以用这个出色的工具为.NET制作一个核心PDF库。

IronPDF 利用 .NET Chromium 引擎将 HTML 页面转换为 PDF 文档。有了 HTML to PDF,就无需使用复杂的 API 来定位或规划 PDF。IronPDF 支持标准 Web 文档:HTML、ASPX、JS、CSS 和图像。

此外,它还能让你利用 HTML5、CSS、JavaScript 和图像制作 .NET PDF 库。您可以轻松地对 PDF 进行编辑、盖章、添加页眉和页脚。此外,它还能让 阅读 PDF 文本并提取图片。

IronPDF 可单独解决所有 PDF 问题。无论何时购买 IronPDF,你都能在一个库中获得所有的更改,此外还能完成与 PDF 文档相关的任务,无需额外的条件。IronPDF 是一个完整的软件包,对于设计师和 C# 程序员来说都是一个很好的工具。有了这个实用工具,你可以毫不费力地为.NET创建一个核心 PDF 库。IronPDF 利用 .NET Chromium 引擎将 HTML 页面转换为 PDF 文档。

IronPDF 可帮助我们从以下文件生成 PDF 文件:

  • HTML 字符串和模板
  • ASPX WebForms
  • MVC 视图
  • HTML 文档

  • 任何 URL

IronPDF 功能

IronPDF 可帮助您通过 HTML 4 和 5、CSS 和 JavaScript 创建 PDF 文档,并通过 URL 创建 PDF 文件。同样,它还能帮助您在 URL 中加载自定义网络登录认证、用户代理、代理、Cookie、HTTP 标头和表单变量,允许在 HTML 登录表单后登录。您可以毫不费力地从 PDF 中提取图像和文本,并将新的 HTML 内容添加到任何当前的 PDF 页面上,此外还允许您添加逻辑或 HTML 页眉和页脚。它可以轻松加载和提取现有的 PDF 文件,合并和拆分 PDF 文档中的内容。它有一个自定义的 "基本 URL",允许在网络上访问资产文件,并识别以任何重要文档编码方式编码的 HTML。 (默认为 UTF-8).您只需从文档、二进制数据或 MemoryStreams 保存和加载,并将 PDF 文档转换为 PrintDocument 项目即可打印,而无需使用 Adobe Excel。 (代码无关紧要) 并导出官方日志文件,其中包含有关 API 成果和源代码中调试错误的详细信息。

兼容性

它支持 C#、VB.NET 和 F# 等 .NET 语言。它适用于 .NET 平台,如 .NET 6、5、Core 2x 和 3x、Standard 2 和 Framework 4x。它适用于控制台、Web 和桌面等应用程序,并支持 Microsoft Windows、Linux、macOS、Docker 和 Azure 操作系统。IronPDF 集成开发环境包括 Microsoft Visual Studio、JetBeans Resharper 和 Rider。

生成 PDF 文档的步骤

首先,我们需要创建一个新的 Visual Studio 项目。我将使用控制台应用程序模板进行演示。您可以根据自己的要求和选择使用任何模板。

您也可以使用您想要添加 PDF 文件生成工具的现有项目。

创建一个 Visual Studio 项目

打开 Microsoft Visual Studio 2019 或其他版本。建议使用最新版本。点击 "创建新项目"。为应用程序模板选择 "C# Console Application"。点击 "下一步 "按钮。

为项目命名。我将其命名为 "C Sharp Generate PDF"。您可以根据自己的喜好为其命名。单击 "Next(下一步)"按钮,设置目标 .NET 框架。我将目标 .NET 框架设置为".NET 5.0",即最新的稳定版本。点击 "创建 "按钮。一个新项目就创建好了。

在 Visual Studio 中安装 NuGet 软件包

在开始之前,我们需要安装 IronPDF 库。您可以使用以下三种方法之一进行安装:

软件包管理器控制台

在软件包管理器控制台中编写以下命令。它将为你下载并安装软件包。

Install-Package IronPdf

图片 1

NuGet 包管理器解决方案

您也可以使用 NuGet 软件包解决方案安装条码库。只需按照以下步骤操作即可:

点击工具 > NuGet 包管理器 > 管理 NuGet 包解决方案。

图片 2

这将为您打开 NuGet 包管理器。点击 "浏览 "并搜索 IronPDF,如下图所示。

图片 3

点击 IronPDF,然后点击 "已安装 "按钮。这将在你的项目中安装 IronPDF。现在,您可以在项目中自由使用它的任何功能。

从链接下载

您也可以 直接下载 DLL.

切记在使用 IronPDF 的任何 cs 类文件的顶部添加此语句:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

查看 NuGet 上的 IronPDF 了解有关版本更新和安装的更多信息。

还有其他IronPDF NuGet 包可用于在 Linux、Mac、Azure 和 AWS 目标机上的特定部署,这些都在 IronPDF 高级 NuGet 安装指南.

现在 IronPDF 库已经安装完毕,让我们进入下一步。

从 HTML 字符串生成 PDF 文件

IronPDF 可以轻松地从 HTML 文本生成 PDF 文件。下面的示例说明了这一功能。当您只需在 PDF 文件中添加简单文本时,请使用此选项。

添加以下命名空间:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

使用以下代码示例:

var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf");
var Renderer = new ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf");
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

在上述代码中,我创建了一个新的 ChromePdfRenderer 渲染器。然后我调用了 RenderHtmlAsPdf 并对结果进行了 SaveAs

输出

运行程序。它将在项目的 bin 文件夹中生成 PDF 文档,因为我们没有指定路径。

图片 4

生成第一个 PDF 文件

安装 IronPDF 库后,只需几行代码,我们就能轻松创建 PDF 文件和 PDF 页面。现在,我们将帮助你用 C# 创建第一个 PDF 文档。复制下面的代码并粘贴到 Visual Studio 中,然后运行程序。

var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
var PDF = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
Dim PDF = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
VB   C#

执行 C# 项目后,在项目的 bin 文件夹中会出现一个名为 "FirstPDFDocument.pdf "的文件,双击该文件,PDF 文件就会在浏览器标签页中打开。

图片 9

使用 IronPDF,用 C# 创建 PDF 文件或将 HTML 转换为 PDF 创建 PDF 文件只需几行代码。

从 URL 生成 PDF 文档

在 C# 中使用 URL 创建 PDF 文件与上面的示例一样简单,只需三行代码,下面的代码将演示如何 创建 PDF 从 URL 获取文件。

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private PDF = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
VB   C#

以下是上述代码的输出结果。

图片 10

将流行的复杂网站转换为 PDF 的其他示例。

图片 11

从 HTML 文件生成 PDF 文件

我们可以从包含图像、CSS、表单、超链接和 JavaScript 的 HTML 文件创建 PDF 文档。在本地可以访问源文件的情况下,请使用此方法。

此示例名为 RenderHTMLFileAsPdf 并返回一个名为 PDF 的变量。

调用 SaveAs 可将输出保存为 PDF 文件。

以下代码示例假定项目的 bin 文件夹中有 HTML 文件。

var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html");
PDF.SaveAs("AccountPdf.pdf");
var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html");
PDF.SaveAs("AccountPdf.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim PDF = Renderer.RenderHTMLFileAsPdf("AccountPage.html")
PDF.SaveAs("AccountPdf.pdf")
VB   C#

输入 HTML:

图片 5

生成 PDF 文件输出:

图片 6

从 URL 生成 PDF 文件

只需几行 C# 或 VB.NET 代码,我们就能从现有网页生成 PDF 文件。当您需要从已有格式良好文档的网站生成 PDF 文档时,请使用此选项。

调用 RenderUrlAsPdf 下载网页内容,以便调用 SaveAs 将 PDF 文件保存到本地。

var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
var Renderer = new ChromePdfRenderer();
var PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
PDF.SaveAs("wikipedia.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim PDF = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
PDF.SaveAs("wikipedia.pdf")
VB   C#

PDF 文件输出:

图片 7

从 ASP.NET Web 表单生成 PDF 文档

只需一行代码,我们就能从 ASP.NET 网页表单而不是 HTML 生成 PDF 文档。将这行代码放在页面代码的 Page_Load 方法后面。

  • 创建一个新的 ASP.NET Web 窗体应用程序或打开一个现有的应用程序
  • 安装 IronPDF 库的 NuGet 软件包
  • 使用适当的关键字导入 IronPDF 命名空间
  • 打开要渲染为 PDF 的页面的代码后面。例如,Default.aspx.cs

  • 在页面加载函数中编写以下代码。
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
VB   C#

PDF 文件输出:

图片 8

从 ASP MVC 视图生成 PDF 文件

我们可以从 ASP MVC 框架生成 PDF 文件。

在 Visual Studio 中启动新项目向导,选择 ASP.NET Web Application (.NET框架) > MVC。或者,打开现有的 MVC 项目。打开 Controllers 文件夹中的文件 HomeController 并替换 Index 方法,或添加一个新控制器。

下面是代码的示例:

public ActionResult Index()
{
    var PDF = IronPdf.ChromePdfRenderer.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();
}
public ActionResult Index()
{
    var PDF = IronPdf.ChromePdfRenderer.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();
}
Public Function Index() As ActionResult
	Dim PDF = IronPdf.ChromePdfRenderer.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
VB   C#

PDF 文件输出:

图片 9

添加页眉和页脚

打印选项属性允许你为 PDF 文件的每一页制作页眉和页脚。访问 "ChromePdfRenderer "对象上的这些选项。本示例在 .NET Core 控制台应用程序中运行。

  • 使用这些模板属性构建内容。
  • {页码} {总页数} {网址} {日期} {时间} {html-title} & {pdf标题}

编写以下代码

 var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
//Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf");
 var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
//Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
//Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
'Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
'Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

带页眉和页脚的 PDF 文件输出

图片 10

用 HTML 添加页眉和页脚

我们可以在 PDF 文档的页眉和页脚中添加文本、日期、时间和页码。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.Height = 15,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.Height = 20,
	.HtmlFragment = "This is Footer {date}"
}
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")
VB   C#

如上所述,该示例可在 .NET Core 控制台应用程序中运行。使用 HtmlFragment 属性指定 HTML。

图片 11

使用密码为 PDF 文档加密

我们可以生成带有密码的 PDF 文档。设置 PDF 文档的 "密码 "属性可对其进行加密,并强制用户输入正确的密码才能查看文档。此示例可在 .NET Core 控制台应用程序中运行。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")
VB   C#

PDF 文件输出:

图片 12

合并和拆分 PDF 文档

我们可以将多个 PDF 文档合并为一个新的 PDF 文档。请使用以下代码进行合并和拆分。

var ChromePdfRenderer = new ChromePdfRenderer();
//Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
//Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
//Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>();
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"));
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"));
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
//Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
//Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
//Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
'Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument)()
pdfDocuments.Add(PdfDocument.FromFile("AccountPdf.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("GeneratePDF.pdf"))
pdfDocuments.Add(PdfDocument.FromFile("wikipedia.pdf"))
Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
'Add a cover page 
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
'Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
'Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf")
VB   C#

使用 "Merge(合并)"功能将多个 PDF 文件合并在一起,或使用 "CopyPages(复制页面)"功能从现有文档中分割出若干页面。将 PDF 文件作为 "内容 "包含在项目中,以便按文件名访问。

图片 13

从 PDF 文档中提取图像

此功能需要额外的 NuGet 软件包。安装 System.Drawing.Common。使用 ExtractAllText 获取文本,使用 ExtractAllImages 函数获取图像。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
//Get all text
var allText = pdfDocument.ExtractAllText();
//Get all Images
var allImages = pdfDocument.ExtractAllImages();

//Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
//Get all text
var allText = pdfDocument.ExtractAllText();
//Get all Images
var allImages = pdfDocument.ExtractAllImages();

//Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
'Get all text
Dim allText = pdfDocument.ExtractAllText()
'Get all Images
Dim allImages = pdfDocument.ExtractAllImages()

'Or even find the images and text by page
For index = 0 To pdfDocument.PageCount - 1
	Dim pageNumber = index + 1
	Dim pageText = pdfDocument.ExtractTextFromPage(index)
	Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next index
VB   C#

您需要添加 System.Drawing 来将图像保存为位图。

启用 JavaScript

我们可以使用 IronPDF 在浏览器中启用 JavaScript。下面的代码示例向我们展示了如何在浏览器中启用 JavaScript。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
}               
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
}               
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
	.EnableJavaScript = True,
	.RenderDelay = 100
}
VB   C#

PDF OCR 和文本提取

在许多情况下,您可以直接从 PDF 文档中提取嵌入的文本。

请编写以下代码:

PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Get all text 
string Text = PDF.ExtractAllText();
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
//Get all text 
string Text = PDF.ExtractAllText();
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
'Get all text 
Dim Text As String = PDF.ExtractAllText()
VB   C#

如果不起作用,可能是因为您的文本实际上嵌入了图像中。

使用 IronOCR 库扫描文档,查找非纯文本的可视文本。

摘要

只需几行代码,您就可以生成 PDF 文档,并以任何方式对其进行处理和格式化。只需指定操作,IronPDF 即可实现。此外,IronPDF 还提供免费开发版和购买前免费试用版。市场上还有其他 PDF 生成库,但许多要么性能缓慢,要么需要支付开发费用。

IronPDF .NET 库现在可与 Iron Suite for .NET 一起使用。Iron Suite 还包含其他 .NET 库,如 IronXL 库、IronOCR 库、IronBarcode 库等。这些其他库对开发人员非常有用,因此建议试用。如果购买完整的 Iron Suite,只需两套产品的价格就能获得全部五套产品。更多详情,请点击 这里.

您可以从此处下载文件项目 链接.

< 前一页
x509certificate2 程序化添加数字签名到 PDF
下一步 >
从HTML文件在C#中创建PDF

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,746,704 查看许可证 >