COBOL から Windows スプーラを使用する方法を教えてください
Windows上でのプリント出力はすべてプリントマネージャによってコントロールされます。従って、直接プリンタに送られたプリンタを制御するエスケープシーケンスコードは無効です。Windowsにはプリンタを制御するためのAPIが用意されています。
これらのAPIをCOBOLプログラムの中で使うために、ライブラリルーチン(名前による呼び出し)(COBOLシステムリファレンス 付録)としてPC_WIN プリンタ制御ルーチンが提供されています。
PC_WINプリンタ制御ルーチンの使用
1) PC_WINプリンタ制御ルーチン
各々のルーチンのは以下のものがあります。
ルーチン名(アルファベット順) 機能
PC_PRINT_FILE ファイルを印刷
PC_PRINTER_CLOSE プリンタチャネルをクローズ
PC_PRINTER_CONTROL プリンタコマンドをプリンタに送信
PC_PRINTER_FREE_BMP メモリからビットマップを解放
PC_PRINTER_GET_COLOR プリンタカラーを設定
PC_PRINTER_GET_FONT プリンタフォントを設定
PC_PRINTER_INFO プリンタ情報の取得
PC_PRINTER_LOAD_BMP メモリにビットマップをロード
PC_PRINTER_OPEN プリンタチャネルをオープン
PC_PRINTER_SET_COLOR プリンタカラーを設定
PC_PRINTER_SET_DEFAULT プロセス共通のデフォルトプリンタを設定
PC_PRINTER_SET_FONT プリンタフォントを設定
PC_PRINTER_WRITE プリンタへのテキスト書き込み
PC_PRINTER_WRITE_BMP プリンタへのビットマップ書き込み
プリンタに対して色やフォントの設定するルーチンがありますが、これらのルーチンはPC_PRINTER_OPENでオープンした時に返されるプリンタのハンドルを使います。従ってWRITE文で印刷するためにOPENしたプリントファイルに対しての設定はできません。
またこのルーチンを使う場合は"printer_redirection=true"の設定は不要です。
2) ドキュメント
各々のルーチンの使用方法等の詳細は、Net Expressヘルプを参照してください。