半岛权威十大直营(官方)网站

PDF处理控件Spire.PDF系列教程:如何使用 C# 从 PDF文档中提取图片

翻译|使用教程|编辑:吉炜炜|2025-02-10 13:31:24.060|阅读 4 次

概述:无论是想在演示文稿中重复使用图片、存档重要的图像,还是提高 PDF 文档分析的便捷性,都涉及到从 PDF 中提取图片。在本文中,您将学习如何使用 C# 和 Spire.PDF for .NET 从单个 PDF 页面或整个文档中提取图片。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

无论是想在演示文稿中重复使用图片、存档重要的图像,还是提高 PDF 文档分析的便捷性,都涉及到从 PDF 中提取图片。使用 C# 进行 PDF 文档的图片提取可以很好地帮助开发人员更高效地管理资源并优化工作流程。

在本文中,您将学习如何使用 C# 和 Spire.PDF for .NET 从单个 PDF 页面或整个文档中提取图片

安装 Spire.PDF for .NET

首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过  安装。

PM> Install-Package Spire.PDF

从指定的 PDF 页面提取图片

Spire.PDF for .NET 提供了 PdfImageHelper 类,专门用于管理 PDF 文档中的图片。该类支持多种操作,例如删除、替换和提取图片。

要获取指定 PDF 页面上的图片信息,开发人员可以使用 PdfImageHelper.GetImagesInfo(PdfPageBase page) 方法。获取图片信息后,再通过 PdfImageInfo.Image.Save() 方法将图片保存为文件。

提取指定 PDF 页面图片的具体步骤如下:



using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Drawing;

namespace ExtractImagesFromSpecificPage
{
    class Program
    {
        static void Main(string[] args)
        {
            //  创建一个 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            //  加载一个 PDF 文档
            doc.LoadFromFile("/示例文件.pdf");

            //  获取指定的 PDF 页面
            PdfPageBase page = doc.Pages[1];

            //  创建一个  PdfImageHelper 对象
            PdfImageHelper imageHelper = new PdfImageHelper();

            //  获取该页上所有图片的信息
            PdfImageInfo[] imageInfos = imageHelper.GetImagesInfo(page);

            //  遍历图片信息
            for (int i = 0; i < imageInfos.Length; i++)
            {
                // 获取指定图片信息
                PdfImageInfo imageInfo = imageInfos[i];

                //  获取该图片
                Image image = imageInfo.Image;

                //  将图片保存为 PNG 格式
                image.Save("/提取的图片/图片-" + i + ".png");
            }

            //  释放资源
            doc.Dispose();
        }
    }
}



C# 提取指定 PDF 页面的图片

从整个 PDF 文档中提取所有图片

通过阅读上文,您已经了解了如何从特定页面提取图片。接下来,您可以遍历 PDF 文档的每一页,并提取其中的图片,从而收集整个文档中的所有图片。 

从整个 PDF 文档中提取所有图片的具体步骤如下:

using Spire.Pdf;
using Spire.Pdf.Utilities;
using System.Drawing;
namespace ExtractAllImages
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            // 加载一个 PDF 文档
            doc.LoadFromFile("/示例文件.pdf");
 
            // 创建一个 PdfImageHelper 对象
            PdfImageHelper imageHelper = new PdfImageHelper();
 
            // 声明一个 int 变量
            int m = 0;
 
            // 遍历 PDF 中的所有页面
            for (int i = 0; i<doc.Pages.Count; i++)
            {
                // 获取指定的页面
                PdfPageBase page = doc.Pages[i];
 
                // 获取该页上的所有图片信息
                PdfImageInfo[] imageInfos = imageHelper.GetImagesInfo(page);
 
                // 遍历图片信息
                for (int j = 0; j<imageInfos.Length; j++)
                {
                    //  获取指定图片信息
                    PdfImageInfo imageInfo = imageInfos[j];
 
                    // 获取该图片
                    Image image = imageInfo.Image;
 
                    // 将图片保存为 PNG
                    image.Save("/提取的图片/全文图片-" + m + ".png");
                    m++;
                }


            }

            // 释放资源
            doc.Dispose();
        }
    }
}
C# 提取 PDF 文档中的所有图片


————————————————————————————————————————————

慧都是E-iceblue的官方授权代理商,提供Spire系列产品免费试用,咨询,正版销售等于一体的专业化服务。

下载|体验更多E-iceblue产品请咨询,或拨打产品热线:023-68661681

加入E-iceblue技术交流QQ群(767755948),与更多小伙伴一起探讨提升开发技能。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP