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

  • 相关阅读:
    临时表的问题
    List集合和Set集合互转
    mysql数据库事件
    mysql存储过程事务
    N皇后问题
    递归实现字符数组的全排列及组合
    判断一个序列是否为某二叉搜索树的后续遍历结果
    递归实现两个有序链表的合并
    递归实现字符串反转
    根据字节数截取字符串
  • 原文地址:https://www.cnblogs.com/julyluo/p/14606190.html
Copyright © 2011-2022 走看看