我有我的c#应用程序中包含的ghostscript dll(gsdll32.dll)。我尝试了各种方法将postscript转换为jpeg,但它没有发生。代码如下:
PDFPrinter.WGhostScript gs = new PDFPrinter.WGhostScript();
gs.AddParam("-sDEVICE=jpeg");
gs.AddParam("-dJPEGQ=100");
gs.AddParam("-dNOPAUSE");
gs.AddParam("-dBATCH");
gs.AddParam("-dSAFER");
gs.AddParam("-r300");
string outfile = txtOutFolderLoc.Text + txtFileName.Text + ".jpg";
gs.AddParam(@"-sOutputFile=" + outfile);
gs.AddParam(psFilePath);
gs.Execute();
Application.Exit();
原因可能是什么?
[我使用了相同的东西并将后记转换为PDF和PNG如下]。
要PDF工作
gs.AddParam("-dBATCH");
gs.AddParam("-dNOPAUSE");
gs.AddParam("-sDEVICE=pdfwrite");
gs.AddParam("-sPAPERSIZE=a4");
gs.AddParam("-sProcessColorModel=DeviceGray");
gs.AddParam("-sPDFPassword=password");
string outfile = txtOutFolderLoc.Text + txtFileName.Text + ".pdf";
gs.AddParam(@"-sOutputFile=" + outfile);
gs.AddParam(psFilePath);
gs.Execute();
Application.Exit();
到PNG代码:
gs.AddParam("-dSAFER");
gs.AddParam("-dBATCH");
gs.AddParam("-dNOPAUSE");
gs.AddParam("-sDEVICE=png16m");
gs.AddParam("-dGraphicsAlphaBits=4");
gs.AddParam(@"-sOutputFile=" + txtOutFolderLoc.Text + txtFileName.Text + "%i.png");
gs.AddParam(psFilePath);
gs.Execute();
Application.Exit();
编辑我 正在生成postscript并继续应用程序直到它退出。但是没有找到jpeg文件。
postscript由ghostscript提供的postscript打印机生成。生成此postscript后,控件将转移到转换此PS的应用程序。
答案 0 :(得分:1)
我设法使用以下参数获取输出:
PDFPrinter.WGhostScript gs = new PDFPrinter.WGhostScript();
gs.AddParam("-q");
gs.AddParam("-dNOPAUSE");
gs.AddParam("-dBATCH");
gs.AddParam("-sDEVICE=jpeg");
gs.AddParam(@"-sOutputFile=<full oytput file path>%i.jpg");
gs.AddParam(<psFilePath>);
我必须添加“-q”才能完成它。
' -q,以防止Ghostscript将消息写入与预期输出流混合的标准输出。'