网络上找了一堆博文,实验之后基本上很少能够有用的,很少能提供完整的Demo和Method,故写本篇文章来做记录。
注: Q8 Q16 指HDRI分别表示8位 和16位,AnyCPU、x64、x86 指计算机是32位还是64位系统,选择AnyCPU
http://ghostscript.com/download/gsdnld.html如果不安装ghostscript,magick.net在执行Read函数读取pdf时会报错误.
/// /// 将PDF所有页转换为图片并返回图片路径/// /// pdf文件路径/// 生成图片路径/// 图片名称前缀public List GetPdfAllPageImgs(string pdfPath, string imgPath, string imgName){var list = new List();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;}
[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){}}
请根据自己需要进行函数改写,本文只是示例,加入文件存储到云、文件检测等等
Demo地址(CSDN好像不可以设置免费下载了。。。有点不清真啊)
https://download.csdn.net/download/uianqian/11926634