dポイントプレゼントキャンペーン実施中!

C# 2010 で1インチの印刷余白を指定しiたい
私のプリンタはどこにでもある96DPIです
だから上下左右のデフォルトの余白に96を指定しました
そして pageSetupDialog を表示しますと、上下左右の余白表示は 24.38 となっていました
1インチは 25.4ミリです なぜでしょうか? 教えてください
private void button1_Click(object sender, EventArgs e)
{
this.pageSetupDialog1.EnableMetric = true;
printDocument1.DefaultPageSettings.Margins.Left = 96;
printDocument1.DefaultPageSettings.Margins.Right = 96;
printDocument1.DefaultPageSettings.Margins.Top = 96;
printDocument1.DefaultPageSettings.Margins.Bottom = 96;

this.pageSetupDialog1.Document = this.printDocument1;
pageSetupDialog1.PrinterSettings = new System.Drawing.Printing.PrinterSettings();
pageSetupDialog1.ShowNetwork = false;
DialogResult result = pageSetupDialog1.ShowDialog();

this.printDocument1.Print();
}

A 回答 (1件)

プリンターのDPIで設定というより マージンは 1/100インチ単位での指定じゃないのかなぁ



printDocument1.DefaultPageSettings.Margins.Left = 100;
printDocument1.DefaultPageSettings.Margins.Right = 100;
printDocument1.DefaultPageSettings.Margins.Top = 100;
printDocument1.DefaultPageSettings.Margins.Bottom = 100;

といった具合で ・・・

96/100*25.4 = 25.384 だから
    • good
    • 0
この回答へのお礼

たった今、プログラムを修正してテストしてみました
結果はドンピシャリの大正解でした!!!
ありがとうございます

  でも ・・・・・ どうして世の中には、こんなに博学な方がいらっしゃるのだろうか???
浅学な 私め としては恐れ入るばかりです!!!
ありがとうございました

お礼日時:2010/09/29 06:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!