ラベル OMR の投稿を表示しています。 すべての投稿を表示
ラベル OMR の投稿を表示しています。 すべての投稿を表示

2010年9月23日木曜日

pdfからjpgに変換 batファイルの字数制限を回避

ghostscriptを使ってマルチpdfをページごとにjpgに変換するバッチファイルについて、字数制限で100件ほどでダメだったのを何とか回避したいと考え、フォルダ名を指定して中のファイルを一つずつ変換する方法にしてみた。・・・・なんかチョット遅いような気もするが・・・(-_-;)
参考にしたwebページ http://q.hatena.ne.jp/1222072272

1ページと2ページを変換してjpgfilesのフォルダの下に保存します
cd %1
mkdir jpgfiles
for %%i in (*.pdf) do (
@C:\gs\gs8.63\bin\gswin32c.exe -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300  -dFirstPage=1 -dLastPage=2 -sOutputFile="jpgfiles\P%%d%%~ni.jpg" "%%~ni.pdf"
)

2010年8月26日木曜日

バッチ処理の文字数制限を何とかしてクリアしないと

なんとかpdfからjpgに変換してカードリーダーにかけることが出来たけど、
100件くらいずつしか変換できない。
原因はバッチ処理の字数制限。

どうにかして回避策を考えなくては。

他の問題もあって解決のめどが立っていない・・・ (;_;)

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
何に使うかは・・・・ナイショ

Windowsでpdfからjpgへ変換 ImageMagick

注意:以下は今朝まで苦労したときのメモですヨ。ImageMagickは今回は無用でした。
imagio6000で保存したマルチページpdfからjpgに変換する必要が生じ、手こずったので覚え書き。

  • ImageMagicをインストール (ImageMagick-6.6.3-2-Q16-windows-dll.exe)
  • ghostscriptをインストール (gs863w32full-gpl)
  • パスが通っていないようでエラーが出るのでghostscriptのbinフォルダにpathを通す (マイコンピュータ右クリック,プロパティ,詳細,環境変数,システム環境変数,pathの最後にセミコロンを付けてghostscriptのbinフォルダの位置を記述)
    pdfファイルを保存したフォルダで
  • mogrify -density 300x300 -format jpg *.pdf
  • mogrify -density 300x300 -format jpg *.pdf[0] で1ページ目だけ
  • mogrify -density 300x300 -format jpg *.pdf[1] で2ページ目だけ

※tifからjpgの時はghostscriptは無用だけれど、pdfにはghostscriptが必要。

参考HP
http://www.proton.jp/main/apps/imagemagick.html「まとめて変換にはmogrify」「解像度指定」
http://shin2.mogtan.net/?p=412「エラー原因はパス通っていない」
http://vision.kuee.kyoto-u.ac.jp/~nob/doc/imagemagick/imagemagick.html「pdf要ゴーストスクリプト」