8.5 x 8.5インチの用紙が入ったインパクトプリンタに印刷しています。印刷すると、プリンタは8.5インチではなく11インチを排出します。WPFでインパクトプリンタにカスタム用紙サイズを印刷
「 How do I convert Twips to Pixels in .NET?」私は8.5インチが私のelement.Width
と
element.Height
のサイズである816個のピクセル、であると判断しましたを使用して
PageMediaSize pageSize = new PageMediaSize(PageMediaSizeName.Unknown, element.Width, element.Height);
PrintDialog dialog = new PrintDialog();
dialog.PrintTicket.PageMediaSize = pageSize;
Console.WriteLine(dialog.PrintableAreaHeight); // 816, good!
dialog.PrintQueue = myQueue; // selected from a combobox
Console.WriteLine(dialog.PrintableAreaHeight); // 1056 :(
dialog.PrintVisual(element, description);
。私は新しいPageMediaSize
を設定していますが、これは効果がないと思われます。dialog.PrintableAreaHeight
は、ダイアログにキューを設定すると1056で終了します。
dialog.ShowDialog()
の場合は、手動でプリンタを選択し、プリンタの詳細設定で手動で用紙サイズを見つけて変更すると、dialog.PrintableAreaHeight
に変更が反映されます。
このページhttp://go4answers.webhost4life.com/Example/set-printdialogs-default-page-size-168976.aspxは、プリンタでサポートされているPageMediaSize
しか設定できないことを示しています。私のPrintQueue
にGetPrintCapabilities
機能を使用すると、10個ほどのページサイズのリストが表示されますが、いずれも8.5 x 8.5ではありません。これは、Windowsのプリンタの詳細設定に移動したときに表示されるリストと同じです。