天道酬勤

GhostScript Pdf 转换图片 记录

PDF 转换图片

工作中碰到了pdf转换图片的需求,本来希望通过iTextSharp来进行转换,但通过Stackoverflow的文档,发现可以通过 GhostScript来实现,这里记录下

GhostScript 安装

这个通过官网的下载地址安装,我这里选择的wind 64 AGPL 的版本

 

下载下来为exe文件,安装就一路点击next即可。

 

命令行转换pdf

这里的命令行通过 powshell进行

 'C:\Program Files\gs\gs9.54.0\bin\gswin64.exe'  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -o -dGraphicsAlphaBits=4 -r200 -sOutputFile=I:\PdfToImg\1111-%d.jpeg I:\PdfToImg\1111.pdf

其中 -sDEVICE 为输入的类型,这里设置为jgeg模式, -sOutPutFile就是转换后的文件名,其中 %d的意思就是将页码输出出来,这样多页的pdf就会输出多份图片,-r200就是DPI设置为200

当然了也可以通过输出png格式的图片类型,以下为png的输出

'C:\Program Files\gs\gs9.54.0\bin\gswin64.exe'  -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -dGraphicsAlphaBits=4 -r300 -sOutputFile=I:\PdfToImg\1111-%d.png I:\PdfToImg\1111.pdf

对比下,其实主要为输出的类型不一致,其它的都类似。

最终会在设置的output文件夹中看到转换后的图片

 

C#代码转换pdf

命令行可以之后,这里就开始C# console程序转换下

System.Diagnostics.Process gscProcess= new System.Diagnostics.Process();
gscProcess.StartInfo.WorkingDirectory = @"C:\Program Files\gs\gs9.54.0\bin\";
gscProcess.StartInfo.FileName = "gswin64.exe";
gscProcess.StartInfo.Arguments = @"-dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -o -dGraphicsAlphaBits=4 -r200 -sOutputFile=I:\PdfToImg\111221-%d.jpeg I:\PdfToImg\1111.pdf";
gscProcess.Start();

gscProcess.WaitForExit();

 

总结

以上就是pdf转换图片的总结,

参考之类如下:

https://stackoverflow.com/questions/1941118/converting-pdf-to-a-collection-of-images-on-the-server-using-ghostscript

https://www.ghostscript.com/

https://www.ghostscript.com/doc/9.54.0/Use.htm

 

posted @   JulyLuo  阅读(1905)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示