ps2epsiでepsを吐いてくれるpythonスクリプト+exe
BBをいい感じにする話
Mon, 05 Jun 2017
ps2epsでBounding Boxがうまく変わらないときの対処
書いたばっかりのこの記事の続きです.
ps2epsiは今のところ不具合がないのでps2epsはやめてこっちに移行しようと思います.
コマンドラインでprnをepsに吐けるようになったらあとはスクリプト化するだけ.
ということでpythonで作りました.
# Convert PRN to EPS script by ps2epsi
from subprocess import Popen
import os
import sys
if __name__ == '__main__':
# Get full path
path = os.path.dirname(sys.argv[0])
# Make ps path
file = os.listdir(path+'/ps/')
# Do ps2epsi
for num in range(len(file)):
name, ext = os.path.splitext(file[num])
cmd = 'ps2epsi ' + path+'/ps/'+file[num] + ' '+ path + '/eps/' + name + '.eps'
popen = Popen(cmd, shell=True)
popen.wait()
なんでわざわざフルパス取得してるの~?って感じですが,配布用にこのpythonをexeに変換したくて,その副産物です.
「python prn2epsi.py」で実行するだけなら相対パスで問題ありません.
必要条件ですが,
- Ghostscriptのインストール
- Ghostscriptのbinとlibにパスを通す(ps2epsiを使えるようにするため)
です.GSView使っていればGhostscriptは入っているのでパスと通すだけです.
binとlibは「Program Files\gs\gs9.21\」にあります.
自分用メモ
生成したexeの構成
┗フォルダー ┣ prn2eps.exe ┣ ps ┃ ┗ prnファイル ┗eps
って感じに配置してもらって,psファイルに変換したいprnファイルを入れて,exeを実行すればepsフォルダに生成される.
おまけ
なんでprnってフォルダにしないの?という疑問には知恵袋で解決してください(笑)
なぜWindowsで「prn」というファイルは作れないのですか? – Windo… – Yahoo!知恵袋