我有一个Window对象,想要创建并设置一些值,并将其直接发送到打印机而不显示它。我认为下面的代码是正确的方式,但只显示空白文档。
PrintDialog dlg = new PrintDialog();
ReportWindow rw = new ReportWindow(); //WPF Window object
var sz = new Size(96*8.5, 96*11); //size of a paper page, 8.5x11
rw.Measure(sz); rw.Arrange(new Rect(sz));
// rw.Show(); //want to keep it hidden
dlg.PrintVisual(rw, "report printout");
rw.Close();
为了验证打印代码是否正常,我将其放在表单加载事件中并调用Show()函数,这样可以很好地运行。