fc2ブログ

素直研究所 技術開発部

素直研究所の技術開発部ブログです。

10«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.»12

C#でGhostscriptを使ってPDFのページイメージをJpegファイルに保存する方法 

 Ghostscriptは、PDFファイルなどの画像ファイル変換には大変有益なソフトだが、いかんせんコマンドラインから実行しなければいけないというのが最大のネック。
 このGhostscriptを扱いやすいように画像変換ソフトなどのGUIのアプリケーションにして活かせないかと考えてみた。それをC#で書いたらどうなるのかというと、先ずはコマンドライン上のパラメータも含めて全て外部アプリケーションを起動するやり方で呼び出せば良いというわけだ。例えば下の通り


// --- Ghostscriptによるpdf=>jpg変換
// --- 対象PDFパス
string strPdfPath = "C:\\Work\\Test001.pdf";
// --- Ghostscriptのパス
string strGSPath = "C:\\gs\\gs8.63\\bin\\gswin32c.exe";
int intFirstPage = 1; // --- 先頭ページ
int intLastPage = 5; // --- 最終ページ
Process extProcess = new Process();
// --- 起動するGhostscriptのパスを指定
extProcess.StartInfo.FileName = strGSPath;
extProcess.StartInfo.Arguments = " -dSAFER";
extProcess.StartInfo.Arguments += " -dBATCH";
extProcess.StartInfo.Arguments += " -dNOPAUSE";
extProcess.StartInfo.Arguments += " -sDEVICE=jpeg";
// --- 解像度指定
extProcess.StartInfo.Arguments += " -r72";
// --- 出力ファイル名
extProcess.StartInfo.Arguments += " -sOutputFile=temp%03d.jpg";
// --- 先頭ページ指定
extProcess.StartInfo.Arguments += " -dFirstPage=" + intFirstPage;
// --- 最終ページ指定
extProcess.StartInfo.Arguments += " -dLastPage=" + intLastPage;
// --- 入力Pdfファイルのパス指定
extProcess.StartInfo.Arguments += " " + strPdfPath;
// --- 新しいウィンドウで起動
extProcess.StartInfo.CreateNoWindow = true;
// --- シェル不使用
extProcess.StartInfo.UseShellExecute = false;
// --- プロセス開始
extProcess.Start();
// --- プロセス終了まで待つ
extProcess.WaitForExit();
// --- 後片付け
extProcess.Dispose();


 一応、これはGhostscriptがインストールされていることが前提である。
 これはこれで特に問題はないのだが、さらに突き進んでGhostscriptの心臓部であるgsdll32.dllを直接コールする方法については、現在模索中である。



ソフトウェア開発の素直研究所です。お仕事のご依頼はこちらからどうぞ!




スポンサーサイト



テーマ: プログラミング

ジャンル: コンピュータ

△page top

« CSVファイルのCR+LF
Perl言語でCSVファイルを読み込む »

コメントの投稿















管理者にだけ表示を許可する

△page top

この記事に対するコメント

トラックバック

トラックバックURL
→http://sunaolabo.blog32.fc2.com/tb.php/7-f6bdec7f
この記事にトラックバックする(FC2ブログユーザー)

[プログラミング][C#][文書]PDFの画像化

PDFやPSなどのファイルはGhostScriptを使うことで、PNGやJpegなどの画像に変換することができる 素直研究所 技術開発部 C#でGhostscriptを使ってPDFのページイメージをJpegファイルに保存する方法 FreeBSD QandA 774 Ghostscript - TeX Wiki How to use Ghostscript 一番上

千鳥の午後への前奏曲

2009/08/29 21:05

△page top