例えばプリンターのプロパティでA4サイズを設定してその、
印刷可能領域を取得することは出来るでしょうか?
やりたい事が、印刷するグラフなどの画像を印刷用紙一杯にして
印刷がしたいのですが、現在の状況では解像度にあわしているだけなので
画面のキャンバスのサイズが変更されると、そのサイズで印刷されて
しまいます。どうかご教授願います。
印刷やプリンタ関係の情報は,ネット上に結構あります.
例えば,中村の里
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);
で取得できます.
そうですね、取りあえず現在プリンターに設定されている紙のサイズの情報と
余白を取得してmm → インチ → ドット換算 して印刷可能領域を取得しよう
と思いますw
Mr.XRAYさん、ありがとうございました。
ツイート | ![]() |