2010年8月5日木曜日

pdf2jpg pdfからjpgに変換

imagemagickとghostscriptで
昨日から今朝にかけてimagemagickとghostscriptを利用してpdfファイルからjpgファイルに変換する事ができるようになった。「めでたしめでたし」と思って実際の変換作業をしてみると、あまりに遅すぎる。一度に変換するpdfファイルは1000本以上なので、全く実用にならないレベルだ。なんとか速度を上げられないかとweb上を調べるうち、ghostscriptだけで変換が可能なことが判明した。こんなことghostscriptを使っている人にはあたりまえだったんだろう・・・ケド 私、不勉強でした。
見つけたページ
 http://matome.info/pdf2jpg/

ghostscriptだけでBAT(バッチ)処理
実物を変換してみると1ファイルの処理時間が半分以下のようだ。2つの別々のソフトを無理矢理連携させている手法じゃぁ時間がかかってあたりまえか。単独でできるならそれに越したことはない。問題は、複数のファイルを一気にドラッグアンドドロップで処理できるようにはなっていない。・・・・自分でバッチ処理のスクリプトを変更するしかないか。昔少しかじったなぁ。

バッチ処理に複数ファイル名を受け渡す
複数のファイルをドラッグアンドドロップでバッチ処理に受け渡すにはどうするのか?。不勉強な私は調べるしかない。

見つけたページ
http://d.hatena.ne.jp/mas-inagaki/20100201/1265007622

本当にありがたいなぁ。みなさんありがとう。



ghostscriptのみのバッチ処理で PDF2jpg 複数ファイル処



















下の処理をバッチファイルにして、そのアイコンにドラッグアンドドロップすればOK。

 マルチpdfの全ページを処理 
for %%a in (%*) do @C:\gs\gs8.71\bin\gswin32c.exe -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=%%a%%03d.jpg %%a

※ghostscriptのバージョンは今朝と違っています。 c:\gs\gs8.71のところはインストールした場所ですよ。そういえばVer6.63インストールの時はパスが通っていなくて苦戦したけど、8.71ではちゃんとインストールされているようで、手作業でパスを通さなくても大丈夫なようでした。

 マルチpdfの1ページ目だけ処理 
for %%a in (%*) do @C:\gs\gs8.71\bin\gswin32c.exe -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=%%aP1.jpg -dFirstPage=1 -dLastPage=1 %%a

 マルチpdfの2ページ目だけ処理 
for %%a in (%*) do @C:\gs\gs8.71\bin\gswin32c.exe -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=%%aP2.jpg -dFirstPage=2 -dLastPage=2 %%a

これで、マークシートの表面、裏面をファイル名で関連付けながらjpg画像ファイルにできる ゾ~ (^_^)v
何に使うかは・・・・ナイショ

0 件のコメント:

コメントを投稿