C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■83326 / )  Re[4]: PrintPreviewControl の表示方法について
□投稿者/ 夜叉丸 (49回)-(2017/03/17(Fri) 11:50:40)
No83247 (魔界の仮面弁士 さん) に返信

>
> 余白サイズを幾つに指定しているのでしょうか。

印刷可能領域を最大にしたいので
pdoc.DefaultPageSettings.Margins.Left = (int)(pdoc.DefaultPageSettings.HardMarginX);
pdoc.DefaultPageSettings.Margins.Right = (int)(pdoc.DefaultPageSettings.HardMarginX);
pdoc.DefaultPageSettings.Margins.Top = (int)(pdoc.DefaultPageSettings.HardMarginY);
pdoc.DefaultPageSettings.Margins.Bottom = (int)(pdoc.DefaultPageSettings.HardMarginY);
としています。

>
> pdoc.DefaultPageSettings.PaperSize = new PaperSize("任意の名前", 228, 394);
> ppc.InvalidatePreview();
>
> ということではなく?

すみませんでした。new して使用できるとは思いませんでした。
インターネットで調べたのですが、
pdoc.PrinterSettings.PaperSizes にあるものしか設定できないと


pdoc_PrintPage で印字した部分を MakePrint 関数にして、
印刷に必要なたてサイズを取得して、からpodc_PrintPage を呼び出すようにしました。
で、いいのかな?

ただ、プログラム上では155mmで印刷されるはずなのですが
現状では140mmぐらいで印刷されています。

この辺がうまくいきません。

それから、プレビュー画面ではもちろん正常なのですが
DrawLine と DrawString を同じ左位置を設定しているはずなのに
同じ位置から印字されません。DrawLineの方が1mm右にずれている感じです。
印字に合わせるとプレビューがおかしくなるし
どうすればよいのかわかりません。







返信 編集キー/


管理者用

- Child Tree -