我试图在天蓝色的网络应用中使用dll版本的ghost脚本。它以前工作过,但现在我在使用Ghostscript时开始出现这些错误。
(*nstr_p - '0')
我使用Ghostscript.NET处理Ghostscript。
从这里阅读其他帖子,可能是因为缺少权限。但我不确定我缺少哪些权限。
答案 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());
结果: