跳至页脚内容
使用IRONPDF

C# PDF转换(开发者教程)

C# 中的 PDF 转换(开发者教程)

IronPDF 允许您在 C# 应用程序中仅用几行代码即可将文档转换为 PDF。 它可在 Windows、Linux 和 macOS 平台上无缝处理 HTML 转 PDF 及图片转 PDF 的转换。

本文将向您展示如何使用 IronPDF(一款适用于 .NET 和 .NET Core PDF 库)进行 PDF 转换。 无论您使用的是 WindowsLinux 还是 macOS,IronPDF 都能为您的所有 PDF 需求提供跨平台支持。 该库提供了全面的文档教程,助您快速入门。

什么是 IronPDF?

  1. PDF 生成:通过 C# 编程,可轻松从各种来源(包括 HTML、图像、文本和现有文件)创建 PDF 文档
  2. HTML 转 PDF:将 HTML 内容(包括网页或 HTML 模板)转换为高质量的 PDF 文件,并可完全控制样式和格式。
  3. 图像到PDF转换: 将图像文件(如JPEG、PNG或BMP)转换为PDF文档,方便图像集成到PDF报告和文档中。
  4. PDF 操作:全面的 PDF 编辑功能,包括从 PDF 中提取文本合并和拆分 PDF、旋转 PDF,以及添加、修改或删除内容和注释。
  5. PDF 表单:创建、填写并从 PDF 表单中提取数据,适用于需要交互式表单和数据收集的应用程序。

无论您需要从头生成 PDF、将 HTML 页面图像或现有文档转换为 PDF 格式,还是需要处理现有 PDF,IronPDF 都提供简便的 API 来完成这些任务。 该库采用 Chrome 渲染引擎,确保您的 HTML 转换效果与预期完全一致。 如需查看完整功能列表,请访问 IronPDF 功能概览网站。

  1. PDF 生成通过编程方式从 HTML、图像、文本和文件创建 PDF。 支持自定义纸张尺寸页面方向页边距。 也支持多种国际语言
  2. HTML 转 PDF将 HTML 转换为完整保留样式的 PDF。 支持 CSS 媒体查询JavaScript网络字体。 支持 WebGL响应式设计
  3. 图片转 PDF:将 JPEG、PNG 或 BMP 文件转换为 PDF。 支持 TIFF 格式转换SVG 图形。 支持使用 DataURI 嵌入图片
  4. PDF 处理:支持文本提取合并/拆分注释功能,用于编辑 PDF 文件。 此外,还需对文本进行遮盖处理添加水印以及管理元数据
  5. PDF 表单:创建并填写 PDF 表单。 支持创建编辑表单。 可将 PDF 文件转换为静态内容。

如何创建一个新的 Visual Studio 项目?

在深入代码之前,让我们先创建一个新的 C# 控制台应用程序项目。 如果您是 .NET 开发的新手,快速入门指南中的额外设置技巧可能会对您有所帮助。 F# 开发者也可以使用 IronPDF 结合函数式编程方法进行开发。

  1. 打开 Visual Studio,点击"文件">"新建">"项目"以创建一个新项目。

    Visual Studio 文件菜单已展开,显示各种选项,包括新建项目、克隆存储库、打开文件/项目和保存选项以及键盘快捷键Visual Studio 中的"文件"菜单提供了对关键项目管理功能的快速访问,从创建新项目到从版本控制系统克隆仓库。

  2. 此时会弹出一个新窗口。 选择"控制台应用程序"模板,然后点击底部的"下一步"。 此模板非常适合在转向 Blazor 应用程序ASP.NET MVC 等复杂项目类型之前,学习 PDF 基础知识。

    Visual Studio 的"创建新项目"对话框显示已选择控制台应用程序模板,用于创建支持 Windows、Linux 和 macOS 的 .NET Core 命令行应用程序。 Visual Studio 中的"控制台应用程序"模板为使用 .NET Core 创建跨平台命令行应用程序提供了起点。

  3. 在下一窗口中,为项目命名并选择保存位置,然后单击"下一步"。 建议将项目整理到专用文件夹中,以便于访问代码示例样例文件

    Visual Studio 的"配置新项目"对话框显示了名为"PDF 转换"的控制台应用程序的设置,包括项目位置和解决方案设置。 步骤 2:配置新的控制台应用程序项目,为 PDF 转换应用程序设置适当的命名和位置。

  4. 选择目标框架,然后点击"创建"。 对于现代应用程序,建议使用 .NET 6 或更高版本以获得最佳性能和支持。 最新版本提供了更优的性能异步处理能力

    Visual Studio 项目创建对话框显示"附加信息"页面,其中已选择 .NET 5.0 作为控制台应用程序的目标框架。 在 Visual Studio 中创建新控制台应用程序的最后一步,即选择目标框架。 请注意,.NET 5.0 已被标记为"不再受支持"——建议在当前项目中使用 .NET 6.0 或 .NET 8.0。

您的项目已准备就绪。 让我们安装 IronPDF。

如何安装 IronPDF?

IronPDF 提供了多种安装方法。 这里我们将使用 NuGet 包管理器。 您可以探索适用于特定场景的高级安装方法,包括 Windows 安装程序选项和 Linux 配置

  1. 在 Visual Studio 中,打开"工具"菜单,将鼠标悬停在"NuGet 包管理器"上。
  2. 点击"管理解决方案的 NuGet 包"。

    Visual Studio 工具菜单已展开,显示 NuGet 包管理器子菜单,其中包含"包管理器控制台"、"管理解决方案的 NuGet 包"和"包管理器设置"等选项。 Visual Studio 中的"工具"菜单提供了 NuGet 包管理器的功能,这些功能对于管理 .NET 项目中的外部库和依赖项至关重要

  3. 此时会弹出一个新窗口。 点击"浏览"选项卡,搜索"IronPDF"。
  4. 选择 IronPDF 并点击"安装"。 对于小型部署,建议考虑 IronPdf.Slim
  5. 您也可以通过包管理器控制台进行安装:

    Install-Package IronPdf

或直接从 IronPDF NuGet 页面下载。 关于容器,请参阅 Docker 部署指南,或将 IronPDF 作为远程容器运行。

如何使用 IronPDF 将文件转换为 PDF?

让我们来探讨如何将不同文档格式转换为 PDF。 IronPDF 提供了丰富的渲染选项以供自定义输出,包括自定义日志记录性能监控

  1. HTML文件到PDF文档
  2. 图像到PDF文档

如何将 HTML 文件转换为 PDF?

使用 IronPDF 将 HTML 转换为 PDF 非常简单。 该库支持页眉和页脚分页以及自定义 CSS 等高级功能。 您可以处理 Bootstrap 布局,并为经过身份验证的内容实现 Cookie 管理

以下是将 HTML 文件转换为 PDF 的方法:

using IronPdf;

// Create an instance of the ChromePdfRenderer class.
var renderer = new ChromePdfRenderer();

// Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;

// Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___";

// Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024;

// Render the HTML file as a PDF document.
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Optional: Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Keywords = "invoice, pdf, conversion";
pdf.MetaData.CreationDate = System.DateTime.Now;

// Save the PDF document as an output file.
pdf.SaveAs("output.pdf");

// Alternative: Save with compression
pdf.CompressImages(80);
pdf.SaveAs("compressed-output.pdf");
using IronPdf;

// Create an instance of the ChromePdfRenderer class.
var renderer = new ChromePdfRenderer();

// Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;

// Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___";

// Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024;

// Render the HTML file as a PDF document.
var pdf = renderer.RenderHtmlFileAsPdf("invoice.html");

// Optional: Add metadata
pdf.MetaData.Author = "Your Company";
pdf.MetaData.Keywords = "invoice, pdf, conversion";
pdf.MetaData.CreationDate = System.DateTime.Now;

// Save the PDF document as an output file.
pdf.SaveAs("output.pdf");

// Alternative: Save with compression
pdf.CompressImages(80);
pdf.SaveAs("compressed-output.pdf");
Imports IronPdf

' Create an instance of the ChromePdfRenderer class.
Dim renderer As New ChromePdfRenderer()

' Optional: Configure rendering options for better output
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = True

' Set print CSS media type for proper formatting
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

' Add custom headers for authenticated content
renderer.RenderingOptions.CustomCssUrl = "___PROTECTED_URL_142___"

' Configure viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1024

' Render the HTML file as a PDF document.
Dim pdf = renderer.RenderHtmlFileAsPdf("invoice.html")

' Optional: Add metadata
pdf.MetaData.Author = "Your Company"
pdf.MetaData.Keywords = "invoice, pdf, conversion"
pdf.MetaData.CreationDate = System.DateTime.Now

' Save the PDF document as an output file.
pdf.SaveAs("output.pdf")

' Alternative: Save with compression
pdf.CompressImages(80)
pdf.SaveAs("compressed-output.pdf")
$vbLabelText   $csharpLabel

这段代码将 HTML 文件("invoice.html")转换为 PDF 文档。 通过创建 ChromePdfRenderer,您正在使用 Chromium 引擎来确保准确转换,从而保持网页的外观。 渲染选项允许您设置自定义边距和纸张大小。生成的 PDF 文件将以"output.pdf"格式保存,只需调用"SaveAs"即可。 这一简化的流程使 C# 中的 HTML 转 PDF 操作变得简单直观。

对于复杂场景,可探索将 URL 转换为 PDF、处理 HTML 字符串,或在 ASP.NET MVC 应用程序中转换 CSHTML 文件。 您还可以渲染 JavaScript 图表并处理 Angular 应用程序

HTML转PDF的输出效果如何?

PDF 查看器界面显示了一个示例发票模板,其中包含占位符公司信息、总计 190.00 美元的两项商品以及导航控件。 在 PDF 阅读器中查看的基本发票模板示例,展示了标准发票要素,包括发件人/收件人详细信息、服务明细及价格计算

为了生成更完善的 PDF,请考虑添加页码目录自定义水印。 您可以通过线性化优化输出,以加快网页浏览速度。

如何将图片转换为 PDF?

让我们将图片转换为 PDF 文档。 只需少量代码,即可转换 JPEG、PNG、BMP 和 SVG 文件。 该库还支持绘制线条和矩形,或在现有 PDF 中添加文本和位图等高级功能。

我可以转换哪些图像格式?

IronPDF 主页截图,展示了 C# PDF 库在 .NET 应用程序中创建、编辑和读取 PDF 的关键功能。 IronPDF 提供了一个功能全面的 C# PDF 库,支持 HTML 转 PDF 转换、跨平台兼容性,并为 .NET 应用程序提供了 50 多项 PDF 操作功能。

using IronPdf;
using System.IO;
using System.Linq;

// Enumerate all PNG files from the specified directory.
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".png"));

// Create an instance of ImageToPdfConverter
var imageToPdf = new ImageToPdfConverter();

// Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage;
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4;

// Set margins for professional appearance
imageToPdf.PaperMargins = new IronPdf.Imaging.PdfPaperMargins(25);

// Control image quality and compression
imageToPdf.ImageQuality = 90; // 0-100 quality scale

// Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf");

// Alternative: Convert a single image with custom settings
var singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png");
singleImagePdf.SaveAs("single-image.pdf");

// Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo";
singleImagePdf.MetaData.Subject = "Brand Assets";
singleImagePdf.MetaData.CreationDate = DateTime.Now;
singleImagePdf.SaveAs("logo-with-metadata.pdf");
using IronPdf;
using System.IO;
using System.Linq;

// Enumerate all PNG files from the specified directory.
var imageFiles = Directory.EnumerateFiles("assets").Where(f => f.EndsWith(".png"));

// Create an instance of ImageToPdfConverter
var imageToPdf = new ImageToPdfConverter();

// Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage;
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4;

// Set margins for professional appearance
imageToPdf.PaperMargins = new IronPdf.Imaging.PdfPaperMargins(25);

// Control image quality and compression
imageToPdf.ImageQuality = 90; // 0-100 quality scale

// Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf");

// Alternative: Convert a single image with custom settings
var singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png");
singleImagePdf.SaveAs("single-image.pdf");

// Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo";
singleImagePdf.MetaData.Subject = "Brand Assets";
singleImagePdf.MetaData.CreationDate = DateTime.Now;
singleImagePdf.SaveAs("logo-with-metadata.pdf");
Imports IronPdf
Imports System.IO
Imports System.Linq

' Enumerate all PNG files from the specified directory.
Dim imageFiles = Directory.EnumerateFiles("assets").Where(Function(f) f.EndsWith(".png"))

' Create an instance of ImageToPdfConverter
Dim imageToPdf = New ImageToPdfConverter()

' Optional: Set rendering options for better control
imageToPdf.ImageBehavior = ImageBehavior.CropPage
imageToPdf.PaperSize = IronPdf.Imaging.PdfPaperSize.A4

' Set margins for professional appearance
imageToPdf.PaperMargins = New IronPdf.Imaging.PdfPaperMargins(25)

' Control image quality and compression
imageToPdf.ImageQuality = 90 ' 0-100 quality scale

' Convert the images to a PDF document.
ImageToPdfConverter.ImageToPdf(imageFiles).SaveAs("composite.pdf")

' Alternative: Convert a single image with custom settings
Dim singleImagePdf = imageToPdf.ImageToPdf("assets/logo.png")
singleImagePdf.SaveAs("single-image.pdf")

' Advanced: Add metadata to image PDF
singleImagePdf.MetaData.Title = "Company Logo"
singleImagePdf.MetaData.Subject = "Brand Assets"
singleImagePdf.MetaData.CreationDate = DateTime.Now
singleImagePdf.SaveAs("logo-with-metadata.pdf")
$vbLabelText   $csharpLabel

此代码展示了两种方法:批量转换多个 PNG 文件以及单张图片转换。 它会在 assets 文件夹中找到所有 PNG 文件,并使用 ImageToPdfConverter.ImageToPdf 将它们转换为 PDF。 ImageBehavior 属性控制图像在页面上的位置。 最后,它使用 SaveAs 保存 PDF。

如需进行高级图像处理,可探索从 Azure Blob 存储中嵌入图像处理 Base64 编码图像的方法。 您还可以将 PDF 文件栅格化为图像,以便进行反向转换。

图像转 PDF 的输出效果如何?

! IronPDF 文档网页截图,显示了 C# PDF 库主页,其中包含用于在 .NET 应用程序中创建和编辑 PDF 的功能 IronPDF 库的主页展示了其关键功能,包括 HTML 转 PDF 转换、对 .NET Framework 的跨平台支持,以及醒目的"免费 30 天试用"按钮

有哪些高级 PDF 转换功能可用?

除了基本的 HTML 和图像转换外,IronPDF 还提供了许多高级功能,可满足全面的 PDF 处理需求。 该库支持异步操作并行处理,适用于高性能场景。

哪些文档类型可以转换为 PDF?

IronPDF 支持多种格式的转换:

如何优化生成的 PDF 文件?

将文档转换为 PDF 后,请通过以下方式进行优化:

如何优化 PDF 转换性能?

为了提升应用程序的性能:

关于平台特有的考虑因素?

IronPDF 提供全面的平台支持:

主要收获是什么?

本文探讨了在 C# 中进行 PDF 转换以实现文档管理和共享。 借助 C# 和 IronPDF,您可以轻松地将 PDF 功能集成到您的应用程序中。 从生成 PDF 到转换 HTML、图像和现有文档,IronPDF 提供了全面的功能。 代码示例展示了如何以极少的操作将 HTML 文档和图像转换为 PDF。

IronPDF 的优势在于其全面的功能:

  • 支持 WindowsLinuxmacOS云端环境
  • 支持多种转换格式,包括 HTML、图像、DOCX、RTF 等
  • 数字签名、加密、表单和注释等高级功能
  • 通过异步操作和并行处理实现性能优化
  • 采用 Chrome 渲染引擎实现像素级精准渲染
  • 包含 API 参考故障排除指南全面文档

如上所述,IronPDF 简化了复杂的 PDF 任务,对于希望增强 .NET 应用程序文档处理能力的开发者而言极具价值。 无论是构建 Web 应用程序桌面软件还是云服务,IronPDF 都能提供 Professional 级别的 PDF 生成工具。 该库的功能集包括创建编辑转换保护 PDF 文档。

要下载PDF转换库,请访问IronPDF的NuGet包。 此外,还可查看使用 IronPDF 进行 HTML 转 PDF 教程。 如需实践学习,请查阅我们的代码示例全面教程。 IronPDF 开发者可根据自身需求选择多种许可协议。 提供免费试用。 如需完整的定价和许可信息,请访问 IronPDF 许可信息页面。 请查看更新日志以了解最新更新和改进。

常见问题解答

如何在C#中将HTML转换为PDF?

你可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。你还可以使用RenderHtmlFileAsPdf将HTML文件转换为PDF。

在 Visual Studio 项目中设置 IronPDF 包含哪些步骤?

要在 Visual Studio 项目中设置 IronPDF,使用 NuGet 包管理器搜索 'IronPDF' 并安装最新包。此过程将 IronPDF 集成到您的项目中,使您可以访问其 PDF 功能。

IronPDF 的 PDF 操作功能有哪些?

IronPDF 提供全面的 PDF 操作功能,包括文本提取、合并和拆分 PDF、旋转页面以及修改内容和注释。

我可以使用 IronPDF 将图像转换为 PDF 吗?

是的,您可以使用 IronPDF 的 ImageToPdfConverter 方法将图像转换为 PDF,此方法支持 JPEG、PNG 和 BMP 等图像格式。

IronPDF 如何在 PDF 转换过程中保持格式?

IronPDF 通过准确地将 HTML 和图像内容呈现为 PDF 格式,确保在转换过程中保留原始文档格式,这要归功于其强大的渲染引擎。

IronPDF 是否提供试用版本?

是的,可以免费试用 IronPDF。有关详细的定价和许可,您可以参考 IronPDF 许可信息页面。

IronPDF 支持哪些编程语言?

IronPDF 支持与 C#、VB.NET 和 F# 应用程序集成,为在 .NET 生态系统中工作的开发人员提供了广泛的可能性。

在哪里可以找到更多关于使用 IronPDF 的教程或支持?

在 IronPDF 网站和文档页面上提供了额外的教程和支持,包括 HTML 到 PDF 转换和其他功能的指南。

IronPDF 是否完全兼容 .NET 10?

是的——IronPDF 完全兼容 .NET 10,无需任何特殊配置即可无缝运行。它支持 .NET 10 的最新运行时和语言特性,包括跨平台部署和现代化的异步友好型 API。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我