2012-09-26 28 views
2

我写了一个工作标签制作程序。它使用opendialog来提取数据。将其拆分并放在桌子上。那里没有问题。设置FixedDocument以打印用户控制标签以及存储固定文档数据的类都很好。FixedDocument可以转换为Drawing.Printing.PrintDocument吗?

我唯一的问题是,当涉及到文本搜索和打印控制,我不能站在一个WPF文件的限制。我已经使用了printpreviewdialog,但是这不使用FixedDocument。

我需要知道,如果它可以用一个简单的代码位转换或者如果我要重写我的整个类和回到绘图PrintPreviewDialog上的用途。

其调用的代码如下。

private void button3_Click(object sender, EventArgs e) 
{ 
    var avery = new Avery5160(); 
    DataTable data = (DataTable)dataGridView1.DataSource; 

    var A5160 = avery.CreateDocument(data); 
    PrintPreviewDialog ppd = new PrintPreviewDialog(); 

    ppd.Document = A5160; 
    ppd.ShowDialog(); 
} 

的错误是:

无法隐式转换类型 'System.Windows.Documents.FixedDocument' 到 'System.Drawing.Printing.PrintDocument'

感谢您的任何帮助。

+0

* WTF文档*应该始终受到限制。 ; ^) –

回答

0

我不是那么肯定有一个简单的转换。一个简单的(如果不是一点点费时的)方法就是用文档查看器创建一个预览对话框来模拟你将看到的内容。然后使用FixedDocument的DocumentPaginator和普通的PrintDialog进行打印。

答案this question说明如何通过创建一个XpsDocument,然后与自定义打印预览类用来做什么的。

相关问题