我如何运行Ghost Script命令

时间:2013-10-15 07:52:13

标签: c# web-applications ghostscript

如何使用ghost脚本运行以下命令将pdf转换为Web应用程序中的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();

    }

当我尝试运行此代码时,我的应用程序进入等待状态,图像文件夹仍为空。

2 个答案:

答案 0 :(得分:3)

我建议您使用 Ghostscript.NET (Ghostscript库的包装器)而不是直接调用.exe。

在那里,您可以找到 GhostscriptJpegDevice 类,它将完全满足您的需求。看看GhostscriptDevice usage sample

您还可以查看 GhostscriptProcessor sample ,它也可以满足您的需求。

答案 1 :(得分:0)

你必须使用:-sDEVICE = tiffg4 -dBATCH -dNOPAUSE -r600x600 -dNOSAFER -q -sOutputFile =

实际上-dBATCH -dNOPAUSE,将完成你期望的工作, 享受它。