学校勤めです。
たとえば,通知票の出力は次のようにしています。
(現行システム)
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件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
話がちょっと戻りますが、
>最近のプリンタはパラレルの端子を持っていないので困っているのですが、
>こちらの理解不足でしょうか?
簡単に調べたところ、最近のプリンタはパラレル端子はオプションになっています。(パラレル端子を付けるとUSB端子が無くなるとか困った仕様ですが)
問題がパラレルインターフェースの廃止でないのなら、パラレル端子付きのプリンタを注文すればいいようにも思えます。
PRTS が使えるかは分かりませんが、オプションのROMを追加すれば使えるかな(?)と思います。
詳細は、キャノンの営業さんと話を詰められた方がよろしいかと思います。
http://cweb.canon.jp/satera/lbp/lineup/a3-mono/8 …
まあ、選択肢のひとつとして検討してはいかがでしょうか?
お礼が遅くなり申し訳ありません。
確かに、オプションでパラレルのボードをつけることは可能なのですが、
価格が3万円ほどもしてして高価です。
そんなこともあり、システムを見直すべきかと思った次第です。
どうもありがざいました。
No.4
- 回答日時:
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/
海外のソフトはいろいろと日本語対応しているかもあやしいので注意してください。
また、なんども、あやふやな回答ですみません・・・。
ていねいにご回答いただきありがとうございました。
ご教示いただいたことは、なかなかすぐには飲み込めないのですが、
時間をかけて勉強してみます。
rtf形式を利用することも検討してみましたが、
すぐにはむずかしそうです。
やはり、ワードとかエクセルを使って印刷する方法を考えたほうがいいのでしょうか。
No.3
- 回答日時:
同等のことは Microsoft Word の差し込み印刷機能でできます。
CSVや住所録の値を定型文書に挿入する機能です。
こちらなどが参考になると思います。
http://www.miyazaki-cci.or.jp/nichinan/pc/case92 …
要件1は残念ながらできないか難しいと思います。
この回答への補足
有益なアドバイスをありがとうございます。
ワードでの差し込み印刷の参考にさせていただきます。
ただ、当方の知識不足かもしれませんが、
ワードやエクセルの差し込み印刷は、
1件につき1行のデータにしか対応していないのではないでしょうか。
たとえば、生徒の通知表の場合、
当方のデータ管理では、1科目につき1行になっていますので、
生徒の科目数により、
ある生徒は18行、ある生徒は20行と様々ですので、
ワードやエクセルではできないのではないでしょうか?
それと、通知表をクラス単位で打ち出すとすると、
30クラスあれば30ファイルになるので、
いちいちワードを起動して印刷というのは現実的ではないのです。
やはり、一括してコナンンドラインから命令を出す、というのがいいのですが。。。
No.2
- 回答日時:
UNIX で awk を使ったりするときでも「シェルスクリプトで処理」って言ったりするので, 「awkを使っているのに『MS-DOSでバッチ処理』というのが理解に苦しみます。
」ってことはないと思うけど>#1. 今さら「MS-DOS でバッチ処理なの?」ならまだわかる.さておき, Windows なら理屈としては
OLE 経由で Word を操作
のようなことは可能だし, これならアンダーラインだろうと網掛けだろうと強調だろうと文字サイズの指定だろうとできるはずです.
やったことはないですが.
No.1
- 回答日時:
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などはとても難しく感じてしまうのですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF 2つのPDFを重ねる方法はありますか? 4 2023/01/30 14:04
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Word(ワード) Wordでの印刷サイズについて A4の原稿をB5サイズで出力したいとき、 印刷から用紙サイズの指定か 4 2022/04/30 09:51
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- Word(ワード) Wordの機能について教えてください。 2 2023/07/12 15:08
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- UNIX・Linux Ubuntu22.04、nanoエディタの使い方について 2 2022/10/24 19:50
- プリンタ・スキャナー PowerPointとPDFで一部印刷されない文字がある 2 2022/06/04 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
コンセントの電力は入力と出力...
-
printfとputcharの違いは
-
アクセスでエクセルに出力する...
-
cout と cerrの違い
-
ListViewの複数選択について
-
VBAで有効数字の設定
-
COBOLのMOVEで桁数が異なる場合
-
makeで文字化けする。migwのmak...
-
CStringとCByteArrayの変換
-
coutで出力した文字を消去する...
-
VBAでテキスト出力時のスペース...
-
CRC16計算について
-
コマンドプロンプトについて。
-
Accessのテーブルからcsv出力す...
-
定格冷房能力(出力)とは 定格...
-
ACCESS クエリ→フォーム...
-
デスクトップPCでWQHD出力させたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
printfとputcharの違いは
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
MMDでavi出力が出来ない
-
コンセントの電力は入力と出力...
-
アクセスでエクセルに出力する...
-
OBS配信すると、マイクが途切れ...
-
coutで出力した文字を消去する...
-
CRC16計算について
-
VBA レジストリの値の読み方に...
-
ACCESS クエリ→フォーム...
-
printfの書式%.*s
-
VBAで有効数字の設定
-
VBAでテキスト出力時のスペース...
-
VBAのExecメソッドで画面を非表...
-
makeで文字化けする。migwのmak...
おすすめ情報