如何将pdf文件转换为图像

我有一些文件。 它的格式是pdf现在有一个项目,如果pdf是多页面,这个项目需要将pdf文件转换为Image,我只需要一个包含所有pdf页面的图像。 我从谷歌得到了一些答案,但有些工具是收费的

那么,如何用C#解决呢? 非常感谢你!

我知道,在C#中使用Acrobat.dll可以解决这个问题。 但它必须安装adobe acrobat并且它不是免费的。

以下主题适合您的请求。 将pdf文件转换为jpeg图像

一种解决方案是使用第三方库。 ImageMagick非常受欢迎,也可以免费使用。 您可以在此处获取.NET包装器。 最初的ImageMagick下载页面就在这里 。

  • http://www.codeproject.com/KB/library/pdftoimages.aspx使用Solid Framework将PDF页面转换为图像文件(死链接,已删除的文档可在Internet Archive上获得 )
  • http://www.print-driver.com/howto/convert_pdf_to_jpeg.html通用文档转换器
  • http://sofzh.miximages.com/c%23/n(myGuid); myPageCount = myImage.GetFrameCount(myDimension); for (int i = 0; i myPageCount; i ) { ms = new MemoryStream(); myImage.SelectActiveFrame(myDimension, i); myImage.Save(ms, ImageFormat.Bmp); myBMP = new Bitmap(ms); myImages.Add(myBMP); ms.Close(); } fs.Close(); } }

    像这样使用它:

     private void button1_Click(object sender, EventArgs e) { TiffImage myTiff = new TiffImage("D:\\Some.tif"); //imageBox is a PictureBox control, and the [] operators pass back //the Bitmap stored at that position in the myImages ArrayList in the TiffImage this.pictureBox1.Image = (Bitmap)myTiff.myImages[0]; this.pictureBox2.Image = (Bitmap)myTiff.myImages[1]; this.pictureBox3.Image = (Bitmap)myTiff.myImages[2]; } 

您可以使用Ghostscript将PDF转换为图像。

要使用.NET中的 Ghostscript ,您可以查看Ghostscript.NET库( Ghostscript库周围的托管包装器)。

要使用Ghostscript.NETPDF生成图像 ,请查看RasterizerSample

要将多个图像合并到单个图像中,请查看以下示例: http : //www.niteshluharuka.com/2012/08/combine-several-images-to-form-a-single-image-using-c/#

至于2018年仍然没有关于如何在C#中将PDF转换为图像的问题的简单答案; 许多库使用AGPL许可的GhostScript ,在大多数情况下,生产使用需要昂贵的商业许可。

好的替代方案可能是使用具有GPL许可证的poppler’pdftoppm’实用程序; 它可以在C#中用作System.Diagnostics.Process执行的命令行工具。 Poppler工具在Linux世界中是众所周知的,但也可以使用Windows构建 。

如果您不想自己集成pdftoppm,可以使用我的PdfRenderer poppler包装器 (支持经典的.NET Framework和.NET Core) – 它不是免费的,但定价非常实惠。

(免责声明我曾在Software Siglo XXI上使用过该组件)

您可以使用Super Pdf2Image Converter生成TIFF多页文件,其中包含PDF中高分辨率的所有渲染页面。 它可用于32位和64位,非常便宜和有效。 我建议你试一试。

只需一行代码……

 GetImage(outputFileName, firstPage, lastPage, resolution, imageFormat) Converts specifies pages to image and save them to outputFileName (tiff allows multi-page or creates several files) 

你可以看看这里: http : //softwaresigloxxi.com/SuperPdf2ImageConverter.html