2012-09-26 34 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,然後與自定義打印預覽類用來做什麼的。

相關問題