2006/12/21

HP2XXP

HP-GLデータをtiffに変換するソフトです。
五年ほど前に自分の仕事の関係上必要になり急遽作成。
といっても変換エンジンはhp2xxを使用し、これをGUIで操作できるようにしただけの物。
GUIの操作もその時自分に必要だった最低限の物の用意。その後はほったらかしにしていました。

このまま手を入れるつもりは無かったのですが、会社の方でCADのバージョンアップをすることに。で、新しいCADが作り出すhp2ファイルを変換したところ、うまくいかないことが判明。
コマンドラインでhp2xxに渡すパラーメーターを色々試していたところ、オプションを一つ付け加えればうまくいくことを確認。
また、hp2xx自体3.4.2とそれ以後でソースが大幅に変更されたようで3.4.2以後のバージョンで変換すると見た目がぼろぼろ(線がガタガタになる、余分な線が入る)で使えなかったのですが、これもパラメーターの変更で以前とほぼ同じ見た目になることを確認。

この内容ならパラメーターの変更だけで済むのですが、以前作っていた物が急ぎで作った物で全く融通がきかず、パラメーターの変更をするのにもソースコードをいじって再コンパイルしなければならない。

・・・5年とは長いもので、作成時の開発環境なんか残っているはずがない。仕方ない、作るか。ということで5年ぶりぐらいDelphiをさわることに。一からの作成だ~
今度はパラメーターの設定変更も簡単にできるようにし、Jpeg、PDFの変換も設定できるようにしよう。

ところでHP-GLデータを変換するソフトって、有料ばかり。結構探しましたが無料の物はhp2xxぐらい。みんなぼったくってるな~~~って5年前と全く状況が変わっていない。
hp2xxを使ったフリーのソフトの物がもっと出ていても良さそうだけど、この業界自体が小さいのかな。

6 件のコメント:

RON さんのコメント...

私の会社でも CAD出力がHP-GLで大変苦労していました。
今回、HP-GLからPDF変換できないかという質問があって大変こまっております。
その後、順調にソフト開発がすすんだのでしょうか?
とても興味があります。
よかったらヒントなど教えていただきたいです。

倉庫 さんのコメント...

こんばんは。
申し訳ありません、こちらは開発が止まったままです・・・

現状はコマンドラインで動くHP2XXからPDFに変換するしか方法を思いつきません。
シェアウェアだとそれなりにあるようですが、結構いい値段がするのが難点。

現在はCADから出力するときに直接PDFにするほうが手軽なんですが、一度HP-GLで出力されていると難しいですよね・・・

RON さんのコメント...

倉庫さん
またまた失礼します。
現在、コマンドラインで
HP-GL -(hp2xx)-> TIFF
TIFF -(image magick)->PDF

と試そうと思いましたが
hp2xx(ネット上でバイナリをダウンロード)がTIFF変換してくれず困っています。

HP2XXでPDFフォーマットを扱うようにするにはどのようにしたらよいのでしょうか?
もしよければ教えていただけないでしょうか??

倉庫 さんのコメント...

Hp2xxは他にDLLが必要です。
最新バージョンのHp2xxの場合、下記のものが必要です。

Hp2xx(hp2xx.exe) 3.4.4
LibJpeg(jpeg62.dll) 6b
LibPng(libpng13.dll) 1.2.37
PDFlib-Lite(pdflib5.dll) 6.0.2
LibTiff(libtiff3.dll) 3.8.2
Zlib(zlib1.dll) 1.2.3

下記のところから一通り入手出来ます
ttp://gnuwin32.sourceforge.net/packages.html
linpng13.dllだけはバージョンが古いもののしか無いようで、自分は検索して探しました。

これらを揃えた上で、コマンドラインから次のように入力します。

tiffの場合の入力例(オプションは大文字、小文字の区別があるので例の通りに)
 hp2xx -m tiff -q -d300 -t -S4 -N 変換するHP-GLファイル(拡張子付きで)

オプションの意味は下記の通りです
-m tiff :tiffで出力
-q :quiet mode(画面に途中経過を表示しない)
-d :300dpiで出力
-t :true size出力(アスペクト比や縦横のサイズを変更しない)
-S4 :tiffの圧縮オプション、Group 4 Fax Encodingで圧縮
-N :これが無いと余分な空白が出る場合がある

PDFの場合の入力例
 hp2xx -m pdf -q -t -N 変換するHP-GLファイル(拡張子付きで)

PDFでの出力を試したところ、ベクタ形式で出力するのでどんなに拡大してもなめらかに表示されますが、ファイル容量がものすごい大きさになりました。
おそらくフォントもすべて線で出力しているためかと思います。
直接PDFにするのは現実的では無いようです。

質問にありましたように一度tiffにしてそれからPDFにする場合は
・hp2xxで一度tiffに変換
・市販のPDF作成ソフトでPDFに変換
という手順がよいかと思います。

RON さんのコメント...

倉庫さん

大変詳しい説明ありがとうございました。
文面のHPとimage-magickのdllの組合せで、コマンドラインにてHPGL→TIFF変換、HPGL→PDF変換両方確認できました。

結果
HPGL 89kb
TIFF 56kb
PDF 65kbと
なかなかいい結果でした♪
明日、会社にて試してみようと思います。
これからもブログがんばってください!

倉庫 さんのコメント...

うまくいったようでなりよりです。

自分の所の会社もいいかげんHP-GLで出図するシステムを変更して欲しいな~