使用c#2008将PDF文件拆分为图像文件?
在我的PDF中,我有一个包含10个图像的页面。
我想将PDF文件拆分为10个单独的图像文件,并将它们保存在单独的文件夹中。
请给我一个想法或一个示例解决方案。
我正在使用c#2008。
一年后我不知道这是否仍然有用,但我最近自己做了,所以我想我还是会回答。
首先,你需要Ghostscript(http://sourceforge.net/projects/ghostscript/)一个古老的PS / PDF解析/渲染/转换引擎。 安装后,前往%PROGRAMDATA\gs\bin\
(如果您运行的是x64系统,则gsdll32.dll
x86)并获取gsdll32.dll
并将其复制到/ bin文件夹。
然后,您需要一个名为Super PDF2Image Converter的封闭源PDF库( http://sofzh.miximages.com/c%23/ converts the page to PNG format (returns bitmap object with original size) var pdfimage = p2i.GetImage(i, width, Pdf2ImageFormat.PNG); pdfimage.Save(string.Format(“/{0}.png”,i)); pdfimage.Dispose(); }
根据您的硬件,每页不应超过几秒钟。
我假设您要从PDF文件中的特定页面提取图像,并将这些图像保存到单独的文件中。
如果我是对的,那么你可能想看看Docotic.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); } } }
免责声明:我为图书馆的供应商Bit Miracle工作。