当前位置:首页 > 技术知识 > 正文内容

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

maynowei8个月前 (09-13)技术知识76

Acrobat.dllc#PDFPDFRender4NET.dllpdf转图片

写在最前面:为了节约大家时间,博主把最常用的方法写在第一条,如果不满足您的需要,您可以继续往后看。

前段时间公司安排了个任务:要求交付一个DLL,实现【PDF转换成图片】,最好的效果是能够掌握所有源码,实在不行才交付第三方DLL。研究了6个工作日+1双休+每晚9点下班,逛遍了国内外各种论坛,还是没能成功整出源码,但发现了很多有用的工具和其他工具,在此分享给大家。

1、【
O2S.Components.PDFRender4NET.dll】,第三方DLL,可以实现PDF转图片,支持32位系统、64位系统(部分第三方dll在64位系统下运行报错)。

官方试用版的dll左上角会有一排红色水印,下面这个是破解版的没有水印,博主使用了一年多基本没有出过问题,推荐使用

http://download.csdn.net/detail/shi0090/4066107http://download.csdn.net/detail/shi0090/4068558

2、【Acrobat.dll】,Adobe官方提供的接口,可以实现PDF转图片。这个方法需要安装Adobe Acrobat X Pro,从安装文件找到Acrobat.dll引用到项目中。

毕竟是Adobe官方提供的接口,其转换效率要比其他的DLL要快多了,而且应该更可靠一些,但是在IIS下运行会比较麻烦(QQ群里有朋友已经实现了)

如果对转换速度、图片质量要求很高的童鞋,可以参考此方案,但是实现过程太麻烦,大家自己权衡,博主对此方法并没有深入研究了。

http://download.csdn.net/detail/shi0090/4068502

参考地址:
http://www.codeproject.com/Articles/5887/Generate-Thumbnail-Images-from-PDF-Documents

3、【PDFLibNet.dll】,第三方DLL,只支持32位系统,可以实现PDF转图片,下面这个版本没有水印。

http://download.csdn.net/detail/shi0090/4068522

4、【SautinSoft.PdfFocus.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片左上角有一排红色水印。

http://download.csdn.net/detail/shi0090/4066111http://download.csdn.net/detail/shi0090/4068561

5、【
TallComponents.PDF.Rasterizer.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片有个较大的水印。

http://download.csdn.net/detail/shi0090/4068563

6、【
Apitron.PDF.Rasterizer.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片有个较大的红色水印。

7、【XpdfRasterizer.dll】,第三方DLL,可以实现PDF转图片。

http://download.csdn.net/detail/shi0090/4066115

8、【abcpdf.dll】,第三方DLL,可以实现PDF转图片,但是需要安装abcpdf,所以使用起来不算太放方便。

http://download.csdn.net/detail/shi0090/4066144http://download.csdn.net/detail/shi0090/4068564

9、【Ghostscript】,第三方DLL,可以实现PDF转图片,只支持32位系统,貌似网上很多人都会采用这个方法(据说功能强大),个人觉得代码太麻烦没有采用,没有深入研究。

http://download.csdn.net/detail/shi0090/4066005

http://download.csdn.net/detail/shi0090/4068486

参考地址:
http://www.codeproject.com/Articles/317700/Convert-a-PDF-into-a-series-of-images-using-Csharp.aspx

参考地址:
http://www.codeproject.com/Articles/32274/How-To-Convert-PDF-to-Image-Using-Ghostscript-API

10、【ImageMagick】,C语言开源PDF处理工具,可以将实现PDF转换图片,因为博主使用的C#,所以C语言的工具就没有深入研究了。

http://download.csdn.net/detail/shi0090/4066040

11、【iTextSharp.dll】,C# 开源PDF处理工具,可以任意操作PDF,并可以提取PDF中的文字和图片,但不能直接将PDF转换成图片。

DLL和源码 下载地址:
http://download.csdn.net/detail/shi0090/4065982

http://download.csdn.net/detail/shi0090/4065986

http://download.csdn.net/detail/shi0090/4068429

http://download.csdn.net/detail/shi0090/4068428

官方网站:http://itextpdf.com/

12、【PdfSharp.dll】,C# 开源PDF处理工具,可以任意操作PDF,也可以实现从PDF提取图片,但不能直接将PDF转换成图片。

DLL和源码 下载地址:
http://download.csdn.net/detail/shi0090/4066060

提取图片测试工程 下载地址:
http://download.csdn.net/detail/shi0090/4068448

以上两个开源C#工具都可以很好处理PDF文档,但不满足我的要求直接把PDF转成IMAGE。

相关文章

iOS开发生涯的初恋:详解Objective-C多项改进

CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿、参与内容翻译工作,或寻求近匠报道,请发送...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...

C++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...

Go语言进阶:时间轮(golang时间轮)

时间轮概念时间轮(Timing Wheel)是一种高效的定时任务调度数据结构,特别适合处理大量定时任务。它通过一个循环数组(轮盘)和多个槽位(buckets)来组织定时任务,每个槽位代表一个时间间隔。...

Qt QWaitCondition 的正确使用方法

简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往...

聊聊并发编程: Lock(并发锁有哪些)

之前学习了如何使用synchronized关键字来实现同步访问,Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功...