跳至页脚内容
使用IRONPDF

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

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

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

本文将向您展示如何使用 IronPDF 进行 PDF 转换,PDF 库 for .NET 和 .NET Core。 无论您是在WindowsLinux 还是 macOS 上工作,IronPDF 都为您提供跨平台支持,满足您所有的 PDF 需求。 该库提供全面的文档教程,助您快速上手。

什么是 IronPDF?

  1. PDF 生成:轻松从各种来源,包括 HTML、图像、文本和现有文件中以编程方式创建 PDF 文档
  2. HTML 转换为 PDF:将 HTML 内容,包括网页或 HTML 模板,转换为高质量的 PDF,并完全控制样式和格式。
  3. 图像到PDF转换: 将图像文件(如JPEG、PNG或BMP)转换为PDF文档,方便图像集成到PDF报告和文档中。
  4. 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 图形。 可使用 DataURIs 嵌入图像
  4. PDF 操作:使用文本提取合并/拆分注释编辑 PDF。 还可以编辑文本添加印章管理元数据
  5. PDF 表单:创建并填写PDF 表单。 支持创建编辑表单。 可以平面化 PDF为静态内容。

如何创建新的 Visual Studio 项目?

在进入代码之前,先设置一个新的 C# 控制台应用项目。 如果您是 .NET 开发的新手,可以参考 快速入门指南,以获得更多设置建议。 F# 开发者也可以使用 IronPDF 结合函数式编程方法。

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

Visual Studio 文件菜单展开,显示包括新建项目、克隆代码库、打开文件/项目和保存选项以及键盘快捷方式 Visual Studio 的文件菜单提供了快速访问项目管理功能的途径,从创建新项目到从版本控制系统克隆代码库。

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

Visual Studio 的 Visual Studio 中的控制台应用程序模板为使用 .NET Core 创建跨平台命令行应用程序提供了起点。

  1. 在下一个窗口中,为项目命名并选择位置,然后点击 下一步。 可以考虑将项目组织在专用文件夹中,方便示例代码示例文件的访问。

Visual Studio 的 步骤 2:配置新的控制台应用程序项目,适当命名和位置设置,用于 PDF 转换应用程序。

  1. 选择目标框架,点击 创建。 对于现代应用程序,使用 .NET 6 或更高版本可获得最佳性能和支持。 最新版本提供改进的性能异步能力

Visual Studio 项目创建对话框,显示 创建新控制台应用程序的最后一步, 在 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 项目中的外部库和依赖项至关重要

  1. 会出现一个新窗口。 点击浏览选项卡并搜索"IronPDF"。
  2. 选择 IronPDF 并点击安装。 对于较小的部署,考虑使用 IronPdf.Slim
  3. 您还可以通过包管理器控制台安装:

    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");
$vbLabelText   $csharpLabel

此代码将 HTML 文件("invoice.html")转换为 PDF 文档。 通过创建 ChromePdfRenderer,您使用 Chromium 引擎确保准确转换,保留网页的外观。 渲染选项让您可以设置自定义边距和纸张尺寸。通过简单的 SaveAs 调用,生成的 PDF 将保存为"output.pdf"。 这种精简的过程使 C# 中的 HTML 到 PDF 转换变得非常简单。

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

HTML 转换到 PDF 的输出是什么样的?

PDF viewer interface showing a sample invoice template with placeholder company information, two line items totaling $190.00, and navigation controls 在 PDF 阅读器中查看的基本发票模板示例,展示标准发票元素,包括发件人/收件人详细信息、分项服务和价格计算

为了增强 PDF 生成,考虑添加页码目录自定义水印。 您可以通过线性化来优化输出以加快网页查看速度。

如何将图像转换为 PDF?

我们来将图像转换为 PDF 文档。 使用最少的代码,您可以转换 JPEG、PNG、BMP 和 SVG 文件。 该库还支持高级功能,例如在现有 PDF 上绘制线条及矩形添加文本和位图

我可以转换什么图像格式?

IronPDF 首页截图,显示 C# PDF 库的关键功能,用于在 .NET 应用程序中创建、编辑和读取 PDF 文件 IronPDF 提供全面的 C# PDF 库,支持 HTML 到 PDF 转换、跨平台兼容性,以及超过 50 项用于 .NET 应用程序的 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");
$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 都为专业的 PDF 生成提供工具。 该库的功能集包括创建编辑转换保障 PDF 文档。

要下载PDF转换库,请访问IronPDF的NuGet包。 另外,请查看使用 IronPDF 进行 HTML 到 PDF 转换的教程。 为了实践学习,请探索我们的代码示例综合教程。 IronPDF 开发人员可以从各种许可中选择适合自己的许可。 提供免费试用。 有关完整定价和许可信息,请访问 IronPDF 许可信息页面。 查看changealog,了解最新更新和改进。

常见问题解答

如何在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 机器人,将他对技术的热爱与创造力相结合。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me