zoukankan      html  css  js  c++  java
  • GhostScript Pdf 转换图片 记录

    PDF 转换图片

    工作中碰到了pdf转换图片的需求,本来希望通过iTextSharp来进行转换,但通过Stackoverflow的文档,发现可以通过 GhostScript来实现,这里记录下

    GhostScript 安装

    这个通过官网的下载地址安装,我这里选择的wind 64 AGPL 的版本

    下载下来为exe文件,安装就一路点击next即可。

    命令行转换pdf

    这里的命令行通过 powshell进行

     'C:Program Filesgsgs9.54.0ingswin64.exe'  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -o -dGraphicsAlphaBits=4 -r200 -sOutputFile=I:PdfToImg1111-%d.jpeg I:PdfToImg1111.pdf

    其中 -sDEVICE 为输入的类型,这里设置为jgeg模式, -sOutPutFile就是转换后的文件名,其中 %d的意思就是将页码输出出来,这样多页的pdf就会输出多份图片,-r200就是DPI设置为200

    当然了也可以通过输出png格式的图片类型,以下为png的输出

    'C:Program Filesgsgs9.54.0ingswin64.exe'  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -dGraphicsAlphaBits=4 -r300 -sOutputFile=I:PdfToImg1111-%d.png I:PdfToImg1111.pdf

    对比下,其实主要为输出的类型不一致,其它的都类似。

    最终会在设置的output文件夹中看到转换后的图片

    C#代码转换pdf

    命令行可以之后,这里就开始C# console程序转换下

    System.Diagnostics.Process gscProcess= new System.Diagnostics.Process();
    gscProcess.StartInfo.WorkingDirectory = @"C:Program Filesgsgs9.54.0in";
    gscProcess.StartInfo.FileName = "gswin64.exe";
    gscProcess.StartInfo.Arguments = @"-dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -o -dGraphicsAlphaBits=4 -r200 -sOutputFile=I:PdfToImg111221-%d.jpeg I:PdfToImg1111.pdf";
    gscProcess.Start();
    
    gscProcess.WaitForExit();

    总结

    以上就是pdf转换图片的总结,

    参考之类如下:

    https://stackoverflow.com/questions/1941118/converting-pdf-to-a-collection-of-images-on-the-server-using-ghostscript

    https://www.ghostscript.com/

    https://www.ghostscript.com/doc/9.54.0/Use.htm

  • 相关阅读:
    【Linux】【Shell】【Basic】文件查找locate,find
    【Linux】【Shell】【text】Vim
    【Linux】【Shell】【text】文本处理工具
    【Linux】【Shell】【text】grep
    【Linux】【Basis】用户、组和权限管理
    什么是高并发;超发的解决思路(悲观锁与乐观锁);高并发与多线程的关系--持续更新(十四)
    线程池的应用(十三)
    线程池基本概念(十二)
    ThreadLocal(十一)
    tomcat的单例多线程代码示例(十)
  • 原文地址:https://www.cnblogs.com/julyluo/p/14606190.html
Copyright © 2011-2022 走看看