产品比较 探索在.NET中向PDF中添加图像的最佳替代方案 Curtis Chau 已更新:八月 31, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 在.NET环境中处理PDF文件时,向文档添加图像是许多应用程序的常见需求。 无论你是在生成发票、报告还是自定义文档,将图像嵌入PDF的能力是至关重要的。 Two of the most popular PDF libraries in C# are IronPDF and iTextSharp. 在本文中,我们将比较这两个库在将图像添加到PDF中的能力,考虑易用性、性能、许可和功能。 IronPDF和iTextSharp之间的关键区别 与添加图像相关的功能 IronPDF:IronPDF使将图像添加到PDF变得简单,它内置支持嵌入本地和远程图像。 其API允许对图像的位置、原始宽度以及文档内的缩放进行精细控制。 iTextSharp:iTextSharp也提供了嵌入图像的功能。 它提供了灵活而强大的API,可以处理各种图像类型,包括JPG和PNG。 然而,自定义时可能需要更多行代码,尤其是在设置图像位置或调整大小时。 性能考虑 IronPDF:IronPDF因其效率而闻名,可以顺利处理大PDF和图片。 它在生成或修改带有嵌入图形的PDF时表现出色,是需要高性能服务器应用程序的理想选择。 iTextSharp:虽然iTextSharp是一个可靠的库,但在某些情况下可能会较慢,尤其是在处理大文件或复杂的图像操作时。 然而,它仍然适合大多数应用程序。 许可和定价模式 IronPDF:IronPDF提供永久许可证,这意味着一次性购买即可无限期使用。 这对于想要避免重复订阅费用的开发人员来说是理想选择。 iTextSharp:iTextSharp根据AGPL(Affero通用公共许可证)进行开源使用,这意味着如果在你的项目中使用,你必须公开发布源代码,或者可以选择商业许可证以避免此要求。 使用IronPDF将图像添加到PDF 在C#项目中设置IronPDF 在添加图像之前,你需要在最新版本的C#或Visual Basic项目中安装IronPDF。 你可以通过NuGet实现: Install-Package IronPdf 安装完成后,你即可开始向PDF文档添加图像。 使用IronPDF将图像添加到PDF:代码示例 以下代码示例展示了如何使用IronPDF将图像添加到PDF: using IronPdf; using IronPdf.Editing; class Program { public static void Main(string[] args) { // Create a renderer to convert HTML to PDF ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render a basic PDF with some HTML content PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Create an ImageStamper with the image URL ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")); // Apply the stamp (image) to the PDF document pdf.ApplyStamp(stamper); // Save the modified PDF to a file pdf.SaveAs("output.pdf"); } } using IronPdf; using IronPdf.Editing; class Program { public static void Main(string[] args) { // Create a renderer to convert HTML to PDF ChromePdfRenderer renderer = new ChromePdfRenderer(); // Render a basic PDF with some HTML content PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Create an ImageStamper with the image URL ImageStamper stamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")); // Apply the stamp (image) to the PDF document pdf.ApplyStamp(stamper); // Save the modified PDF to a file pdf.SaveAs("output.pdf"); } } Imports IronPdf Imports IronPdf.Editing Friend Class Program Public Shared Sub Main(ByVal args() As String) ' Create a renderer to convert HTML to PDF Dim renderer As New ChromePdfRenderer() ' Render a basic PDF with some HTML content Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") ' Create an ImageStamper with the image URL Dim stamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) ' Apply the stamp (image) to the PDF document pdf.ApplyStamp(stamper) ' Save the modified PDF to a file pdf.SaveAs("output.pdf") End Sub End Class $vbLabelText $csharpLabel 在这个示例中,我们首先使用ChromePdfRenderer类从HTML字符串渲染一个新的PDF。 然后,使用IronPDF的图像标记工具,我们从提供的字符串URL创建新的图像并将其应用到PDF。 此示例展示了如何使用IronPDF在仅几行代码中将图像添加到PDF页面。 自定义图像位置和大小 IronPDF在图像位置方面提供了广泛的自定义功能。 通过设置图像的对齐和偏移,您可以指定图像在页面上的位置,利用标记工具的定位功能。 使用iTextSharp将图像添加到PDF 在C#项目中设置iTextSharp 要开始使用iTextSharp,你需要通过NuGet安装库: Install-Package itext7 设置完成后,你可以继续将图像添加到你的PDF中。 使用iTextSharp将图像添加到PDF:代码示例 下面是一个使用iTextSharp插入图像的示例: using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using iText.IO.Image; class Program { public static void Main(string[] args) { // Initialize PDF writer var pdfWriter = new PdfWriter("output.pdf"); // Initialize PDF document var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter); // Initialize document var document = new Document(pdfDocument); // Create ImageData from image file ImageData imageData = ImageDataFactory.Create("iText.png"); // Create an Image instance Image image = new Image(imageData); // Set fixed position for the image in the PDF image.SetFixedPosition(50, 100); // x, y coordinates // Scale image to fit within specified dimensions image.ScaleToFit(200, 200); // Width, Height // Add image to document document.Add(image); // Close the document document.Close(); } } using iText.Kernel.Pdf; using iText.Layout; using iText.Layout.Element; using iText.IO.Image; class Program { public static void Main(string[] args) { // Initialize PDF writer var pdfWriter = new PdfWriter("output.pdf"); // Initialize PDF document var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter); // Initialize document var document = new Document(pdfDocument); // Create ImageData from image file ImageData imageData = ImageDataFactory.Create("iText.png"); // Create an Image instance Image image = new Image(imageData); // Set fixed position for the image in the PDF image.SetFixedPosition(50, 100); // x, y coordinates // Scale image to fit within specified dimensions image.ScaleToFit(200, 200); // Width, Height // Add image to document document.Add(image); // Close the document document.Close(); } } Imports iText.Kernel.Pdf Imports iText.Layout Imports iText.Layout.Element Imports iText.IO.Image Friend Class Program Public Shared Sub Main(ByVal args() As String) ' Initialize PDF writer Dim pdfWriter As New PdfWriter("output.pdf") ' Initialize PDF document Dim pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfWriter) ' Initialize document Dim document As New Document(pdfDocument) ' Create ImageData from image file Dim imageData As ImageData = ImageDataFactory.Create("iText.png") ' Create an Image instance Dim image As New Image(imageData) ' Set fixed position for the image in the PDF image.SetFixedPosition(50, 100) ' x, y coordinates ' Scale image to fit within specified dimensions image.ScaleToFit(200, 200) ' Width, Height ' Add image to document document.Add(image) ' Close the document document.Close() End Sub End Class $vbLabelText $csharpLabel 在这个例子中,图像被添加到了坐标(50, 100)并缩放以适应200x200像素区域。 PdfWriter被用来创建输出文件,使得可以操控处理图像的PDF写入功能。 自定义图像位置和大小 iTextSharp提供了更多的图像位置和大小控制。可以在保持纵横比的同时缩放图像,或将其拉伸到特定尺寸。 SetFixedPosition方法提供精确的放置控制,并且可以操作图像的对齐和旋转。 性能比较:IronPDF vs iTextSharp 在性能方面,两个库都可以处理PDF中添加图像的任务,但它们有一些差异: IronPDF针对性能进行了优化,可以高效地处理带有多张图片的大文档。 在渲染PDF,特别是需要重图形内容的文档时,它速度更快。 iTextSharp提供了良好的性能,但可能在非常大的PDF或大量高分辨率图片的情况下表现不佳。 虽然它仍然相当高效,但一些开发者报告其在更复杂的用例中比IronPDF更慢。 许可和定价模式 IronPDF:IronPDF提供了简单的永久许可证,只需一次性购买。 这对希望避免持续成本或复杂的开源许可证要求的开发者有利。 iTextSharp:iTextSharp遵循AGPL许可证,免费用于开源项目,但如果库用于网络应用,则要求公开源代码。 对于商业用途,iTextSharp提供付费商业许可证以避免AGPL限制。 结论 IronPDF和iTextSharp都提供了强大的工具,用于在C#中将图像添加到PDF中,但它们各自拥有独特的优势。 IronPDF因其易用性、性能和许可灵活性而脱颖而出,使其成为希望用更少代码处理复杂PDF和图像的开发者的理想选择。 它还为大型PDF提供了更好的可扩展性,并提供一次性购买许可模式,避免了持续费用或复杂的开源许可限制。 另一方面,iTextSharp可以是开源项目的不错选择,尽管可能需要更多代码才能实现相同的结果,并且可能在处理更大PDF时面临性能问题。 准备好简化您的PDF图像处理了吗? IronPDF提供无缝且高效的体验,仅需几行代码就能将图像添加到您的PDF中。 试试IronPDF,看看将图像支持集成到C#项目中是多么容易。 使用IronPDF,您将节省时间,降低复杂性,并增强您的PDF生成工作流程。 {i:(iTextSharp 是其各自所有者的注册商标。 本网站与 iTextSharp 无关,也未得到 iTextSharp 的支持或赞助。所有产品名称、徽标和品牌均为其各自所有者的财产。 比较仅供参考,反映的是撰写时的公开信息。] 常见问题解答 如何在 .NET 应用程序中将图像添加到 PDF? 您可以使用 IronPDF 的 ImageStamper 功能将图像添加到 PDF,从而轻松嵌入图像,并可以精确控制图像的位置和缩放。 使用 IronPDF 处理大型 PDF 文件有哪些性能优势? IronPDF 专为高性能而优化,特别是在处理大型 PDF 文件和高分辨率图像时,使其非常适合需要高效处理的服务器端应用程序。 IronPDF 如何简化将图像嵌入 PDF 的过程? IronPDF 通过提供直观的 API 来简化图像嵌入,只需少量代码即可在 PDF 文档中放置和缩放图像,提高开发者的生产力。 与 iTextSharp 相比 IronPDF 的许可模式是什么? IronPDF 提供永久许可证,一次性购买,消除经常性的订阅费用,而 iTextSharp 使用 AGPL 许可证进行开源使用,并为专有项目提供商业选项。 能提供一个使用 IronPDF 添加图像到 PDF 的代码示例吗? 当然!您可以使用 IronPDF 的 PdfDocument 和 ImageStamper 类通过几行代码将图像嵌入 PDF,示例在文章中有演示。 IronPDF 和 iTextSharp 的图像放置自定义有何不同? IronPDF 提供简单的图像放置自定义,具有对齐和偏移设置,而 iTextSharp 提供详细的图像定位控制,使用诸如 SetFixedPosition 的方法。 在选择 IronPDF 和 iTextSharp 时有哪些关键考虑因素? 选用 IronPDF 和 iTextSharp 的决定取决于易用性、大文件性能和许可需求等因素。IronPDF 因其用户友好和可扩展性而受到青睐,而 iTextSharp 则适合开源项目。 为什么推荐使用 IronPDF 进行高性能的服务器应用程序? IronPDF 的架构是为高性能而设计的,能够高效处理大型文档和图像,使其成为需要速度和可靠性的服务器应用程序的绝佳选择。 在将图像添加到 PDF 时常见的故障排除步骤是什么? 在故障排除 PDF 中的图像嵌入问题时,确保图像路径正确,检查文件访问权限,并验证图像格式是否被所用 PDF 库支持。 IronPDF 的试用版如何帮助开发人员? IronPDF 的试用版允许开发人员探索其功能,并测试其在处理 PDF 图像嵌入方面的能力,提供简化 C# 项目中 PDF 处理的机会。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十一月 13, 2025 比较 C# HTML 到 PDF 开源与 IronPDF 比较开源 HTML 到 PDF 库与 IronPDF for C#。发现哪个解决方案为您的 .NET 项目提供最佳的 PDF 生成能力。 阅读更多 已发布十月 27, 2025 哪种 ASP.NET Core PDF 库性价比最高? 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多 已发布十月 27, 2025 如何使用 Aspose C# 与 IronPDF 创作 PDF 通过此逐步指南,学习如何使用 Aspose C# 与 IronPDF 创建 PDF,专为开发人员设计。 阅读更多 探索添加水印到PDF的PDFsharp最佳替代方案探索PDFsharp的最佳PDF到图像...
已发布十一月 13, 2025 比较 C# HTML 到 PDF 开源与 IronPDF 比较开源 HTML 到 PDF 库与 IronPDF for C#。发现哪个解决方案为您的 .NET 项目提供最佳的 PDF 生成能力。 阅读更多
已发布十月 27, 2025 哪种 ASP.NET Core PDF 库性价比最高? 发现适合ASP.NET Core应用程序的最佳PDF库。比较IronPDF的Chrome引擎与Aspose和Syncfusion的替代品。 阅读更多
已发布十月 27, 2025 如何使用 Aspose C# 与 IronPDF 创作 PDF 通过此逐步指南,学习如何使用 Aspose C# 与 IronPDF 创建 PDF,专为开发人员设计。 阅读更多