アプリケーションが A4 以外の用紙サイズに印刷するときのスケーリングの問題を修正しようとしています。GetPrintableArea という既存のメソッドがありますが、mediaSize に関係なく同じ値を返します。
public Size GetPrintableArea(PageMediaSize mediaSize)
{
_printQueue.CurrentJobSettings.CurrentPrintTicket.PageMediaSize = mediaSize;
var capabilities = _printQueue.GetPrintCapabilities(_printQueue.CurrentJobSettings.CurrentPrintTicket);
return new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);
}
capabilities.PageImageableArea W/H は常に同じ値 (761、1090) に設定されます。そして、私が見ることができる限り、これは A4 (1/96 インチ単位) の選択されたプリンターのイメージ可能領域です。A3 などの他の用紙サイズのプリンター PageImageableArea を取得するにはどうすればよいですか?