■ 送り状
基幹システムの運用説明をしていた時に、倉庫の担当の方から運送会社の送り状の印刷が出来ないかと相談されました。今は手書きしているけど、量があって大変だってことですね。
確かに、基幹システムには納入先の住所などが揃っているので、それを印刷してやれば済む話ではあります。
送り状って言うと、色々な運送会社が独自書式で作っている単票複写紙のこんなのですね。

各会社ごとに帳票を用意しなければなりませんが、技術的に難しいことは無い気がします。
■ 環境
帳票の作成は、富士通のInterstage
ListCreator、プリンタは
VSP2910H。
VSP2910Hにしたのは、ドットインパクトプリンタがそれしか手元になかったから。
正直、富士通製の商品って妙な癖があるので、プリンタは別に用意したかったのですが、ないものねだりをしてもしょうがありません。
VSP2910Hの設定は、ネットワーク設定以外は工場出荷時から変えません。
帳票の発行は、Javaのプログラムからprputprtコマンドでプリントサーバ経由で
VSP2910Hに印刷する方式。
さて、どうなるかな?
■ 失敗設定
用紙のサイズを測って、帳票定義体に設定します。
・用紙種別:単票
・用紙サイズ:任意
・用紙名:送り状 ← 自分で入力する
・用紙サイズ横:241mm
・用紙サイズ縦:101mm
レイアウトの調整が面倒だと思ったので、印刷範囲も用紙サイズと同じにしました。

VSP2910Hには、このように用紙を設定します。そもそも印刷が出来るのか気になったので、A4用紙をセットして実験です。

結果、印刷はされました。なにやら印字位置はずれているようですが、印刷できたのであれば微調整の世界かと思って一安心。
だったのですが、ここからが一苦労でした。
送り状と同じサイズにカットした白紙を使って印刷したのですが、印刷自体は出来るのですが、プリンタ側で用紙切れエラーが発生してしまいます。
ER01-01:ヨウシギレ
■ 印刷可能領域
かなり悩んだのですが、VSP2910Hのマニュアル(プリンタ装置取扱い説明書)の単票用紙の印刷可能領域の記述にそれらしいものを発見しました。

要約すると、あんまり用紙の下に印刷すると、用紙切れになるよってことだそうです。
・・・それ、発生させるエラーメッセージ違うんじゃね?
これを読んで気付いたのですが、上下左右で印刷できない領域が結構広い。この印字出来ない領域を考慮して帳票定義体も設計しないとダメみたい。
しっかし、これ、印字位置が用紙端のギリギリにある帳票だと印刷出来ないかもなぁ。
なんて思いながら実際に印刷可能な領域を試行錯誤。前述のマニュアルにも書いているのですが、なんだか微妙に合わない。特に右側は、かなりギリギリまで印刷できそうです。
ま、右については用紙サイズが横幅が短い帳票だってことでしょうけど。
最終的には、こんな感じに落ち着きました。

印刷不能領域は、上と左が5mm、下が9mm、右が1mmとなりました。これを踏まえて帳票定義体を再設計します。
印刷範囲は、実寸から印刷不能領域分を減算。
・横幅:実寸から 6mm減(左5mm + 右1mm)
・縦幅:実寸から 14mm減(上5mm + 下9mm)
計算結果に合わせて、先ほどの帳票定義の印刷範囲を調整します。

■ 印刷成功
期待を胸に、改めて用紙をセットします。

印刷!
成功!
うん、ようやくエラーも発生せずに印刷完了しました。ふぅ、無駄に長い道のりだった・・・
■ 帳票定義体の設定の補足
ListCreatorの帳票定義体、何気なく単位がmmになってますが、初期値はインチです。なので、メニューから、表示→単位設定でミリメートルに変更しています。
この設定、確か昔はメニューから、表示→グリッドを表示して、強制タグの上にあるグリッド単位を「ミリメートル」に変更って手順だった気がするのですが、バージョンによってメニューの位置が変わったのかも知れません。
もう一つ注意点があります。
今回の設定、用紙方向を「横」にして、用紙サイズ、印刷範囲の横幅と縦幅の数値を逆転させれば、帳票設計画面上は何も変わりなく見えるのですが、印刷すると右端が欠けてしまいました。
プリンタにセットする紙が縦方向なので、それに合わせないといけないようです。
普通のOA用紙だと縦幅の方が長いので、横幅の方が長い送り状で縦方向って言うと違和感を感じたのですが、そういうものみたいです。
■ 後書き
意外だったのは、プリントサーバ側の設定が必要なかったってことです。やる前には用紙の追加とか、プリンタのプロパティとか、プリントサーバ側でも色々としないとダメかと思っていたのですが、特に何もする必要がなかったです。
そして、最後まで解決できなかったのが単票と連帳の自動切替。
プリンタの用紙選択を連帳にした状態で印刷すると、無条件に連帳で印刷されます。逆に、用紙選択を単票にした状態で連帳を印刷すると、用紙選択が自動的に連帳に切り替わりました。
プリンタのオプションに単票/連帳自動切替えってのがあるし、実際に連帳は自動的に切り替わるので手はあると思うのですが、ここで力尽きました。
※ 補足この記事の最初の送り状の画像は「かわいいフリー素材集 いらすとや」というサイトに掲載されていた画像をダウンロードして、30度回転させたものを使わせて頂きました。
素敵な素材、ありがとうございます<(_ _)>
かわいいフリー素材集 いらすとや:
http://www.irasutoya.com/最新の記事:
http://harikofu.blog.fc2.com/投稿記事の一覧:
http://harikofu.web.fc2.com/--- blog end ---
スポンサードリンク