PrintVisual is not working on windows 7

孤街醉人 提交于 2019-12-25 06:39:39

问题


i need to print a small report using PrintVisual function like following:

uc.DataContext = myDataTable.DefaultView; // us is UserControl
PrintDialog pDialog = new PrintDialog();
pDialog.PageRangeSelection = PageRangeSelection.AllPages;
pDialog.UserPageRangeEnabled = true;
pDialog.PrintQueue = System.Printing.LocalPrintServer.GetDefaultPrintQueue();
pDialog.PrintTicket = pDialog.PrintQueue.DefaultPrintTicket;
pDialog.PrintTicket.PageScalingFactor = 1;

System.Printing.PrintCapabilities capabilities = null;
try
{
    capabilities = pDialog.PrintQueue.GetPrintCapabilities();
}
catch
{
    capabilities = null;
}
Viewbox vb = new Viewbox();
vb.Child = uc;

System.Windows.Size sz = new Size(520, 380);
vb.MinWidth = 1;
vb.MinHeight = 1;
vb.Measure(sz);
vb.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

double scale = 1;
vb.LayoutTransform = new ScaleTransform(scale, scale);

pDialog.PrintVisual(vb, "MyViewBox");

the code works well in Win 8 and win 10 but not on win 7 any suggestions ?

来源:https://stackoverflow.com/questions/39298578/printvisual-is-not-working-on-windows-7

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!