使用c#2008将PDF文件拆分为图像文件?

使用c#2008将PDF文件拆分为图像文件?,c#,pdf,C#,Pdf,在我的PDF中,我有一个包含10幅图像的页面 我想将PDF文件拆分为10个单独的图像文件,并将它们保存在单独的文件夹中 请给我一个想法或一个示例解决方案 我用的是c#2008。我不知道一年后这是否仍然相关,但我最近自己做了,所以我想我还是回答一下 首先,您需要使用Ghostscript(http://sourceforge.net/projects/ghostscript/)一个久负盛名的PS/PDF解析/呈现/转换引擎。安装后,请转到%PROGRAMDATA\gs\bin\(如果您运行的是x6

在我的PDF中,我有一个包含10幅图像的页面

我想将PDF文件拆分为10个单独的图像文件,并将它们保存在单独的文件夹中

请给我一个想法或一个示例解决方案


我用的是c#2008。

我不知道一年后这是否仍然相关,但我最近自己做了,所以我想我还是回答一下

首先,您需要使用Ghostscript(http://sourceforge.net/projects/ghostscript/)一个久负盛名的PS/PDF解析/呈现/转换引擎。安装后,请转到
%PROGRAMDATA\gs\bin\
(如果您运行的是x64系统,请转到x86),抓取
gsdll32.dll
,并将其复制到/bin文件夹中

然后需要一个名为Super PDF2Image Converter()的封闭源PDF库,从.zip文件中获取
PDF2Image.dll
,并将其复制到/bin文件夹中

下面是一个关于如何使用这两个库将多个PDF页面转换为图像的快速示例:

using Pdf2Image;
--

const字符串_filename=“/3.pdf”;
//实例化组件
var p2i=新的Pdf2ImageConverter(_文件名);
//获取PDF文件的页数
int pages=p2i.GetPageCount();
回答。写(页);
//循环浏览每一页
对于(int i=1;i

根据您的硬件,每页花费的时间不应超过几秒钟。

我假设您希望从PDF文件中的特定页面提取图像,并将这些图像保存到单独的文件中

如果我是对的,那么你可能想看看。下面是一个示例,演示如何将图像从PDF页面提取到指定文件夹:

static void ExtractImagesFromPdfPageIntoFolder()
{
    string pathToPdf = "";
    int pageIndex = 0;
    string outputFolder = "";
    using (PdfDocument pdf = new PdfDocument(pathToPdf))
    {
        for (int i = 0; i < pdf.Pages[pageIndex].Images.Count; i++)
        {
            string imageName = string.Format("image{0}", i);
            string outputName = Path.Combine(outputFolder, imageName);
            string savedPath = pdf.Pages[pageIndex].Images[i].Save(outputName);
        }
    }
}
static void ExtractImagesFromPdfPageIntoFolder()
{
字符串pathToPdf=“”;
int pageIndex=0;
字符串outputFolder=“”;
使用(PdfDocument pdf=新PdfDocument(pathToPdf))
{
对于(int i=0;i
免责声明:我为图书馆的供应商BitMiracle工作

static void ExtractImagesFromPdfPageIntoFolder()
{
    string pathToPdf = "";
    int pageIndex = 0;
    string outputFolder = "";
    using (PdfDocument pdf = new PdfDocument(pathToPdf))
    {
        for (int i = 0; i < pdf.Pages[pageIndex].Images.Count; i++)
        {
            string imageName = string.Format("image{0}", i);
            string outputName = Path.Combine(outputFolder, imageName);
            string savedPath = pdf.Pages[pageIndex].Images[i].Save(outputName);
        }
    }
}