首页 > 编程语言 >C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统

C# 第三方DLL,可以实现PDF转图片,支持32位系统、64位系统

时间:2022-12-26 14:38:39浏览次数:63  
标签:C# 32 dll using PDF DLL 图片

itextsharp.dll,是一个开源的在C#中用来生成PDF文档的库文件,不少C#爱好者用它制作出了PDF文档生成器。使用时只需在你的C#项目中添加引入此组件即可,使用方法网上有很多,自己查阅一下。如果系统提示“没有找到itextsharp.dll”文件,或者“缺少itextsharp.dll”等错误信息,您可下载本文件后,将其注册为组件或复制到相关目录,即可解决出错提示!


1、【O2S.Components.PDFRender4NET.dll】,第三方DLL,可以实现PDF转图片,支持32位系统、64位系统
官方试用版的dll左上角会有一排红色水印,下面这个是的没有水印,主使用了一年多基本没有出过问题,推荐使用。DLL (0)​​测试工程

 

2、【Acrobat.dll】,Adobe官方提供的接口,可以实现PDF转图片。这个方法需要安装Adobe Acrobat X Pro,从安装文件找到Acrobat.dll引用到项目中。毕竟是Adobe官方提供的接口,其转换效率要比其他的DLL要快多了,而且更可靠一些,但是在IIS下运行会比较麻烦(主要是不支持多线程,所以在iis下调用失败,群里有童鞋用wcf去转换,然后从web层调用wcf)
如果对转换速度、图片质量要求很高的童鞋,可以参考此方案,但是实现过程太麻烦,大家自己权衡,撸主对此方法并没有深入研究了。
测试工程 参考地址:​​http://www.codeproject.com/Articles/5887/Generate-Thumbnail-Images-from-PDF-Documents​

 

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

 

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

 

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

 

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

 

7、【XpdfRasterizer.dll】,第三方DLL,可以实现PDF转图片。
测试工程 下载地址:这个弄不见了,如果使用要使用这个的话,一定要注意Regsvr32注册,要不然转换会失败的。

 

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

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

参考地址:​​​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语言的工具就没有深入研究了。

 

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

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

 

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

 

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


13、QQ群里有人推荐【PDFToX.dll】速度和质量都不错,就是不太稳定,有兴趣的朋友可以自行研究一下~

在C#中使用O2S.Components.PDFRender4NET.dll把PDF转换成图片的具体代码

方法/步骤 

1

把 O2S.Components.PDFRender4NET.dll添加到引用中(下载地址:https://www.so.com/s?q=O2S.Components.PDFRender4NET.dll&src=se_zoned)

2

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#,32,dll,using,PDF,DLL,图片
From: https://blog.51cto.com/u_15693505/5968867

相关文章

  • CodePage------Encoding 类支持的编码以及与这些编码关联的代码页(CodePage)
    Encoding类.NETFramework4  表示字符编码。继承层次结构​​System.Object​​​  System.Text.Encoding    ​​System.Text.ASCIIEncoding​​    ​​Sy......
  • 液体眼线笔BCOP测试报告
    什么产品需要这个认证呢?像接触眼睛外贸论坛外贸论坛的眼影,液体眼线笔,磁性睫毛,假睫毛,等都可能会对眼睛产生eBay论坛eBay论坛一定外贸论坛外贸论坛的刺激,所以亚马逊现在也在严......
  • 【C语言】malloc 函数
    那么这篇文章来介绍下动态内存开辟的函数之malloc()的使用,知道如何用了,那么就相当于学会了这个动态内存开辟。  ......
  • 关于使用DBeaver连接MySQL-8.0.30-报错-Public Key Retrieval is not allowed
    关于使用DBeaver连接MySQL-8.0.30,报错:PublicKeyRetrievalisnotallowed也即是:不允许公钥检索但如果此时,我们在cmd命令行以DBeaver使用的用户名,通过mysql-uxxx-p......
  • docker 镜像使用
    运行容器时,如果镜像在本地不存在,docker就会自动从docker镜像仓库中下载,默认是从dockerHub公共镜像源下载。 1.查看本地镜像dockerimages 1.1通过镜像来运行容......
  • 【计算机视觉(CV)】sklearn之分类算法与手写数字识别
    【计算机视觉(CV)】sklearn之分类算法与手写数字识别作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实......
  • 『ML笔记』深入浅出字典学习1(Dictionary Learning)
    目录​​一、预备知识​​​​二、字典学习以及稀疏表示的概要​​ ​​2.1、我们为什么需要字典学习?​​​​2.2、我们为什么需要稀疏表示?​​​​三、下一节​​​​参考......
  • [Vue Router warn]: No match found for location with path
    vue-router.mjs:35[VueRouterwarn]:Nomatchfoundforlocationwithpath""[VueRouterwarn]:uncaughterrorduringroutenavigation:原来用route.push报......
  • Mac 上安装python2和python3
    1.访问python官网https://www.python.org/downloads/ 选择想要下载的版本我选择的是3.11.1(2022-12-26最新版本)和以前的2.7.8 2.安装mpkg文件3.安装好了之......
  • vulnhub靶场之HACKABLE: III
    准备:攻击机:虚拟机kali、本机win10。靶机:Hackable:III,下载地址:https://download.vulnhub.com/hackable/hackable3.ova,下载后直接vbox打开即可。知识点:lxd提权、hydra爆......