我如何运行 Ghost Script 命令
Posted
技术标签:
【中文标题】我如何运行 Ghost Script 命令【英文标题】:How i can run Ghost Script command 【发布时间】:2013-10-15 07:52:12 【问题描述】:我如何在 web 应用程序中使用 ghost 脚本运行以下命令将 pdf 转换为 jpeg。
我正在使用以下代码:
protected void Page_Load(object sender, EventArgs e)
string file = @"C:\pdf\p_o6GEE+.pdf";
string image = @"C:\image";
try
PdfToJpg(file, image);
catch (Exception ex)
throw ex;
private void PdfToJpg(string inputPDFFile, string outputImagesPath)
string ghostScriptPath = @"C:\Program Files\gs\gs9.09\bin\gswin32.exe";
String ars = "-dNOPAUSE -sDEVICE=jpeg -r300 -o" + outputImagesPath + "%d.jpg -sPAPERSIZE=a4 " + inputPDFFile;
Process proc = new Process();
proc.StartInfo.FileName = ghostScriptPath;
proc.StartInfo.Arguments = ars;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
当我尝试运行此代码时,我的应用程序进入等待状态,图像文件夹仍然为空。
【问题讨论】:
【参考方案1】:我建议您使用 Ghostscript.NET(Ghostscript 库的包装器)而不是直接调用 .exe。
在那里你可以找到 GhostscriptJpegDevice 类,它可以满足你的需要。看看GhostscriptDevice usage sample
您也可以看看 GhostscriptProcessor sample,它也可以满足您的需求。
【讨论】:
如果您不指定 dev.Pdf.FirstPage 和 dev.Pdf.LastPage ,它们将不会被包含在内,所有页面都将被导出。因此,要从 PDF 文档中导出所有页面,请从您的代码中删除 dev.PDF.FirstPage 和 dev.Pdf.LastPage 行。 不安装 gs909w32.exe 可以使用吗? 对不起,不行,必须在机器上安装。 所以在服务器上安装这个 exe 会给我带来问题吗?我如何克服这个限制【参考方案2】:您必须使用:-sDEVICE=tiffg4 -dBATCH -dNOPAUSE -r600x600 -dNOSAFER -q -sOutputFile=
事实上 -dBATCH -dNOPAUSE ,会做你所期望的工作, 尽情享受吧。
【讨论】:
以上是关于我如何运行 Ghost Script 命令的主要内容,如果未能解决你的问题,请参考以下文章