产品比较 如何在 C# (.NET 5) 中使用 PDFSharp 生成 PDF Curtis Chau 已更新:2026年2月1日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 该视频是一个关于如何使用 PDFsharp 库通过 C# 代码生成 PDF 文件的指导教程。 演讲者首先介绍了PDFsharp,这是一个生成PDF文件的棘手但有效的库。 该库具有高级功能,与许多竞争者不同,它完全免费。 演讲者强调,尽管复杂,PDFsharp是使用C#生成PDF文件的绝佳选择。 为了开始教程,演讲者展示了一个生成的PDF文件示例,该文件由三行文本组成。 第一行文本并不完全位于最前面,而第三行文本则出现在底部右角。 演讲者指出,当深入了解代码时,文本的顺序将显得合理。 他们还解释说,他们将使用.NET 5来演示PDFsharp的工作原理。 安装和设置 在进入代码之前,演讲者强调为PDFsharp设置环境可能相当具有挑战性。 他们解释说,在使用PDFsharp NuGet包详情之前,必须安装三个NuGet包。 第一个包是PDFsharp本身,可能会产生一个警告,即由于其版本较旧,它可能与.NET不匹配。 另外两个软件包是 System.Drawing.Common 和 System.Text.Encoding.CodePages。 演讲者强调,必须安装所有三个包才能使用PDFsharp,否则代码会抛出错误。 他们解释说,System.Text.Encoding.CodePages 软件包尤其重要,因为它提供了生成 PDF 文件所需的编码支持。 演讲者还指出,如果没有正确安装这些包,可能很难解决问题。 安装相关库 演讲者解释说,为了使PDFSharp正常工作,必须注册一个提供商 System.Text.Encoding。 该提供程序来自 System.Text.Encoding.CodePages 软件包,演讲者强调了注册该软件包以确保 PDFsharp 正常运行的重要性。 他们解释说,如果不注册提供者会导致错误,这可能很难解决。 创建PDF文件 接下来,演讲者展示了一个简单的控制台应用程序,该程序使用 PDFsharp 生成 PDF 文件。他们解释说,在使用该库之前,必须声明 PDFsharp Drawing 和 PDFsharp PDF 的 using 语句。 演讲者随后展示了生成PDF文件的代码,这涉及创建一个新文档,添加一个新页面,并在页面上绘制文本。 using PdfSharp.Drawing; using PdfSharp.Pdf; namespace PdfSharpExample { class Program { static void Main(string[] args) { // Create a new PDF document PdfDocument document = new PdfDocument(); // Add a new page PdfPage page = document.AddPage(); // Prepare to draw on the page XGraphics gfx = XGraphics.FromPdfPage(page); // Define a font XFont font = new XFont("Verdana", 20, XFontStyle.Bold); // Draw a string to the page gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center); // Save the document const string filename = "HelloWorld.pdf"; document.Save(filename); } } } using PdfSharp.Drawing; using PdfSharp.Pdf; namespace PdfSharpExample { class Program { static void Main(string[] args) { // Create a new PDF document PdfDocument document = new PdfDocument(); // Add a new page PdfPage page = document.AddPage(); // Prepare to draw on the page XGraphics gfx = XGraphics.FromPdfPage(page); // Define a font XFont font = new XFont("Verdana", 20, XFontStyle.Bold); // Draw a string to the page gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center); // Save the document const string filename = "HelloWorld.pdf"; document.Save(filename); } } } $vbLabelText $csharpLabel 演讲者指出,生成PDF文件的代码可以调整以包含更复杂的功能,例如添加图像、表格和图表。 他们还解释说,PDFsharp提供了各种用于字体的功能,包括在PDF文件中嵌入字体。 演讲者解释了正确设置环境的重要性,包括安装必要的NuGet包和注册 System.Text.Encoding 的提供程序。 他们还展示了一个使用PDFsharp生成PDF文件并演示如何调整代码以包含更复杂功能的简单控制台应用程序。 该视频是任何对使用C#和PDFsharp生成PDF文件感兴趣的人的绝佳资源。 创建列表和更复杂的项目 在视频的第二部分,演讲者首先介绍了创建PDF文档的更复杂的示例。 他强调拥有一个空的PDF文档是毫无意义的,并接着解释如何使用PDFSharp库创建一个新页面。 他指出,该过程类似于在Excel或PowerPoint插件中创建东西,并且一旦页面创建,就可以使用一个引用,而不需要调用另一个方法。 演讲者随后介绍了 XGraphics 变量,该变量提供了绘制文本、线条和图像等内容的方法。 引入了 XFont 变量,用于设置 PDF 文档中使用的字体。 演讲者指出,字体可以在其他地方生成,但如果有更复杂的安排,将其全局设置是很有用的。 接下来,演讲者讨论了DrawString方法,该方法可以将文本写入PDF文件。他指出,该方法的复杂之处在于确定文本的绘制位置,并解释了涉及的各种参数,例如字体、颜色以及文本的对齐边界。 他还解释了如何使用 XBrushes 变量来设置文本颜色。 解释 DrawString 和其他方法 然后,演讲者展示了使用 DrawString 方法的不同参数的几个示例,例如将文本居中对齐、将文本左下角对齐以及指定文本放置的确切坐标。 他指出,最后一种选择是最具可自定义性,并提供了很大的灵活性。 演讲者解释如何使用C#编程语言中的图形功能创建表格。 他们介绍如何插入图像、字符串和线条,并如何使用图形功能绘制弧线和条形码。 他们还解释了在使用坐标时尝试和错误的重要性,以及如何画线来分割行。 演讲者还讨论了表头以及为值和线条设置起点的必要性。 他们解释了如何调整y位置和添加记录行,以及当表格超出一定数量的记录时,如何移动到另一页。 最后,他们提到为每个页面重置值的重要性。 结论 总之,演讲者强调在使用PDFSharp时熟悉Microsoft Office插件的重要性,并提供了他自己的关于该主题的课程。 他还指出,该库具有很高的灵活性,可用于创建各种PDF文档,从简单的文本文档到具有图像、图形和自定义布局的更复杂的文档。 IronPDF:一个C# PDF库 IronPDF是一个用于创建、编辑和操作PDF文档的C# PDF库。 它旨在易于使用,并与.NET应用程序无缝集成。 与PDF Sharp相比,IronPDF提供了几个优势。 首先,它是一个商业产品,提供专业支持,而PDF Sharp没有。此外,IronPDF拥有更好的文档和更直观的API,使开发者更容易入门并使用该库。 此外,IronPDF具有更丰富的功能集,包括高级PDF创建选项以及与HTML、CSS和JavaScript协同工作的支持。 功能特性 功能 IronPDF PDFSharp 将HTML转换为PDF 有 不 专业支持 有 不 HTML、CSS和JavaScript支持 有 不 数字签名 有 不 加密 有 不 IronPDF的一个关键功能是其使用IronPDF转换HTML为PDF的能力,使得从网页创建PDF文档变得简单。 此功能在PDF Sharp中不可用,这限制了其使用场景。 IronPDF还支持数字签名和加密,对于需要安全处理的敏感文档至关重要。 此功能在PDF Sharp中不可用。 IronPDF是一个比PDF Sharp更强大和用户友好的PDF库,具有额外的功能和更好的支持选项。 然而,它也是一个商业产品,因此对于寻找免费或开源解决方案的开发者可能不是最佳选择。 请注意PDFsharp是其各自所有者的注册商标。 本网站与PDFsharp无关,未获得其认可或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。)}] 常见问题解答 如何使用 PDFsharp 在 C# 中生成 PDF 文件? 要使用 PDFsharp 生成 PDF,您需要创建一个新的 PDF 文档,添加一页,并使用 XGraphics 对象绘制文本或图形。确保包括 PdfSharp.Drawing 和 PdfSharp.Pdf 命名空间的使用语句。 PDFsharp 所需的基本 NuGet 包是什么? 为了高效地使用 PDFsharp,您需要安装以下 NuGet 包:PDFsharp、System.Drawing.Common 和 System.Text.Encoding.CodePages。这些包对于编码支持和正确生成 PDF 至关重要。 IronPDF 在 C# 中的 PDF 生成与 PDFsharp 的比较如何? IronPDF 是一个商业库,提供高级功能,如 HTML 到 PDF 转换、数字签名和加密,这些功能在 PDFsharp 中不可用。它还提供更好的文档和专业支持,使其在复杂任务中更为用户友好。 使用 PDFsharp 进行 PDF 生成的限制是什么? PDFsharp 不支持 HTML、CSS 或 JavaScript,这限制了其使用场景。对于复杂文件,它需要对编码设置和 Microsoft Office 插件有良好的理解,这使其相比 IronPDF 更不直观。 为什么 System.Text.Encoding.CodePages 包对 PDFsharp 很重要? System.Text.Encoding.CodePages 包在使用 PDFsharp 生成 PDF 文件时提供必要的编码支持。如果没有正确安装和注册此包,您可能会遇到与编码相关的错误。 我可以使用免费的 C# 库将 HTML 转换为 PDF 吗? 不能,PDFsharp 不支持 HTML 到 PDF 转换。对于这样的功能,您需要像 IronPDF 这样的商业库,它提供此功能以及其他高级功能。 如何处理 PDFsharp 中的常见错误? PDFsharp 中常见的错误常常是由于 NuGet 包设置不正确或编码问题导致的。确保所有必需的包,包括 System.Text.Encoding.CodePages,已正确安装和注册以解决这些问题。 为 C# 开发者提供的 IronPDF 提供哪些高级功能? IronPDF 提供高级功能,如 HTML 到 PDF 转换、数字签名、加密以及处理 CSS 和 JavaScript 的能力。它还提供与 .NET 应用程序的集成和专业支持,使其成为开发人员的一款强大工具。 如何在 PDFsharp 中自定义 PDF 的文本布局? 使用 PDFsharp,您可以利用 XGraphics 类的 DrawString 方法在 PDF 中自定义文本布局。这允许您在指定的边界内设置字体、颜色和文本对齐等属性。 PDFsharp 适合在 C# 中创建复杂的 PDF 文档吗? PDFsharp 可以创建复杂的 PDF 文档,但它需要对编码和 Microsoft Office 插件有扎实的理解。由于其更直观的 API 和附加功能,IronPDF 可能是复杂任务的更好选择。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2026年3月1日 在ASP.NET MVC中生成PDF:iTextSharp vs. IronPDF指南 使用 iTextSharp 与 IronPDF for .NET 比较 ASP.NET MVC 中的 PDF 生成方法。了解哪个库能提供更好的 HTML 渲染和更简便的实施。 阅读更多 已更新2026年2月1日 Ghostscript GPL 与 IronPDF:技术比较指南 了解 Ghostscript GPL 和 IronPDF 的主要区别。比较 AGPL 许可与商业许可、命令行开关与本地 .NET API 以及 HTML 到 PDF 的功能。 阅读更多 已更新2026年3月1日 ASP PDF 库:比较 IronPDF、Aspose 和 Syncfusion 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多 什么是iText?(使用IronPDF的C#和Java PDF库替代方案)Windows上的Wkhtmltopdf与IronPDF...
已更新2026年3月1日 在ASP.NET MVC中生成PDF:iTextSharp vs. IronPDF指南 使用 iTextSharp 与 IronPDF for .NET 比较 ASP.NET MVC 中的 PDF 生成方法。了解哪个库能提供更好的 HTML 渲染和更简便的实施。 阅读更多
已更新2026年2月1日 Ghostscript GPL 与 IronPDF:技术比较指南 了解 Ghostscript GPL 和 IronPDF 的主要区别。比较 AGPL 许可与商业许可、命令行开关与本地 .NET API 以及 HTML 到 PDF 的功能。 阅读更多
已更新2026年3月1日 ASP PDF 库:比较 IronPDF、Aspose 和 Syncfusion 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多