プリンターの印刷可能領域を取得できますか?

解決


のり  2004-04-07 04:31:36  No: 8252

例えばプリンターのプロパティでA4サイズを設定してその、
印刷可能領域を取得することは出来るでしょうか?

やりたい事が、印刷するグラフなどの画像を印刷用紙一杯にして
印刷がしたいのですが、現在の状況では解像度にあわしているだけなので
画面のキャンバスのサイズが変更されると、そのサイズで印刷されて
しまいます。どうかご教授願います。


Mr.XRAY  URL  2004-04-07 06:12:48  No: 8253

印刷やプリンタ関係の情報は,ネット上に結構あります.
例えば,中村の里
http://www.asahi-net.or.jp/%7EHA3T-NKMR/index.htm

にあるTNkPrinterのコードを参考にする手もあります.
またDelphi MLで印刷領域とかプリンタで検索してみるといいかも知れません.書籍では,やはり,中村さんの
  Delphi Graphic Secrets
が参考になります.タイトルは英語ですが,中身は日本語です.

ちなみに,印刷可能領域幅と高さ(mm単位)の取得は
  GetDeviceCaps(Printer.Canvas.Handle,HORZSIZE);
  GetDeviceCaps(Pritner.Canvas.Handle,VERTSIZE);

あるいは,
  GetDeviceCaps(Printer.Handle,HORZSIZE);
  GetDeviceCaps(Pritner.Handle,VERTSIZE);
で取得できます.


のり  2004-04-07 18:28:37  No: 8254

そうですね、取りあえず現在プリンターに設定されている紙のサイズの情報と
余白を取得してmm → インチ → ドット換算  して印刷可能領域を取得しよう
と思いますw
  
  Mr.XRAYさん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加