产品比较

IronPDF与PDFsharp PDF到图像转换(代码示例)

发布 2025年二月19日
分享:

PDF 是数字通信的基石,被广泛用于各个行业中的文档共享和保存。 然而,在某些情况下,将PDF文件转换为图像格式变得至关重要。 通过将PDF转换为图像,用户可以将文档内容无缝集成到演示文稿、网站或社交媒体平台中,从而提高可见性和可访问性。

无论是出于创意目的、提高兼容性,还是为了更轻松地共享,具备这种能力将PDF转换为图像打开了一片可能性的天地。 本文探讨了PDF到图像转换的重要性,并比较了两个流行的C#库——PDFSharpIronPDF帮助您高效实现这一目标。

PDFsharp

PDFsharp 是一个流行的开源 PDF 库,允许开发人员在 C# 中创建、修改和处理 PDF 文档。 PDFsharp凭借其广泛的功能和对各种PDF操作的支持,为开发人员提供了灵活性。

虽然PDFsharp在生成PDF和进行基本修改方面很出色,但它缺乏对高级任务的本地支持,例如将PDF转换为图像。 开发人员通常依赖于像 System.Drawing 这样的扩展或第三方库来处理渲染任务。

IronPDF

IronPDF 与 PDFsharp PDF-到-图像转换(代码示例):图 1 - image.png

IronPDF 为 .NET 生态系统内强大的 PDF 操作和生成功能打开了大门。 随着企业和开发者寻求以编程方式高效处理PDF相关任务的解决方案,IronPDF成为一个可靠的选择功能丰富的库. 无论是转换将 HTML 内容转换为 PDF, 合并、拆分或编辑现有的PDF文档,IronPDF为C#开发人员提供了一套强大的工具,以简化他们的工作流程。

轻松集成大量文件对于浏览以查找内容的用户,以及支持现代用例如图像提取,IronPDF简化了以编程方式处理PDF任务的过程。 在下文中,我们将展示如何使用IronPDF轻松从PDF中提取图像。

在今天的示例中,我们将把这个 PDF 转换为图像:

IronPDF与PDFsharp的PDF到图像转换(代码示例):图2

安装 IronPDF NuGet 软件包

要将IronPDF集成到您的项目中,请按照以下步骤操作:

  1. 在 Visual Studio 中打开 NuGet 包管理器

    1. 搜索IronPDF并安装该软件包。

    IronPDF 与 PDFsharp PDF 转图像转换(代码示例):图 3

    1. 或者,在程序包管理器控制台中使用以下命令:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel
  1. 安装后,您可以开始使用 IronPDF 进行 PDF 转换为图像的处理。

安装 PDFsharp NuGet 包

要使用PDFSharp,请按照以下步骤从NuGet安装:

  1. 在 Visual Studio 中打开 NuGet 包管理器

    1. 搜索 PDFSharp 并安装该软件包。

    IronPDF与PDFsharp PDF到图像转换(代码示例):图4

    1. 或者,在包管理器控制台中运行以下命令:
Install-Package PDFsharp
Install-Package PDFsharp
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package PDFsharp
$vbLabelText   $csharpLabel

虽然PDFsharp不包括将PDF呈现为图像的本机支持,但您可以通过集成System.Drawing等库来扩展其功能。

使用IronPDF将PDF文档转换为图像

IronPDF使从PDF中提取图像变得简单。 这是一个演示如何使用的示例将PDF文件转换为图像使用 IronPDF:

using IronPdf;
using System.Drawing;
class Program
{
    static void Main(string[] args)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/#readme-body-tab");
        pdf.RasterizeToImageFiles("IronPdfImage.png");
    }
}
using IronPdf;
using System.Drawing;
class Program
{
    static void Main(string[] args)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/#readme-body-tab");
        pdf.RasterizeToImageFiles("IronPdfImage.png");
    }
}
Imports IronPdf
Imports System.Drawing
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer As New ChromePdfRenderer()
		Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/#readme-body-tab")
		pdf.RasterizeToImageFiles("IronPdfImage.png")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF与PDFsharp PDF-to-Image转换(代码示例):图5

此示例演示了IronPDF库如何轻松地将PDF转换为一系列图像。 首先创建一个 ChromePdfRenderer 实例,它使用基于 Chromium 的引擎将给定的 URL 渲染为我们将使用的 PDF。 接着调用 RenderUrlAsPdf 方法,以加载并将指定的 URL 转换成 PDF 文档。

最后,RasterizeToImageFiles 方法将 PDF 的每一页转换为图像文件,并将它们保存为当前目录中的 “IronPdfImage.png” 文件。 每个图像对应 PDF 的一页,使得过程简单高效。

使用PDFsharp将PDF文件转换为图像

虽然PDFsharp不提供将PDF转换为图像的内置方法,但您可以通过将PDFsharp与System.Drawing结合使用下面的代码示例:

using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
    static void Main(string[] args)
    {
        // Load PDF document
        var document = PdfReader.Open("example.pdf", PdfDocumentOpenMode.Import);
        var page = document.Pages[0];
        // Convert to image (requires additional rendering logic)
        Bitmap bitmap = new Bitmap(800, 1200); // Example dimensions
        using (Graphics graphics = Graphics.FromImage(bitmap))
        {
            int height = bitmap.Height;
            int width = bitmap.Width;
            // Simulate rendering (requires GDI+ or a rendering library)
            graphics.FillRectangle(Brushes.White, 0, 0, width, height);
            graphics.DrawString("Rendering is not native to PDFSharp",
                new Font("Arial", 16), Brushes.Black, new PointF(10, 10));
        }
        // Save as image
        bitmap.Save("output.png", ImageFormat.Png);
    }
}
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
    static void Main(string[] args)
    {
        // Load PDF document
        var document = PdfReader.Open("example.pdf", PdfDocumentOpenMode.Import);
        var page = document.Pages[0];
        // Convert to image (requires additional rendering logic)
        Bitmap bitmap = new Bitmap(800, 1200); // Example dimensions
        using (Graphics graphics = Graphics.FromImage(bitmap))
        {
            int height = bitmap.Height;
            int width = bitmap.Width;
            // Simulate rendering (requires GDI+ or a rendering library)
            graphics.FillRectangle(Brushes.White, 0, 0, width, height);
            graphics.DrawString("Rendering is not native to PDFSharp",
                new Font("Arial", 16), Brushes.Black, new PointF(10, 10));
        }
        // Save as image
        bitmap.Save("output.png", ImageFormat.Png);
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.IO
Imports System.Drawing
Imports System.Drawing.Imaging
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Load PDF document
		Dim document = PdfReader.Open("example.pdf", PdfDocumentOpenMode.Import)
		Dim page = document.Pages(0)
		' Convert to image (requires additional rendering logic)
		Dim bitmap As New Bitmap(800, 1200) ' Example dimensions
		Using graphics As Graphics = System.Drawing.Graphics.FromImage(bitmap)
			Dim height As Integer = bitmap.Height
			Dim width As Integer = bitmap.Width
			' Simulate rendering (requires GDI+ or a rendering library)
			graphics.FillRectangle(Brushes.White, 0, 0, width, height)
			graphics.DrawString("Rendering is not native to PDFSharp", New Font("Arial", 16), Brushes.Black, New PointF(10, 10))
		End Using
		' Save as image
		bitmap.Save("output.png", ImageFormat.Png)
	End Sub
End Class
$vbLabelText   $csharpLabel

关键步骤说明

  1. 加载PDF文档:

    PDFsharp 的 PdfReader.Open 方法用于以导入模式加载现有的 PDF 文件,从而使我们能够读取其内容。

  2. 模拟渲染

    由于PDFsharp本身不支持将PDF页面渲染为图像,在这个例子中我们使用了Graphics对象来绘制文本(渲染不是 PDFSharp 的本机功能)在空白位图上。然而,这实际上并没有渲染PDF页面的内容。

  3. 保存图像

    Bitmap 对象使用 ImageFormat.Png 保存为 PNG 文件。

    正如您所看到的,虽然这已经将PDF保存为图像格式,但它也显示了PDFSharp缺乏任何真正内置的PDF到图像功能。 为了在保持原始PDF页面内容的同时将PDF文档转换为图像,您需要实现外部库,如PdfiumViewerGDI+

    IronPDF 与 PDFsharp PDF 转换成图像(代码示例):图 6

结论

在当今数字化的世界中,能够将PDF转换为图像提供多种可能性,可以将文档无缝集成到演示文稿、网页或社交媒体平台中,提高可访问性和创造力。

PDFSharp 提供了一种强大、开源的解决方案,用于生成和修改PDF。 然而,当涉及到将PDF渲染为图像等高级功能时,这需要额外的库或变通方法,这可能会影响性能和易用性。

相反,IronPDF 提供了一个功能丰富的现代库,内置图像提取支持,使其成为处理 PDF 转换为图像的开发人员的更高效选择,无论您是一名自由软件开发人员,还是一家寻求最佳 PDF 解决方案的公司。 IronPDF提供灵活的许可选项,起始于一个免费试用提供各种等级以满足个人开发者和企业的需求。

比较 IronPDF 和 PDFsharp 时PDF 转换为图像IronPDF凭借其卓越的功能集、易用性和全面的许可证选项脱颖而出,成为赢家。

Kannaopat Udonpant

坎那帕·乌东攀

软件工程师

 LinkedIn

在成为软件工程师之前,Kannapat 从日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了生物生产工程系车辆机器人实验室的成员。2022年,他利用自己的 C# 技能加入了 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他能直接向编写 IronPDF 大部分代码的开发者学习。除了同伴学习,Kannapat 还享受在 Iron Software 工作的社交方面。不写代码或文档时,Kannapat 通常在 PS5 上玩游戏或重看《最后生还者》。
< 前一页
PDFsharp 向 PDF 添加页码 VS IronPDF(示例)
下一步 >
PDFsharp 电子签名 PDF 文档与 IronPDF(代码示例)