【发布时间】:2010-11-12 08:18:45
【问题描述】:
我目前正在尝试从 WPF 打印文档。我正在使用 Web 浏览器,因为它包含一个活动的 x 控件,其中包含我需要查看文档的 autodesk 插件。
我知道 WPF 不直接支持 Web 浏览器,但我刚刚为此集成了 Windows 窗体库。我已经设法让代码运行甚至打印,但是打印的文档是空白的。
我不确定这是否可能是 Windows 窗体库和 WPF 之间的冲突;我正在导航到文档,并且仅在加载后才打印,没有抛出任何错误。
这是我正在使用的代码:
private void btnPrint_Click(object sender, RoutedEventArgs e)
{
System.Windows.Forms.WebBrowser w = new System.Windows.Forms.WebBrowser();
Uri uri = new Uri("C:\\BOS-BD-4518-000.dwg.dwf");
w.Navigate(uri);
w.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(w_DocumentCompleted);
}
void w_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
System.Windows.Forms.WebBrowser w = (System.Windows.Forms.WebBrowser)sender;
w.Print();
}
一个可能的问题是不允许加载活动的 x 控件,有谁知道如何强制初始化控件。
有没有人知道如何解决这个或其他打印 Autodesk (.dwf) 文档的方法
提前致谢, 总和
【问题讨论】:
-
您是否尝试过使用 .NET 3.5 SP1 中预封装的 WPF WebBrowser 控件? blogs.msdn.com/llobo/archive/2008/06/12/wpf-webbrowser.aspx 就此而言,您是否尝试过直接从 Internet Explorer 打印?
-
据我所知,WPF WebBrowser 不包含打印选项。可能有办法做到这一点(这是有道理的),但我一直没能找到它。我已经直接从 Internet Explorer 打印了文档,它确实可以工作,但是我被提示关于活动的 x 控件并且必须在它加载之前允许它,这让我想知道这是否是问题
标签: c# wpf printing xps autodesk