3

仕事用のラベル作成プログラムを作成しました。opendialog を使用してデータを取り込みます。分割して表にまとめます。そこに問題はありません。ユーザー コントロール ラベルを印刷する FixedDocument の設定と、Fixed Document Data を格納するクラスはすべてうまく機能します。

私の唯一の問題は、テキスト検索と印刷制御に関して、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

単純な変換があるかどうかはわかりません。簡単な (多少時間がかかる) 方法は、ドキュメント ビューアを使用してプレビュー ダイアログを作成し、表示される内容をシミュレートすることです。次に、FixedDocument の DocumentPaginator と通常の PrintDialog を使用して印刷します。

この質問に対する答えは、カスタム PrintPreview クラスで使用される XpsDocument を作成することによってそれを行う方法を示しています。

于 2013-01-28T19:12:54.310 に答える