.NET 将PDF转成图片之Magick.NET(亲测可用)
创始人
2025-06-01 08:28:51

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

1、新建项目UnitTestProject

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

注: Q8 Q16 指HDRI分别表示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;

        /// /// 将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;}

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

相关内容

热门资讯

10年期美债收益率跌约4个基点... 格隆汇12月19日|周四(12月18日)纽约尾盘,美国10年期国债收益率跌3.90个基点,报4.11...
CBOT玉米期货涨0.79%,... 每经AI快讯,周四(12月18日)纽约尾盘,彭博谷物分类指数涨0.29%,报29.1385点。CBO...
医学会、医院、药企携手共筑家门...   本报讯 记者张晓莉报道 12月18日,一场聚焦中老年健康,以“健康暖冬·关爱随行”为主题的科普进...
杏林逐梦 医心若磐 转自:贵州日报松桃自治县民族中医院骨伤二科内景。 (松桃自治县民族中医院供图) 陈君扬 郭进 侯桂...
创新援外硕士项目品牌 助力构建... 援外人力资源开发合作是中国践行以人民为中心的发展理念、推动构建人类命运共同体的重要实践,也是中国对外...