プロが教えるわが家の防犯対策術!

学校勤めです。
たとえば,通知票の出力は次のようにしています。
(現行システム)
1.データベースから必要データをCSV形式で取り出す。
2.テキスト形式のフォーマットファイルを用意しておく
3.AWKを用いて(1)のデータを(2)のフォーマットに差し込む
4.PRTSという印刷ユーティリティで印刷。
以上の作業をMS-DOS上で行っています。

(注意点)
(2)のフォーマットには(4)のPRTSに対するコマンドをテキストで埋めこんでおきます。
     PRTSは,「私は\uやんなか\u,\a45才\a,\f男性です\f。」という文字列を
       \uで囲まれた部分にアンダーラインを
       \aで囲まれた部分に網かけを
       \fで囲まれた部分を強調文字にして出力します。

(問題点)
1.PRTSはキャノンレーザーショットに特化したユーティリティである。
2.PRTSはパラレルポートを必要とする。

以上のことから,他の出力システムを模索しています。
「現行システム」の(2)~(4)に替わるよいシステムはないでしょうか
(要件)
1.整形から出力までをMS-DOSでバッチ処理できること。
2.現行システムと同様の文字装飾ができること(その他文字サイズ指定など)
3.安価でできること。

どなたか知恵を貸していただけませんか?

A 回答 (5件)

話がちょっと戻りますが、



>最近のプリンタはパラレルの端子を持っていないので困っているのですが、
>こちらの理解不足でしょうか?

簡単に調べたところ、最近のプリンタはパラレル端子はオプションになっています。(パラレル端子を付けるとUSB端子が無くなるとか困った仕様ですが)
問題がパラレルインターフェースの廃止でないのなら、パラレル端子付きのプリンタを注文すればいいようにも思えます。
PRTS が使えるかは分かりませんが、オプションのROMを追加すれば使えるかな(?)と思います。
詳細は、キャノンの営業さんと話を詰められた方がよろしいかと思います。
http://cweb.canon.jp/satera/lbp/lineup/a3-mono/8 …

まあ、選択肢のひとつとして検討してはいかがでしょうか?
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
確かに、オプションでパラレルのボードをつけることは可能なのですが、
価格が3万円ほどもしてして高価です。

そんなこともあり、システムを見直すべきかと思った次第です。
どうもありがざいました。

お礼日時:2011/04/18 14:38

1つの文書に多数のレコードを表示することは可能です。


固定長行数ならレコード移動コマンドの { NEXT } を使用できるのですが、可変長行数の場合 { NEXTIF } を使用して空データの埋め込みデータ行を用意する必要があります。(手間が掛かります)

固定長行数なら { NEXT }
http://office.microsoft.com/ja-jp/word-help/HP00 …
可変長行数なら { NEXTIF }
http://office.microsoft.com/ja-jp/word-help/HP00 …

ただ、30クラス規模ですとできそうでできない感を感じるのはありますね・・・。


DOS プログラムのプリンタ出力をリダイレクトするような方法を使えばうまくいくかもしれません。ただ、私は試したことはないですのでできるかどうかわかりません。

方法: ネットワーク プリンターに、DOS アプリケーションの印刷ジョブをリダイレクトします。
http://support.microsoft.com/kb/245017/ja
DOSPRN
http://dosprn.software.informer.com/
Printfil
http://printfil1.software.informer.com/
DOS2USB
http://dos2usb.software.informer.com/

海外のソフトはいろいろと日本語対応しているかもあやしいので注意してください。
また、なんども、あやふやな回答ですみません・・・。
    • good
    • 0
この回答へのお礼

ていねいにご回答いただきありがとうございました。
ご教示いただいたことは、なかなかすぐには飲み込めないのですが、
時間をかけて勉強してみます。

rtf形式を利用することも検討してみましたが、
すぐにはむずかしそうです。

やはり、ワードとかエクセルを使って印刷する方法を考えたほうがいいのでしょうか。

お礼日時:2011/04/01 22:08

同等のことは Microsoft Word の差し込み印刷機能でできます。


CSVや住所録の値を定型文書に挿入する機能です。

こちらなどが参考になると思います。
http://www.miyazaki-cci.or.jp/nichinan/pc/case92 …

要件1は残念ながらできないか難しいと思います。

この回答への補足

有益なアドバイスをありがとうございます。
ワードでの差し込み印刷の参考にさせていただきます。

ただ、当方の知識不足かもしれませんが、
ワードやエクセルの差し込み印刷は、
1件につき1行のデータにしか対応していないのではないでしょうか。
たとえば、生徒の通知表の場合、
当方のデータ管理では、1科目につき1行になっていますので、
生徒の科目数により、
ある生徒は18行、ある生徒は20行と様々ですので、
ワードやエクセルではできないのではないでしょうか?

それと、通知表をクラス単位で打ち出すとすると、
30クラスあれば30ファイルになるので、
いちいちワードを起動して印刷というのは現実的ではないのです。
やはり、一括してコナンンドラインから命令を出す、というのがいいのですが。。。

補足日時:2011/03/16 22:56
    • good
    • 0

UNIX で awk を使ったりするときでも「シェルスクリプトで処理」って言ったりするので, 「awkを使っているのに『MS-DOSでバッチ処理』というのが理解に苦しみます。

」ってことはないと思うけど>#1. 今さら「MS-DOS でバッチ処理なの?」ならまだわかる.

さておき, Windows なら理屈としては
OLE 経由で Word を操作
のようなことは可能だし, これならアンダーラインだろうと網掛けだろうと強調だろうと文字サイズの指定だろうとできるはずです.

やったことはないですが.
    • good
    • 0

awkを使っているのに「MS-DOSでバッチ処理」というのが理解に苦しみます。



ともあれ、問題点1,2はもうすっぱり止めましょう。

代替案としてはネットワークプリンタにするか、プリントサーバー或いはパソコンと繋げる。

レーザープリンタならPostScript(http://ja.wikipedia.org/wiki/PostScript)などでデータを渡してやれば出力可能。

投資が少なく技術も不要な方法として、ExcelマクロかVBスクリプトでDBから引っ張り出したデータを加工すれば簡単に同等のことは可能だと思います。
要件の1を外す方が簡単だと思いますよ。

この回答への補足

ドバイスいただいたように、ネットワークプリンタにしたいのですが、
プリンタへの接続はパラレルでないとPRTSは使えないようなのです。
最近のプリンタはパラレルの端子を持っていないので困っているのですが、
こちらの理解不足でしょうか?

>awkを使っているのに「MS-DOSでバッチ処理」というのが理解に苦しみます。
LINU」Xなどを利用すればよいということでしょうか?
確かにTEXなど強力なツールがあるそうですが、
何分、知識も泣ければ環境もないので、
できればなれているMS-DOSでやりたいと思ったわけです。

LINUXがお薦めということになるのでしょうか?
PostScriptなどはとても難しく感じてしまうのですが。。。

補足日時:2011/03/16 23:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!