网络上找了一堆博文,实验之后基本上很少能够有用的,很少能提供完整的DemoMethod,故写本篇文章来做记录。

1、新建项目UnitTestProject

2、右击项目==>>管理Nuget程序包==>Magick.NET-Q16-AnyCPU 安装最新版本7.14.5

High-Dynamic Range (HDR) image
注: Q8 Q16HDRI分别表示8位 和16位,AnyCPU、x64、x86 指计算机是32位还是64位系统,选择AnyCPU

3、下载安装ghostscript(根据所在服务器下载对应32还是64位版本)

http://ghostscript.com/download/gsdnld.html

如果不安装ghostscript,magick.net在执行Read函数读取pdf时会报错误.

4、加入以下方法,并添加引用 using ImageMagick;

/// <summary>
/// 将PDF所有页转换为图片并返回图片路径
/// </summary>
/// <param name="pdfPath">pdf文件路径</param>
/// <param name="imgPath">生成图片路径</param>
/// <param name="imgName">图片名称前缀</param>
public List<string> GetPdfAllPageImgs(string pdfPath, string imgPath, string imgName)
{var list = new List<string>();try{MagickReadSettings settings = new MagickReadSettings();settings.Density = new Density(72, 72); //设置格式using (MagickImageCollection images = new MagickImageCollection()){images.Read(pdfPath, settings);int pageCount = images.Count;for (int i = 0; i < pageCount; i++){IMagickImage image = images[i];image.Alpha(AlphaOption.Remove);//遇到电子签章的此属性可以解决黑屏问题image.Format = MagickFormat.Jpeg;string path = imgPath + $"{imgName}_{i}.jpg";//相对路径   image.Write(path);list.Add(path);}}}catch (Exception ex){}return list;
}

5、在TestMethod方法中调用测试

[TestMethod]
public void TestMethod()
{try{string filepath = @"D:\PDFFF\1565265812212742552810.pdf";string imgpath = @"D:/PDFFF/";var pathList= PdfHelper.GetPdfAllPageImgs(filepath, imgpath, "imgName");}catch (Exception ex){}
}

6、右击TestMethod方法==>调试测试(注意打上断点)

请根据自己需要进行函数改写,本文只是示例,加入文件存储到云、文件检测等等

Demo地址(CSDN好像不可以设置免费下载了。。。有点不清真啊)

https://download.csdn.net/download/uianqian/11926634


图像操作库 Magick.NET

ImageMagick 是一个很强大的图像操作库,支持超过100 种的文件格式。而 Magick.NET 可以让你在 .NET 环境中使用ImageMagick ,而无需在系统中单独安装 ImageMagick

示例代码:

// Read first frame of gif image
using (MagickImage image = new MagickImage("Snakeware.gif"))
{// Save frame as jpgimage.Write("Snakeware.jpg");
}// Write to stream
MagickReadSettings settings = new MagickReadSettings();
// Tells the xc: reader the image to create should be 800x600
settings.Width = 800;
settings.Height = 600;using (MemoryStream memStream = new MemoryStream())
{// Create image that is completely purple and 800x600using (MagickImage image = new MagickImage("xc:purple", settings)){// Sets the output format to pngimage.Format = MagickFormat.Png;// Write the image to the memorystreamimage.Write(memStream);}
}// Read image from file
using (MagickImage image = new MagickImage("Snakeware.png"))
{// Sets the output format to jpegimage.Format = MagickFormat.Jpeg;// Create byte array that contains a jpeg filebyte[] data = image.ToByteArray();
}

.NET 将PDF转成图片之Magick.NET(亲测可用)相关推荐

  1. Java给PNG透明图片加水印,亲测可用

    今天使用java给一个固定的两行三列的png图片填充文字内容,但是看到网上很多例子,生成的图片,要么是背景色是黑色的(原来的png图片背景色是透明的),要么填充的内容不显示.现在把源码记录下来,大家可 ...

  2. PHP|Yii2下通过插件进行图片处理(亲测可用)

    开源的力量! Step by step,可以安装好Yii2的图片处理插件. 亲测可用. 参考 http://www.yiichina.com/tutor...

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

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

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

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

  5. C# PDF 转成图片利用GhostScript

    如何把pdf文件的每一页都转成一个图片呢?首先说一下GhostScript这个软件. Ghostscript是一套建基于Adobe.PostScript及可移植文档格式(PDF)的页面描述语言等而编译 ...

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

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

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

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

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

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

  9. pdf转换成jpg python_【PyMuPDF和pdf2image】Python将PDF转成图片PNG和JPG

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

  10. pdf转换成jpg python_【PDF转图片】如何将PDF转换成图片格式--Python

    可能会有人问,很多PDF阅读软件都是可以直接将PDF文件保存成图片格式的,为什么非得用Python?? 使用Python(代码)的优势就在于可以批量操作,试想,如果你有成百上千的PDF文件,你很有可能 ...

最新文章

  1. AGX Xavier GPIO
  2. Oracle学习网站
  3. Android点击事件(click button)的四种写法
  4. iframe 自动登录_安阳联通利用python实现三集中未反馈工单自动提取
  5. 苹果6s最大屏幕尺寸_iPhone12来了,我决定给老苹果升级一下电池_电池
  6. SQL查询表中的有那些索引
  7. Oracle ora-15070,查询字段过多触发了Oracle的BUG?【ORA-01465: 无效的十六进制数字】...
  8. python多维数组添加元素_numpy中三维数组中加入元素后的位置详解
  9. 1月10日云栖精选夜读:专访金榕:四年蜕变,阿里iDST是如何登上浪潮之巅的?...
  10. 房屋户型图识别方法AI自适应墙体识别
  11. Istio 流量管理
  12. 开启文案或软文编辑的思考:60后大哥靠一篇软文年入500万案例解析
  13. 【BP数据预测】基于matlab天牛须算法优化BP神经网络数据预测【含Matlab源码 1316期】
  14. 四级英语图表作文真题计算机,英语四级作文真题
  15. android des 加密
  16. 维度灾难--通过Python理解高维空间欧氏距离与余弦相似度失效
  17. 愿得一人心——祭奠······埋葬我218的爱情
  18. Mapreduce统计
  19. 西工大计算机考研最全的报名和各方向解析,含导师介绍
  20. 处理口罩图片数据(yolov5)中碰到的问题(macOS)

热门文章

  1. 【CSDN】博文导入微信公众号
  2. 0到1使用spring-security(Spring的安全认证框架)
  3. 东芝B-SX5T标签打印机安装过程
  4. python安装教程
  5. 有限元方法入门:有限元方法简单的一维算例
  6. PICKIT3往PIC16F877A烧录程序失败
  7. 后6位数密码字典生成
  8. kmeans算法python代码_kmeans算法用Python怎么实现
  9. 数据中心软件漏洞测试,数据中心威胁、漏洞和风险评估
  10. 最大值减最小值等于区间长度_一文帮你弄清楚电压和电流的有效值、瞬时值、平均值、最大值及其关系...