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();
理由は何ですか?
- 文字列 "psFilePath" に Postscript の場所が手元にあります。
- 「outfile」は、出力の場所とファイル名を表します。
[私は同じものを使用し、ポストクリプトを次のように PDF と PNG に変換しました]。
PDFへ WORKED
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();
EDIT I ポストスクリプトが生成されており、アプリケーションは終了するまで続行します。しかし、jpegファイルが見つかりません。
ポストスクリプトは、ゴーストスクリプトに付属のポストスクリプト プリンタによって生成されます。このポストスクリプトが生成されると、この PS を変換するアプリケーションに制御が移されます。