Tag: 点阵

在WPF中将自定义纸张尺寸打印到冲击打印机

我要打印到装有8.5 x 8.5英寸纸张的冲击式打印机上。 打印时,打印机弹出11英寸而不是8.5英寸。 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); 使用“ 如何在.NET中将Twips转换为像素? ”我已经确定8.5英寸是816像素,这是我的element.Width和element.Height的大小。 我正在设置一个新的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中进入打印机高级设置时看到的列表相同。