如何把pdf文件的每一页都转成一个图片呢?首先说一下GhostScript这个软件。

Ghostscript是一套建基于Adobe、PostScript及可移植文档格式(PDF)的页面描述语言等而编译成的免费软件。详情请参考

百度百科:“http://baike.baidu.com/link?url=S1cISfrHO3F3K19xOKSmB10Vt3K4h02yS9fJH8zm27A2vIqEvtNVIlyi3AvoATv_”

Ghostscript官网:“http://www.ghostscript.com/”

参考资料:http://www.ghostscript.com/doc/current/Use.htm

使用方法:

Ghostscript使用方法很简单。我用的是gs906w32这个版本。点击安装即可。

  /// <summary>/// PDF转成图片/// </summary>/// <param name="pdfFile">PDF文件路径</param>/// <param name="imgPath">图片输出路径</param>/// <returns>图片数量</returns>public static int PDFToImg(string pdfFile, string imgPath){PDFFile doc = PDFFile.Open(pdfFile);int pageCount = doc.PageCount;string pdfFileName = Path.GetFileName(pdfFile);string imgFile = Path.Combine(imgPath, "page");//转换成的图片文件if (pageCount == 0) return 0;if (pageCount == 1){imgFile += ".jpg";if (File.Exists(imgFile)){File.Delete(imgFile);}}else{//检查是否存在相同名称的图片文件for (int i = 0; i < pageCount; i++){string _imgFile = imgFile + (i).ToString() + ".jpg";if (File.Exists(_imgFile)){File.Delete(_imgFile);}}imgFile += "%d.jpg";}//启动一个新的进程。传入转换参数Process prc = new Process();prc.StartInfo.UseShellExecute = false;prc.StartInfo.CreateNoWindow = true;prc.EnableRaisingEvents = true;prc.Exited += new EventHandler(prc_Exited);//-r150 图片质量,数字越大越清晰,sDEVICE=png 转换的图片格式,imgFile 图片输出路径(含文件名),pdfFile pdf文件地址prc.StartInfo.Arguments = "-dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=jpeg -dGraphicsAlphaBits=4" + @" -sOutputFile=" + imgFile + "  " + pdfFile;//这里是gswin32.exe文件的路径。请按照安装路径查找prc.StartInfo.FileName = @"C:\Program Files\gs\gs9.06\bin\gswin32.exe";prc.Start();return pageCount;}

但是里有一个问题。那就是没转换玩一个都会提示你“转换成功”。解决办法,就是使用user32.dll。根据提示窗口名称,抓取桌面的提示对话框。获得该对话框后,使确定按钮获取焦点然后,根据sendKey 模拟敲击回车。

如果谁有好的办法,希望留言告知 谢谢 嘿嘿

转载于:https://www.cnblogs.com/ywtk/p/3291034.html

C# PDF 转成图片利用GhostScript相关推荐

  1. C#技术分享【PDF转换成图片——13种方案】

    1.[O2S.Components.PDFRender4NET.dll],第三方DLL,可以实现PDF转图片,支持32位系统.64位系统 官方试用版的dll左上角会有一排红色水印,下面这个是破解版的没 ...

  2. python 将PDF 转成 图片的几种方法

    文章目录 一.说明 二.PDF转图片 方法1:PyMuPDF(成功) ①.安装PyMuPDF: ②.转换图片代码: 方法2:pdf2image(未成功) ①.安装pdf2image ②.安装Poppl ...

  3. pdf转换成jpg python_python 把pdf转成图片文件

    Wand是ctypes基于Python 的简单ImageMagick绑定. 1. 安装wand包:pip install Wand 注意:在选择ImageMagick32位还是64位,这个需要和pyt ...

  4. PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)

    PDF转换成图片(Java pdfbox实现) pdf转成图片在java中主流的做法就是pdfbox和icepdf 然而我选择pdfbox 废话不多说上代码 引入依赖 <!--pdfbox--& ...

  5. PDF转换成图片——11种方案

    最近公司安排了个任务:要求交付一个DLL,实现[PDF转换成图片],最好的效果是能够掌握所有源码,实在不行才交付第三方DLL.研究了6个工作日+1双休+每晚9点下班,逛遍了国内外各种论坛,还是没能成功 ...

  6. C#技术分享【PDF转换成图片——13种方案】(2013-07-25重新整理) .

    Acrobat.dllc#PDFPDFRender4NET.dllpdf转图片 写在最前面:为了节约大家时间,博主把最常用的方法写在第一条,如果不满足您的需要,您可以继续往后看. 如果看完全文还是不能 ...

  7. python在线学习pdf_扣丁学堂Python在线学习之将pdf转成图片的方法

    扣丁学堂Python在线学习之将pdf转成图片的方法 2018-05-23 11:29:01 1266浏览 Python将pdf转成图片的方法,不论是参加 本篇文章记录如何使用python将pdf文件 ...

  8. 怎么把PDF转换成图片?这几种转换方法都可以做到

    怎么把PDF文件转换成图片呢?大家在使用PDF文件的时候,很多情况下不仅是用来发送文件,还会用来阅读文件,如果只需要浏览文件中某部分内容的话,远没有图片使用的方便,我们可以将这部分内容转换成图片来更加 ...

  9. Python将PDF转成图片—PyMuPDF和pdf2image

    前言:在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试. 粗略的试了好几种方式,其中语言尝试了Python和Java,总体而言所找到的Python方 ...

最新文章

  1. 这一次,彻底弄懂 JavaScript 执行机制
  2. 060_JavaScript作用域
  3. centos7.3挂在移动硬盘(亲测)
  4. Nginx vs Apache--reference
  5. android 不能接收组播数据,但能够发送组播数据
  6. 无法连接到远程的SQL SERVER2000
  7. Android Studio 下使用git -- 个人,本地版本控制
  8. SQL:select case when(转)
  9. python创建虚拟环境报错typeerror_解决Python中报错TypeError: must be str, not bytes问题
  10. html5标签属性大全_html5 文本相关标签
  11. 【python】Tkinter可视化窗口(一)
  12. 群体智能优化算法之和声搜索(Harmony Search,HS)-附源码
  13. Linux信号量操作
  14. 常见python基础面试题_常:汉字常的意思/解释/字义/来源 - 新华字典
  15. 服务器注册表被管理员禁用,win10中如何修复被管理员或病毒禁用的注册表编辑器...
  16. 新西兰本科计算机专业挂科率,2020年新西兰通信工程专业挂科率高吗?
  17. 四则运算当中的加号“+”有常见的三种用法
  18. 拜读经典——大话设计模式(一)——温习C#
  19. Effective Java(第三版) 学习笔记 - 第六章 枚举和注解 Rule34~Rule41
  20. 《痞子衡嵌入式半月刊》 第 48 期

热门文章

  1. 微信小程序实战,用vue3实现每日浪漫情话推荐~
  2. Python os.system(command),这样执行的command命令,和主程序是异步的吗?
  3. php 打印多维数组中的值,从多维数组php中提取值
  4. python结果按行输出_python dataframe 输出结果整行显示的方法
  5. php 目录文件大小,利用php怎么对目录文件的大小进行统计
  6. 合并两个有序链表 java_合并两个有序链表
  7. 【java】RMI教程:入门与编译方法 远程
  8. 【Kafka】Kafka客户端分配方案
  9. 【java】阿里为什么推荐使用LongAdder,而不是volatile?
  10. 【Java】Java 线程池 8 大拒绝策略