
C# 印刷可能領域と余白範囲の関係?
プリンタで印刷出来る最大画像を出力したい
そこで余白範囲を印刷可能範囲まで拡大した
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
MessageBox.Show("余白範囲 変更前" + "\r\n" +
" left " + e.MarginBounds.Left + "\r\n" +
" right " + e.MarginBounds.Right + "\r\n" +
" width " + e.MarginBounds.Width + "\r\n" +
" top " + e.MarginBounds.Top + "\r\n" +
" bottom " + e.MarginBounds.Bottom + "\r\n" +
" height " + e.MarginBounds.Height + "\r\n");
余白範囲を印刷可能範囲まで拡大
e.PageSettings.Margins.Left = (int) e.Graphics.VisibleClipBounds.Left;
e.PageSettings.Margins.Right = (int)e.Graphics.VisibleClipBounds.Right;
e.PageSettings.Margins.Top = (int)e.Graphics.VisibleClipBounds.Top;
e.PageSettings.Margins.Bottom = (int)e.Graphics.VisibleClipBounds.Bottom;
このようにしても前後のメッセージの値は同一でした
MessageBox.Show("余白範囲内 変更後" + "\r\n" +
" left " + e.MarginBounds.Left + "\r\n" +
" right " + e.MarginBounds.Right + "\r\n" +
" width " + e.MarginBounds.Width + "\r\n" +
" top " + e.MarginBounds.Top + "\r\n" +
" bottom " + e.MarginBounds.Bottom + "\r\n" +
" height " + e.MarginBounds.Height + "\r\n");
}
どうやら余白範囲はReadOnlyらしい
そこで疑問???
(1)余白範囲を超えても印刷可能範囲ならば、全てのプリンタで画像がチョン切れることはないのだろうか?
(2)そうならば余白範囲は何のためにあるのでしょうか? その存在目的は?
毎日印刷テストを繰り返し、無駄なインクと紙を浪費している私と『 母なる地球 』をお救いください!!!
No.1ベストアンサー
- 回答日時:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{}
まず、これは印刷を開始後に発生するイベント
ですよね
いわば、印刷中であるといえるでしょう
印刷中に、プログラムが余白を設定する意味は無いので
ReadOnly なのでは無いでしょうか
分かりやすく書くと、EXCELを思い浮かべてください
印刷前にプレビュー等をだして余白を設定しますよね
その後、印刷を行うと
1ページ目も2ページ目もすべて、同じ余白の中に印刷されます。
なので、余白の設定は、
[プリンタドキュメント].Print(); を行う前
[プリンタドキュメント].DefaultPageSettings.Margins で設定して
printDocument1_PrintPage(~略~)
内では、その設定された範囲で印刷を行う
と、すべて同じ余白で印刷されます
って意味だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 「印刷中」メッセー...
-
phpについてですかね、印刷ボタ...
-
CSSが全く分かりません、お助け...
-
outlook 文字を揃えたい。tab...
-
フォルダ内の写真を画面幅にあ...
-
マイクロ(μ)の文字を半角で出...
-
”ヒラギノ明朝Pro”をWindowsで...
-
VBAでListViewのフォントを変更...
-
コンボボックスのOPTIONごとに...
-
教えてください。
-
cssでリンク先のurlを表示させ...
-
似ているフォント(Win⇔Mac)
-
逆向き/(スラッシュ)の入力方法
-
ホームページビルダーでサイト...
-
ホームページをTeraPadで日本語...
-
IE,Firefoxの文字サイズについて
-
文字の色を英字で指定する時は...
-
他のパソコンから自分のHPを見...
-
メールソフトBecky!のHTMLメー...
-
テーブル内の文字サイズを変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFファイルを開かずに印刷...
-
EXCEL VBA 印刷プレビューダイ...
-
ページ内にスクロールバーのあ...
-
Excel VBAで文字列の可視長を得...
-
EXCEL VBAでPDFファイルを開い...
-
横に長いWeb画面を一枚の用紙に...
-
excelにて各シートの総印刷ペー...
-
コマンドプロンプトでフォルダ...
-
ACCESS VBA レポートプレビュー...
-
サイト全体を縮小して印刷する...
-
OpenOffice Calc basic で印刷...
-
VBAで Ctrl + Shift + F2が使え...
-
印刷時に2ページ以上になる時CS...
-
Accessレポートでの改ページ
-
TEXTAREAの印刷について
-
Excel VBA 「印刷中」メッセー...
-
インラインフレームの印刷について
-
phpについてですかね、印刷ボタ...
-
ヘッダやフッタの印刷をしたくない
-
VB.netで印刷
おすすめ情報