【发布时间】:2015-02-16 16:20:48
【问题描述】:
我有一个具有以下属性的 wpf 用户控件:
- 宽度=170mm(642px)
- 高度=85mm(321px)
我想将它打印在上述尺寸的纸张上(宽度=170 毫米,高度=85 毫米)
我的问题是:当我打印它时,有些项目从纸上打印出来,我认为纸张尺寸默认为 Letter,如果正确,如何将其更改为高于 Width 和 Height?
我的代码如下:
var p = new myUserControl();
var pDoc = new System.Windows.Controls.PrintDialog();
if (pDoc.ShowDialog().Value)
{
pDoc.PrintVisual(p, "MyPrint");
}
可能需要这样的东西(这是 System.Windows.Forms.PrintDialog 的设置,但我使用 System.Windows.Controls.PrintDialog 它没有 PrinterSettings 属性):
var printerSettings = new PrinterSettings();
var labelPaperSize = new PaperSize { RawKind = (int)PaperKind.A6, Height = 148, Width = 105 };
printerSettings.DefaultPageSettings.PaperSize = labelPaperSize;
var labelPaperSource = new PaperSource { RawKind = (int)PaperSourceKind.Manual };
printerSettings.DefaultPageSettings.PaperSource = labelPaperSource;
if (printerSettings.CanDuplex)
{
printerSettings.Duplex = Duplex.Default;
}
【问题讨论】: