カウント: -
2022年05月26日 (木) 01時05分05秒;

日本語プログラミング【なでしこ】で作ったプログラムです

「*.nako」の実行には、「なでしこ」のインストールが必要です。

プログラム説明

「なでしこ」のプリンタ設定は、プログラム起動毎に初期化され、再度プリンタの設定が必要となります。
また、プリンタの余白分小さく印刷されるので、実際の大きさと違う場合があります。
【プリンタの設定】ダイアログでプリンタの設定行い、その設定を設定ファイルに保存します。
その保存した設定ファイルを読込、プリンタを初期化(設定)して画像イメージを印刷する事ができます。
                        (画像イメージによっては、ほぼ原寸大に印刷可能)

プログラムダウンロード

プリンタ設定API.nakoをダウンロードして下さい。

プリンタ設定確認プログラム.nakoのテストプログラムをダウンロードしてテストできます。

使用法方法


プログラム例

  • イメージを宣言(大きさ等を設定「例:A4縦」し、印刷したいものをイメージに描画)
   画像イメージとは、イメージ
   その幅は、210/25.4*300    //210mm/25.4*300dpi=2480dot 300dpiのA4用紙の幅
   その高さは、297/25.4*300   //297mm/25.4*300dpi=3508dot 300dpiのA4用紙の高さ
   その画面クリア          //大きさ変更を反映
   そを24に画像ビット数変更   //印刷できない場合、必要に応じてビット数を設定
  • 使用方法1(設定ファイルで、【プリンタの設定】ダイヤログを初期化し表示。設定変更を設定ファイルに保存)
   もし プリンタのダイヤログ(「設定名」)=1ならば      //「{母艦パス}プリンタ設定¥設定名.dat」の設定ファイルで初期化
     プリンタの描画開始(「設定名」)             //プリンタへの描画開始
     プリンタの画像用紙範囲転送(画像イメージを0,0へ) //画像イメージをプリンタへ転送(プリンタ用紙一杯に)
     プリンタの描画終了                    //プリンタの描画終了(プリンタへ印刷開始)

  • 使用方法2(設定ファイルで初期化【プリンタの設定】ダイアログは非表示)
   プリンタの描画開始(「設定名」)             //プリンタへの描画開始
   プリンタの画像用紙範囲転送(画像イメージを0,0へ) //画像イメージをプリンタへ転送(プリンタ用紙一杯に)
   プリンタの描画終了                    //プリンタの描画終了(プリンタへ印刷開始)

プリンタのグループ宣言

■プリンタ
 #変数宣言
 ・{文字列}プリンタ名     //プリンタ名
 ・{文字列}ドライバ名     //ドライバ名
 ・{文字列}用紙サイズ     //用紙サイズ
 ・{文字列}給紙方法      //給紙方法(トレイ番号)
 ・{文字列}用紙向       //用紙向(「縦」、「横」)
 ・{整数} 横DPI       //横方向DPI
 ・{整数} 縦DPI       //縦方向DPI
 ・{整数} 描画幅       //実際の描画幅dot
 ・{整数} 描画高さ      //実際の描画高さdot
 ・{整数} 用紙幅       //用紙幅dot
 ・{整数} 用紙高さ      //用紙高さdot
 ・{整数} 横余白       //横余白dot
 ・{整数} 縦余白       //縦余白dot
 ・{整数} 用紙幅mm      //用紙幅mm
 ・{整数} 用紙高さmm     //用紙高さmm
 ・{整数} 横余白mm      //横余白mm
 ・{整数} 縦余白mm      //縦余白mm
 ・{整数} 横位置補正mm    //横位置補正mm
 ・{整数} 縦位置補正mm    //縦位置補正mm
 ・{整数} HDC        //プリンタのデバイスコンテキスト
 ・{整数} 親ハンドル{=0} //親ウインドウのハンドル
 ・{文字列}設定名       //プリンタの設定名(設定.Dat)
 ・{文字列}DEVMODE      //DEVMODE構造体
 ・{文字列}DEVNAMES     //DEVNAMES構造体

 #関数宣言
 ・ダイアログ(プリンタ設定名)~
   (プリンタ設定名)の設定ファイルで、プリンタを初期化し、【プリンタの設定ダイアログ】を表示
   【OK】ボタンで、プリンタを設定し、設定を設定ファイルに保存(戻り【1】)
   【キャンセル】ボタンで、変更をキャンセル(戻り【0】)

   (プリンタ設定名)は、文字列もしくは変数で指定
   設定ファイルは、(「A4縦」)の文字列で指定した場合、「{母艦パス}\プリンタ設定\A4縦.dat」)

 ・描画開始(プリンタ設定名)~
   (プリンタ設定名)の設定ファイルで、プリンタを初期化し、プリンタへの描画を開始
   (プリンタ設定名)の設定ファイルがない場合は、【プリンタの設定ダイアログ】を表示

 ・描画終了~
   プリンタの描画を終了して、プリンタへの出力(印刷)を開始

 ・画像用紙範囲転送({グループ=?母艦}元画像を横位置補正mm,縦位置補正mmへ)~
   画像イメージをプリンタへ転送(プリンの用紙いっぱいに拡大)

 ・画像描画範囲転送({グループ=?母艦}元画像を横位置補正mm,縦位置補正mmへ)~
   画像イメージをプリンタへ転送(プリンタの描画範囲いっぱいに拡大)

 ・情報~
   プリンタの情報をプリンタの各変数に設定

 ・構造体設定({参照渡し}データ)~
   (データ)をプリンタの変数(DEVMODE)と(DEVNAMES)に分離し設定
   (データ)は保存してある(プリンタの設定名)の設定ファイルのデータ

 ・構造体結合~
   プリンタの変数(DEVMODE)と(DEVNAMES)を結合して、戻る
   戻り値は、 (プリンタの設定名)の設定ファイルのデータ

参考・注意

(プリンタの設定名)の設定ファイルのデータ構造
(「DEVMODE開始」&【DEVMODE構造体】&「DEVMODE終了」&「DEVNAMES開始」&【DEVNAMES構造体】)&「DEVNAMES終了」)

注)イメージを作成して、描画だけしたイメージの場合、イメージに画像ビット数変更を設定しないと、
  転送に失敗し、印刷できない場合があります。(イメージコピーや、ファイルから画像呼び込み等はOK?)

名前:
コメント:
  • プリンタ設定API】(2019/06/07)を公開しています。 -- hihiro (2022-05-26 01:05:05)
  • 【プリンタ設定API(旧版)】(2008/08/30)とします。 -- hihiro (2022-05-26 01:04:13)
  • 感想を・意見がありましたらご記入ください -- hihiro (2009-05-04 15:53:37)


最終更新:2022年05月26日 01:05