3

我为工作编写了一个标签制作程序。它使用 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”

感谢您的任何帮助。

4

1 回答 1

0

I am not so sure there is a simple conversion. A simple (if not a little time-consuming) method would be to create a preview dialog with a document viewer to simulate what you would be seeing. Then printing using the FixedDocument's DocumentPaginator and a regular PrintDialog.

The answer to this question shows how to do it by creating an XpsDocument that is then used with a custom PrintPreview class.

于 2013-01-28T19:12:54.310 回答