尝试在Azure Web应用程序上通过Ghostscript.NET使用gsdll32.dll失败(之前工作过)

时间:2017-09-01 11:45:10

标签: c# azure

我试图在天蓝色的网络应用中使用dll版本的ghost脚本。它以前工作过,但现在我在使用Ghostscript时开始出现这些错误。

(*nstr_p - '0')

我使用Ghostscript.NET处理Ghostscript。

从这里阅读其他帖子,可能是因为缺少权限。但我不确定我缺少哪些权限。

1 个答案:

答案 0 :(得分:0)

根据您的描述,我使用带有“gsdll32.dll”的Ghostscript.NET创建了一个测试演示,并将该应用程序发布到azure。它运作良好(我不会改变任何设置)。

正如你所说,它之前运作良好。我认为此错误与您的权限无关。我建议您按照以下步骤对应用程序进行故障排除。

1.使用remote debug检查应用程序代码中的gsdll32.dll路径是否正确

2.创建一个新的应用程序Web应用程序并将应用程序发布到它并再次测试。

有关我的测试代码的更多详细信息,请参阅以下内容:

        GhostscriptVersionInfo gvi = new GhostscriptVersionInfo(Server.MapPath("~/dll/gsdll32.dll"));

        GhostscriptProcessor proc = new GhostscriptProcessor(gvi);
        string inputFile = Server.MapPath("~/File/Test Document.pdf"); 
        string outputFile = Server.MapPath("~/File/page-%03d.png");

        int pageFrom = 1;
        int pageTo = 2;

        List<string> switches = new List<string>();
        switches.Add("-empty");
        switches.Add("-dSAFER");
        switches.Add("-dBATCH");
        switches.Add("-dNOPAUSE");
        switches.Add("-dNOPROMPT");
        switches.Add("-dFirstPage=" + pageFrom.ToString());
        switches.Add("-dLastPage=" + pageTo.ToString());
        switches.Add("-sDEVICE=png16m");
        switches.Add("-r96");
        switches.Add("-dTextAlphaBits=4");
        switches.Add("-dGraphicsAlphaBits=4");
        switches.Add(@"-sOutputFile=" + outputFile);
        switches.Add(@"-f");
        switches.Add(inputFile);

        proc.Process(switches.ToArray());

结果:

enter image description here