跳至页脚内容
使用IRONPDF

在C# .NET库中创建PDF

使用 IronPDF 的 .NET 库,仅需一行代码即可在 C# 中创建 PDF。该库通过内置的渲染功能和便捷的 Visual Studio 集成,简化了从 HTML 字符串、URL 或表单生成 PDF 的过程。

借助正确的指南,使用 C# .NET 库生成 PDF 既简单又高效。 使用 IronPDF,您可以根据应用程序的要求,以简单的方式创建和编辑 PDF 文件。 这个教程示例展示了如何在项目中高效使用该软件,只需一键即可创建 PDF!

PDF .NET 库

  • 安装 IronPDF C# .NET 库
  • 用 C# 创建 PDF 的一行代码
  • 一键将表格转换为 PDF

步骤1

如何安装 C# PDF 库 .NET?

访问库的两种主要方式是:

  1. Download and unpack the [IronPDF Package](https://ironpdf.com/packages/IronPdf.zip) DLL file
  2. Navigate to [NuGet](https://www.nuget.org/packages/IronPdf) and install the package via Visual Studio.

对于初学 .NET PDF 生成的用户,NuGet 包管理器提供了最简单的安装方法。 它会自动处理依赖项,并确保您使用的是最新的稳定版本。 安装概述为各种开发环境提供了详细指导。


我应该选择哪种安装方式?

# Use the NuGet package manager to install IronPDF
nuget install IronPdf
# Use the NuGet package manager to install IronPDF
nuget install IronPdf
SHELL

对于大多数开发者而言,尤其是刚接触 .NET 开发的初学者,NuGet 是推荐的解决方案。 它与 Visual Studio 及其他集成开发环境(IDE)无缝集成,非常适合在 C# 中创建 PDF 文件。 该包管理器会自动处理所有复杂的配置,包括:

  • 依赖项解析与版本兼容性
  • 适用于 WindowsLinuxMac 的平台专用二进制文件
  • 通过 Visual Studio 的包管理器自动更新
  • 与您项目的构建流程集成

常见的安装问题有哪些?

在安装 IronPDF 时,开发人员有时会遇到一些常见问题。 故障排除指南涵盖了大多数情况,但以下是最常见的问题:

  1. 缺少 Visual C++ 运行时:IronPDF 需要 Visual C++ 再分发包。 若遇到有关 DLL 缺失的错误提示,请安装微软发布的最新 Visual C++ 运行时。

  2. 防火墙屏蔽 NuGet:企业环境可能会屏蔽 NuGet.org。 在这种情况下,您可以下载离线安装包并手动安装。

  3. 平台不匹配:确保您的项目针对正确的平台(x86、x64 或 AnyCPU)。 IronPDF 建议针对特定平台进行编译,而非使用 AnyCPU 模式。

为何选择 NuGet 而不是手动安装?

对于正在学习 HTML 转 PDF 的开发者而言,NuGet 具有以下优势:

  • 自动更新:自动获取安全补丁和新功能
  • 版本控制:如有需要,可轻松回滚至先前版本
  • 团队协作:所有开发者使用相同的包版本
  • 构建服务器兼容性:与 CI/CD 管道无缝集成
  • 包恢复:构建时自动下载缺失的包

NuGet 包文档提供了针对特定场景(如 Azure 部署Docker 容器)的高级配置选项。


如何使用教程

如何使用 PDF .NET 库?

C# 编程语言标志 - 紫色六边形徽章,上面有白色的
渐变色的V形箭头(从紫色到蓝绿色)指示PDF转换工作流程方向
设计和测量工具图标 - 黑色钢笔与蓝色尺子交叉,用于 PDF 注释功能
IronPDF 中表示文档转换过程的多色 V 形箭头
Adobe PDF 文档图标,显示 .NET 应用程序中使用的标准 PDF 文件格式

现在我们有了这些软件,就可以生成 PDF 文件调整设置、添加自定义文本和图片,并根据项目需求对 PDF 文件进行编辑处理。 IronPDF 提供了全面的功能,可用于创建新 PDF编辑现有 PDF,甚至将各种格式(如图像转换为 PDF XML 转换为 PDF

ChromePdfRenderer 的作用是什么?

在下面的代码中,我们使用了一个 C# 窗体来演示如何使用 C# .NET 库创建 PDF。 在这个例子中,我们可以使用 TextBox 来编写我们自己的文本,然后点击一个按钮即可生成 PDF。 类 ChromePdfRenderer 提供了一种最简单的方法,可以从不同的来源生成 PDF 文件,包括HTML 字符串网页 URL另一个渲染器下的 doc 文件

ChromePdfRenderer 是 IronPDF 渲染引擎的核心。它采用与 Google Chrome 相同的技术,确保您的 PDF 文件在现代网页浏览器中的显示效果与实际完全一致。 这意味着需全面支持:

如何处理 PDF 生成过程中的错误?

错误处理对于可靠的 PDF 生成至关重要。 IronPDF 提供了详细的异常信息,有助于快速定位问题。 以下是一种包含错误处理功能的可靠 PDF 生成方案:

using IronPdf;
using System;
using System.IO;

public class PdfGenerator
{
    public static bool CreatePdfSafely(string htmlContent, string outputPath)
    {
        try
        {
            var renderer = new ChromePdfRenderer();

            // Configure rendering options for better results
            renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            renderer.RenderingOptions.PrintHtmlBackgrounds = true;

            // Generate the PDF
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Ensure directory exists
            string directory = Path.GetDirectoryName(outputPath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            // Save the PDF
            pdf.SaveAs(outputPath);

            return true;
        }
        catch (Exception ex)
        {
            // Log the error (you can use your preferred logging framework)
            Console.WriteLine($"PDF generation failed: {ex.Message}");
            return false;
        }
    }
}
using IronPdf;
using System;
using System.IO;

public class PdfGenerator
{
    public static bool CreatePdfSafely(string htmlContent, string outputPath)
    {
        try
        {
            var renderer = new ChromePdfRenderer();

            // Configure rendering options for better results
            renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
            renderer.RenderingOptions.MarginTop = 20;
            renderer.RenderingOptions.MarginBottom = 20;
            renderer.RenderingOptions.PrintHtmlBackgrounds = true;

            // Generate the PDF
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);

            // Ensure directory exists
            string directory = Path.GetDirectoryName(outputPath);
            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            // Save the PDF
            pdf.SaveAs(outputPath);

            return true;
        }
        catch (Exception ex)
        {
            // Log the error (you can use your preferred logging framework)
            Console.WriteLine($"PDF generation failed: {ex.Message}");
            return false;
        }
    }
}
Imports IronPdf
Imports System
Imports System.IO

Public Class PdfGenerator
    Public Shared Function CreatePdfSafely(htmlContent As String, outputPath As String) As Boolean
        Try
            Dim renderer As New ChromePdfRenderer()

            ' Configure rendering options for better results
            renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
            renderer.RenderingOptions.MarginTop = 20
            renderer.RenderingOptions.MarginBottom = 20
            renderer.RenderingOptions.PrintHtmlBackgrounds = True

            ' Generate the PDF
            Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)

            ' Ensure directory exists
            Dim directory As String = Path.GetDirectoryName(outputPath)
            If Not Directory.Exists(directory) Then
                Directory.CreateDirectory(directory)
            End If

            ' Save the PDF
            pdf.SaveAs(outputPath)

            Return True
        Catch ex As Exception
            ' Log the error (you can use your preferred logging framework)
            Console.WriteLine($"PDF generation failed: {ex.Message}")
            Return False
        End Try
    End Function
End Class
$vbLabelText   $csharpLabel

对于更复杂的错误情况,请查阅故障排除指南,其中涵盖了内存管理和渲染延迟等常见问题。

何时应使用 HTML 渲染,何时应直接生成 PDF?

了解何时使用 HTML 渲染与直接生成 PDF 的区别,有助于您选择合适的方法。 IronPDF 在 HTML 渲染方面表现卓越,因为它提供了:

HTML 渲染优势:

  • 运用现有的 Web 开发技能
  • 使用常见的 CSS 进行样式设置
  • 通过视口设置轻松实现响应式设计
  • 支持 JavaScript 的动态内容
  • 快速原型设计与迭代

在以下情况下使用 HTML 渲染:

直接操作 PDF 更适合:

// C# Program to create PDF from TextBox input using IronPDF
using IronPdf;
using System.Windows.Forms;

namespace readpdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Event handler for the button click
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Create a ChromePdfRenderer object to convert HTML to PDF
            var HtmlLine = new ChromePdfRenderer();

            // Retrieve the text from the TextBox
            string text = textBox1.Text;

            // Render the HTML as a PDF, wrapping the text in an <h1> tag
            using var pdf = HtmlLine.RenderHtmlAsPdf("<h1>" + text + "</h1>");

            // Save the PDF to a file called "custom.pdf"
            pdf.SaveAs("custom.pdf");

            // Show a confirmation message to the user
            MessageBox.Show("Done!");
        }
    }
}
// C# Program to create PDF from TextBox input using IronPDF
using IronPdf;
using System.Windows.Forms;

namespace readpdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Event handler for the button click
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Create a ChromePdfRenderer object to convert HTML to PDF
            var HtmlLine = new ChromePdfRenderer();

            // Retrieve the text from the TextBox
            string text = textBox1.Text;

            // Render the HTML as a PDF, wrapping the text in an <h1> tag
            using var pdf = HtmlLine.RenderHtmlAsPdf("<h1>" + text + "</h1>");

            // Save the PDF to a file called "custom.pdf"
            pdf.SaveAs("custom.pdf");

            // Show a confirmation message to the user
            MessageBox.Show("Done!");
        }
    }
}
' C# Program to create PDF from TextBox input using IronPDF
Imports IronPdf
Imports System.Windows.Forms

Namespace readpdf
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		' Event handler for the button click
		Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
			' Create a ChromePdfRenderer object to convert HTML to PDF
			Dim HtmlLine = New ChromePdfRenderer()

			' Retrieve the text from the TextBox
'INSTANT VB NOTE: The variable text was renamed since Visual Basic does not handle local variables named the same as class members well:
			Dim text_Conflict As String = textBox1.Text

			' Render the HTML as a PDF, wrapping the text in an <h1> tag
			Dim pdf = HtmlLine.RenderHtmlAsPdf("<h1>" & text_Conflict & "</h1>")

			' Save the PDF to a file called "custom.pdf"
			pdf.SaveAs("custom.pdf")

			' Show a confirmation message to the user
			MessageBox.Show("Done!")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

如何将 C# 窗体转换为 PDF?

我们使用了一个 C# Windows Forms 应用程序,向您展示了包含自定义文本的完美输出效果。 只需单击一下,TextBox 中的文本即可转换为自定义 PDF。 这仅需一行代码即可实现,且易于理解。 对于更复杂的场景,您可能需要探索 MVC 应用程序的 CSHTML 转 PDF 功能,或现代 Web 应用的 Blazor PDF 生成功能

为什么这种单击方法有效?

单击操作之所以高效,是因为 IronPDF 在内部处理了所有复杂的渲染工作。 当您调用 RenderHtmlAsPdf() 时,IronPDF:

  1. 初始化 Chrome 引擎:使用与 Chrome 浏览器相同的渲染引擎
  2. 处理 HTML:解析您的 HTML 字符串并应用任何内联样式
  3. 渲染为 PDF:将渲染后的内容转换为 PDF 格式
  4. 优化输出:应用压缩和优化

这种简洁性使 IronPDF 非常适合需要快速产出结果的快速开发场景。 该库可自动处理字体管理图像嵌入,甚至 JavaScript 执行

支持导出哪些文件格式?

虽然 PDF 是主要输出格式,但 IronPDF 支持多种导出和转换选项:

此外,IronPDF 支持从多种来源导入文件:

如何自定义 PDF 输出?

IronPDF 通过 RenderingOptions 类提供了丰富的自定义选项。 以下是一个展示常见定制示例:

using IronPdf;

// Create renderer with custom settings
var renderer = new ChromePdfRenderer();

// Page setup options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Margins (in millimeters)
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Header and footer configuration
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<div style='text-align: center;'>{page} of {total-pages}</div>",
    DrawDividerLine = true
};

// Additional options
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Apply custom CSS for print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Generate PDF with all customizations
var pdf = renderer.RenderHtmlAsPdf("<h1>Customized PDF Output</h1>");
pdf.SaveAs("customized.pdf");
using IronPdf;

// Create renderer with custom settings
var renderer = new ChromePdfRenderer();

// Page setup options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;

// Margins (in millimeters)
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Header and footer configuration
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<div style='text-align: center;'>{page} of {total-pages}</div>",
    DrawDividerLine = true
};

// Additional options
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Apply custom CSS for print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Generate PDF with all customizations
var pdf = renderer.RenderHtmlAsPdf("<h1>Customized PDF Output</h1>");
pdf.SaveAs("customized.pdf");
Imports IronPdf

' Create renderer with custom settings
Dim renderer = New ChromePdfRenderer()

' Page setup options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait

' Margins (in millimeters)
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Header and footer configuration
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .Height = 15,
    .HtmlFragment = "<div style='text-align: center;'>{page} of {total-pages}</div>",
    .DrawDividerLine = True
}

' Additional options
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.GrayScale = False
renderer.RenderingOptions.Zoom = 100
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Apply custom CSS for print
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

' Generate PDF with all customizations
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Customized PDF Output</h1>")
pdf.SaveAs("customized.pdf")
$vbLabelText   $csharpLabel

如需更高级的自定义功能,请探索:

~ C# 表单

Windows Forms 应用程序展示了 IronPDF 集成——文本输入字段带有

~ PDF

在 Adobe Acrobat Pro DC 中显示的 PDF 输出文件包含使用 IronPDF 库创建的自定义文本。

库快速访问

Documentation related to 库快速访问

共享 API 参考

Read through and share the API Reference for all the functionality you need to work with PDFs in your .NET project. The comprehensive documentation covers everything from basic [PDF creation](https://ironpdf.com/tutorials/csharp-create-pdf-complete-tutorial/) to advanced features like [digital signatures](https://ironpdf.com/tutorials/csharp-pdf-security-complete-tutorial/) and [form handling](https://ironpdf.com/how-to/edit-forms/).

IronPDF 的 API 参考

常见问题解答

如何在我的 C# 项目中安装 PDF 库?

您可以通过直接下载包 DLL 文件或使用 NuGet 通过 Visual Studio 安装来安装 PDF 库,如 IronPDF。

如何使用 PDF 库从 C# 创建 PDF?

使用像 IronPDF 这样的 PDF 库,您可以通过 ChromePdfRenderer 类将 HTML 字符串或 URL 转换为 PDF,代码量极少。

我可以使用 PDF 库将 C# 表单转换为 PDF 吗?

是的,使用 IronPDF,您可以将 C# 表单转换为 PDF。这涉及到捕获表单的数据并使用库的渲染功能将其渲染为 PDF。

使用 PDF 库生成 PDF 的最简单方法是什么?

使用 IronPDF 生成 PDF 的最简单方法是使用 ChromePdfRenderer 对象直接将 HTML 内容渲染为 PDF。

如何使用 PDF 库添加自定义文本和图像到 PDF 中?

您可以通过在渲染为 PDF 之前操作 HTML 内容的方式添加自定义文本和图像,使用 IronPDF 的功能来实现。

使用 PDF 库编辑现有 PDF 文件是否可能?

是的,IronPDF 提供操作和编辑现有 PDF 的功能,允许您根据需要更新内容。

我如何使用 PDF 库直接将 URL 转换为 PDF?

IronPDF 允许您通过使用 ChromePdfRenderer 对象直接将网页 URL 转换为 PDF,从而简化了流程。

用于 .NET 的 PDF 库的主要功能是什么?

像 IronPDF 这样的 PDF 库提供了 PDF 创建、编辑、从 HTML 转换以及添加自定义文本和图像等功能,使其成为 .NET 开发人员的多功能工具。

我可以使用 PDF 库自定义 PDF 设置吗?

是的,IronPDF 允许您自定义各种 PDF 设置,包括页面大小、方向和边距,以满足您特定项目的需求。

如何在 C# 中使用 PDF 库时排除故障?

对于故障排除,您可以参考 IronPDF 提供的文档和资源,或者咨询社区论坛以解决常见问题。

IronPDF 是否兼容 .NET 10?.NET 10 能带来哪些好处?

是的,IronPDF 与 .NET 10 完全兼容。它支持 .NET 10 中引入的运行时和语言增强功能,包括改进的内存使用、性能提升(如数组接口方法去虚拟化)以及减少 PDF 生成和操作的开销。

Curtis Chau
技术作家

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

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

钢铁支援团队

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