PDF TO IMAGE PFD转图片

搞一个一天的pdf转图片,网上都是些操蛋的代码,和dll,都是12年以前的东西,实在没有能用的东西,总结下网上这些操蛋的事

1,能找到dll,还有某人总结10种,11种方案,还有稳定运行一年多,打赏博主,看的热血沸腾的,拿过来一用各种不能用各种报错!!!

2,在国外网站搜索了一圈,确实又能用的dll,可是生成的不全,或者生成出来还都有红色水印,真是蛋疼

3,各个论坛都找不到新鲜的能用的东西,有的还专门成立了公司,做pdf转图片。

搞了一天,真是不甘心,晚上又搞了会,无意间看到了magick,而且他们还是开源的国外项目,我曹真是太好了,第二天来公司,试用了下立马搞定了,还挺好用,稳定输出。。。下面看怎么用这个东西

1,建立一个控制台应用程序,右键nuget,搜索magick,安装q16,anycpu,这个应用就添加到了引用中。然后在控制台中放上这段代码

 class Program
    {
        static void Main(string[] args)
        {
            MagickNET.SetGhostscriptDirectory(@"E:\DBENTest\PDFtoImageDemo\PDFtoImageDemo\lib");
            MagickReadSettings settings = new MagickReadSettings();
            // Settings the density to 300 dpi will create an image with a better quality
            settings.Density = new Density(300);
            

            using (MagickImageCollection images = new MagickImageCollection())
            {
                // Add all the pages of the pdf file to the collection
                images.Read("E:\\DBENTest\\PDFtoImageDemo\\PDFtoImageDemo\\test.pdf", settings);

                //Create new image that appends all the pages horizontally
                using (MagickImage horizontal = images.AppendHorizontally())
                {
                    // Save result as a png
                    horizontal.Write("Snakeware.horizontal.png");
                }

                //Create new image that appends all the pages horizontally
                using (MagickImage vertical = images.AppendVertically())
                {
                    // Save result as a png
                    vertical.Write("Snakeware.vertical.jpeg");
                }
                using (MagickImage vertical = images.AppendVertically())
                {
                    // Save result as a png
                    vertical.Write("Snakeware.vertical.gif");
                }
            }
        }
    }

2,有一个特别注意的地方,如果想pdf转图片必须安装一个应用,才可以装换,应用名字是gs920w64.exe下载链接是http://www.ghostscript.com/download/gsdnld.html

 

3,下载下来安装上就可以了,运行刚才的程序就可以装换图片了

4,可是有个问题就是我们的服务试运行在服务器上的,所以不可能安装一个程序到服务器,所有就有个程序开头的那句代码  MagickNET.SetGhostscriptDirectory(@"E:\DBENTest\PDFtoImageDemo\PDFtoImageDemo\lib");这个话的意思就是指定应用程序的目录,什么目录呢?就是我们安装的程序gs920w64.exe的目录,当我们安装完这个程序之后,在bin目录下找到这两个文件gsdll32.dll/gsdl64.dll 或者 gswin32c.exe/gswin64c.exe 把这个两个文件拷贝到任意你想放的,而且能访问到地方,别jb访问不到。

5,这样我们就可以在服务器上用我们的这个功能了。

6,这个pdf转image目前所有网站都找不到这样的demo和例子,所以写下来,供大家使用解决时间。。。如果有不明白可以加我qq835961075,因为那个应用程序不好下载,我用FQ下载的,所以可以管我要。

 

posted on 2016-10-18 11:17  缘在此季  阅读(1333)  评论(2编辑  收藏  举报

导航