我写了一个标签制作程序。它使用opendialog来提取数据。拆分并将其放入表格中。没问题。设置FixedDocument以打印用户控件标签以及存储固定文档数据的类都可以正常工作。
我唯一的问题是,在文本搜索和打印控制方面,我无法忍受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 :(得分:0)
我不确定是否有简单的转换。一个简单的(如果不是一点点耗时)方法是创建一个带文档查看器的预览对话框,以模拟您将看到的内容。然后使用FixedDocument的DocumentPaginator和常规的PrintDialog进行打印。
this question的答案显示了如何通过创建XpsDocument来实现它,然后将其与自定义PrintPreview类一起使用。