C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统
itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器。使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下。如果系统提示“没有找到itextsharp.dll”文件,或者“缺少itextsharp.dll”等错误信息,您可下载本文件后,将其注册为组件或复制到相关目录,即可解决出错提示!
DLL 下载地址:http://download.csdn.net/download/wumin940590725/6470151
1、【O2S.Components.PDFRender4NET.dll】,第三方DLL,可以实现PDF转图片,支持32位系统、64位系统
官方试用版的dll左上角会有一排红色水印,下面这个是破解版的没有水印,撸主使用了一年多基本没有出过问题,推荐使用。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066107
测试工程 下载地址:http://download.csdn.net/detail/shi0090/4068558
2、【Acrobat.dll】,Adobe官方提供的接口,可以实现PDF转图片。这个方法需要安装Adobe Acrobat X Pro,从安装文件找到Acrobat.dll引用到项目中。毕竟是Adobe官方提供的接口,其转换效率要比其他的DLL要快多了,而且更可靠一些,但是在IIS下运行会比较麻烦(主要是不支持多线程,所以在iis下调用失败,群里有童鞋用wcf去转换,然后从web层调用wcf)
如果对转换速度、图片质量要求很高的童鞋,可以参考此方案,但是实现过程太麻烦,大家自己权衡,撸主对此方法并没有深入研究了。
测试工程 下载地址: 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转图片,下面这个版本没有水印。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066096
测试工程 下载地址:http://download.csdn.net/detail/shi0090/4068522
4、【SautinSoft.PdfFocus.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片左上角有一排红色水印。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066111
测试工程 下载地址:http://download.csdn.net/detail/shi0090/4068561
5、【TallComponents.PDF.Rasterizer.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片有个较大的水印。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066112
测试工程 下载地址:http://download.csdn.net/detail/shi0090/4068563
6、【Apitron.PDF.Rasterizer.dll】,第三方DLL,可以实现PDF转图片,但转出来的图片有个较大的红色水印。
DLL 下载地址:http://download.csdn.net/detail/shi0090/5814803
测试工程 下载地址:http://download.csdn.net/detail/shi0090/5814857
7、【XpdfRasterizer.dll】,第三方DLL,可以实现PDF转图片。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066115
测试工程 下载地址:这个弄不见了,如果使用要使用这个的话,一定要注意Regsvr32注册,要不然转换会失败的。
8、【abcpdf.dll】,第三方DLL,可以实现PDF转图片,但是需要安装abcpdf,所以使用起来不算太放方便。
DLL 下载地址:http://download.csdn.net/detail/shi0090/4066144
测试工程 下载地址:http://download.csdn.net/detail/shi0090/4068564
9、【Ghostscript】,第三方DLL,可以实现PDF转图片,只支持32位系统,貌似网上很多人都会采用这个方法(据说功能强大),个人觉得代码太麻烦没有采用,没有深入研究。
DLL 下载地址: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语言的工具就没有深入研究了。
DLL和源码 下载地址: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。
13、QQ群里有人推荐【PDFToX.dll】速度和质量都不错,就是不太稳定,有兴趣的朋友可以自行研究一下~
官方网站:http://www.ycanpdf.cn/
官方下载:http://www.ycanpdf.cn/software/PDFtoX.rar
在C#中使用O2S.Components.PDFRender4NET.dll把PDF转换成图片的具体代码
方法/步骤
把 O2S.Components.PDFRender4NET.dll添加到引用中(下载地址:https://www.so.com/s?q=O2S.Components.PDFRender4NET.dll&src=se_zoned)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using O2S.Components.PDFRender4NET;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace O2S.Components.PDFRender4NET.pdf2image
{
public static class Program
{
public enum Definition
{
One = 1, Two = 2, Three = 3,
Four = 4, Five = 5, Six = 6,
Seven = 7, Eight = 8,
Nine = 9, Ten = 10
}
/// <summary>
/// 将PDF文档转换为图片的方法
/// </summary>
/// <param name="pdfInputPath">PDF文件路径</param>
/// <param name="imageOutputPath">图片输出路径</param>
/// <param name="imageName">生成图片的名字</param>
/// <param name="startPageNum">从PDF文档的第几页开始转换</param>
/// <param name="endPageNum">从PDF文档的第几页开始停止转换</param>
/// <param name="imageFormat">设置所需图片格式</param>
/// <param name="definition">设置图片的清晰度,数字越大越清晰</param>
public static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath,
string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, Definition definition)
{
PDFFile pdfFile = PDFFile.Open(pdfInputPath);
if (!Directory.Exists(imageOutputPath))
{
Directory.CreateDirectory(imageOutputPath);
}
// validate pageNum
if (startPageNum <= 0)
{
startPageNum = 1;
}
if (endPageNum > pdfFile.PageCount)
{
endPageNum = pdfFile.PageCount;
}
if (startPageNum > endPageNum)
{
int tempPageNum = startPageNum;
startPageNum = endPageNum;
endPageNum = startPageNum;
}
// start to convert each page
for (int i = startPageNum; i <= endPageNum; i++)
{
Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * (int)definition);
pageImage.Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat.ToString(), imageFormat);
pageImage.Dispose();
}
pdfFile.Dispose();
}
public static void Main(string[] args)
{
ConvertPDF2Image("F:\\Events.pdf", "F:\\", "A", 1, 5, ImageFormat.Jpeg, Definition.One);
}
}
}
C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统的更多相关文章
- 32位和64位dll判断
如何判断一个dll文件是32位还是64位? 1. 开发中经常会使用到VC的一个工具 Dependency Walker用depends.exe打开dll,文件名前有64标示的即为64位. 但是这个方式 ...
- JAVA判断32位还是64位,调用不同的DLL(转)
源:JAVA判断32位还是64位,调用不同的DLL 通过获取sun.arch.data.model可判断是32还是64的JAVA 将32或者64位的DLL放不同的目录,实现自适应调用DLL Prope ...
- VB.NET实现32位、64位远线程运行ASM,注入非托管、托管DLL
这是一个老话题,远线程函数给我们提供了机会在其他进程中启动一个新线程,所以我们可以做很多事情.但事情远远没有结束,如果我们要做的事情非常复杂,那么将面临编写大量的ASM代码,虽然我们可以用VC之类的工 ...
- Windows系统32位、64位DLL文件的存放位置
查资料时无意中发现,Windows系统存放DLL的文件路径似乎有点蹊跷: 32位的DLL存放在C:\Windows\SysWOW64,而64位的DLL存放在C:\Windows\System32.即使 ...
- Cocos2d-x第三方类库不支持arm64的问题解决(64位架构)
32位能够兼容64位操作系统. ipad mini2 64位编译有问题. 各种第三方库不支持64位操作系统. 设置build setting 直接上图:
- VS2010编写32位和64位dll环境配置,以及判断dll是多少位
前言 最近在编写dll注入程序的时候,因为想注入到系统进程,结果发现总是注入失败.自闭了好长一会发现我忘记了我的系统是64位的,系统进程也是64位的,而我编写的待注入的DLL是32位了,所以才导致失败 ...
- api图片传输,转成64位字符串进行传输
byte[] getImageByte = HttpHelper.getImageByte(HttpContext.Current.Server.MapPath(("~/UploadFile ...
- 查看 dll 是32位还是64位 的 bat
******* @echo offset work_path=./cd %work_path% for /R %%s in (*.dll) do ( echo %%~nxs call dumpbin ...
- 查看dll 的是32位还是64位
1. dumpbin 命令 ** dumpbin 路径写入环境变量 *** 使用 dumpbin /headers 文件名去查看 [X86 表示32位 x64表示64位] 2. 使用 DEPEND ...
- 【转】如何知道DLL是32位还是64位
源地址:http://blog.csdn.net/skysword2/article/details/52588624
随机推荐
- 隐藏index.php - ThinkPHP完全开发手册 - 3.1
为了更好的实现SEO优化,我们需要隐藏URL地址中的index.php,由于不同的服务器环境配置方法区别较大,apache环境下面的配置我们可以参考5.9 URL重写来实现,就不再多说了,这里大概 ...
- 从一个乘法来分析C语言
昨天碰到一个很奇怪的问题,首先来看这段代码: #include<stdio.h> int main(int argc,char *argv[]) { ; ; long long res1 ...
- RestFul && HATEOAS && Spring-Data-Rest介绍
1.什么是RestFul 经常上网的同学会发现,现代软件的一个重要趋势就是互联网化,几乎没有一款软件是纯粹的单机版了.通常的情况下,软件管理着服务器的资源以及这些资源的状态变化,用户通过在浏览器输入h ...
- 斐波那契数 c 语言实现
斐波那契数列,又称黄金数列,指的是这样一个数列:1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2) ...
- 【ZeroMQ】消息模式
1.请求/应答模式(REP/REQ) 该模式特征: 服务器使用REP类型套接字而客户端使用REQ类型套接字 客户端发送请求和接收答复,而服务器则接收请求并发送答复 客户端可以连接到一个或多个服务器.在 ...
- [WinForm]DataGridView列自适应
关键代码: /// <summary> /// 根据cell内容调整其宽度 /// </summary> /// <param name="girdview&q ...
- QQ空间g_tk加密算法PHP版
QQ空间g_tk加密算法PHP版 //G_tk计算 function getGTK($skey){ $hash = 5381; for($i=0;$i<strlen($skey);++$i){ ...
- java环境搭建的问题
本人用eclipse开发,首先在java官网中下载最新版本的jdk,jdk的版本一定要与eclipse版本位数相同,否则会提示错误“Java was started but returned exit ...
- Pandas简易入门(四)
本节主要介绍一下Pandas的另一个数据结构:DataFrame,本文的内容来源:https://www.dataquest.io/mission/147/pandas-internals-dataf ...
- Flex读文本文件
布局: <s:Group id="> <s:Rect width="100%" height="100%"> <s:fi ...