SeerでのepsプレビューでBoundingBoxを反映させる

MacのQuick LookをWindowsで模倣するSeerにプラグインを導入すればepsファイルのプレビューもできるけど,gswin32の起動オプションに -dEPSCrop を追加すればBoundingBoxを認識させることができるよ,という話.


EPSを扱う際,Macの人たちはIllustratorをいちいち開かなくてもQuick Lookという機能でパッパッとEPSをプレビューできるらしい.

Windowsでその機能を模倣するSeer(フリー版:Seer download | SourceForge.net)という便利グッズがあった.これにさらにeps2pngなるプラグインを導入すれば(多少のラグはあるものの)比較的快適にEPSをプレビューできた.

しかしこれこのままでは,EPSファイル内部に設定されているBoundingBoxが無視されて,余分な部分まで表示されてしまった.

プラグインeps2pngは単にGhostscriptを利用してEPSをpngに変換している模様.Ghostscriptは起動オプション -dEPSCrop をつければBoundingBoxを認識させることができる.そこでプラグインのコマンド中に -dEPSCrop を足したら幸せになった.

プラグインを編集するには

  • Seerにプラグインを読み込ませる前……解凍したzipの中のplugin_eps.jsonを開いてexecの値を編集.
  • Seerにプラグインを読み込ませた後……SeerのSettings – Plugins – Localを見て,編集ボタン(紙と鉛筆っぽい見た目)で編集してチェックボタンを押す.

おまけ

プレビューのたびに一瞬ウインドウが開くのが邪魔な場合,gswin32.exeの代わりにgswin32c.exe(コマンドライン版)を実行するようにすれば出なくなる.(※その代わり万一エラーが出ても読めない.)

プラグイン同梱のgswin32c.exeは壊れていたので,手持ちのGhostscriptで丸ごと置き換えた.

TeXインストーラ 3W32TeXをインストールしていたので,角藤版Ghostscript 5.20が C:\Program Files (x86)\gs\gs9.20\bin にあった.ここのものをプラグインのフォルダにコピペした.角藤版なのでついでに -dWINKANJI オプションもつけておいた.

最終的にplugin_eps.jsonのexecの値は gswin32c.exe -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dEPSCrop -dWINKANJI -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 \"-sDEVICE=pngalpha\" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \"-sOutputFile=*SEER_OUTPUT_PATH*.png\" -f\"*SEER_INPUT_PATH*\" になった.

ちなみに変換がうまく行かなかった場合,Seerは代わりにファイル情報を表示するらしい(エラーを出してくれない.わかりにくい).ただし一度Seerで処理したファイルはキャッシュされるから,動作確認のときは注意されたい.

ぼやき

サムネイル付きEPSにしている場合はGhostscriptで正式に変換するよりサムネイルを抽出したほうが早いと思うんだけどいい方法が見つからなかった.