3

ユーザー入力データ (名前、住所、金額など) を受け取り、事前に読み込まれたドキュメント テンプレート (注文フォーム) とマージして、このマージされたドキュメントを印刷するアプリケーションを構築する必要があります。このプロジェクトには Windows フォームまたは WPF を使用できます。

これにどのようにアプローチするのが最善かについて何か提案はありますか? 私は Winforms 開発の経験がありますが、データをドキュメントにマージして印刷する方法がわかりません。

4

2 に答える 2

3

WPFはこれに最適です。

Page や UserControl などの WPF UI 要素からドキュメント テンプレートを作成できます。VS デザイナーで UI を設定するのと同じように、テンプレートを設定します。データが格納される形状 (これが DataContext になります) を決定し、そのパブリック プロパティに対してバインドします。次に、結合したテンプレートを FixedPage にドロップし、それを XPS ドキュメントに追加できます。これは非常に簡単に印刷したり、ディスクに保存したりできます。

単純化されたアルゴリズム:

  • データ入力フォームを作成します。
  • フォームからのデータを保持する型を作成します (この型を Foo と呼びます)
  • Foo に対してバインドするページ テンプレートを作成する (Foo インスタンスが DataContext の場合)
  • フォームを Foo のインスタンスにバインドします
  • ユーザーにフォームに入力してもらいます (それによって Foo のインスタンス)
  • テンプレートのインスタンスを作成します (ページと仮定します)
  • Page.DataContext = fooInstance; を設定します。
  • ページを FixedPage に追加してから、これを Fixed Document に追加します
  • FixedDocument を XPS ドキュメントに保存する
  • XPS ドキュメントを保存するか、PrintQueue に送信します

私はこれに似たようなことをしていますが、うまくいきます。私のプロフィールにアクセスして、すべての質問を読んでください。これらは、手順全体の難しい部分のほとんどをカバーしています。

于 2010-03-24T11:44:10.533 に答える
0

MailMergeを使用する必要があります。メールマージは、データベース、スプレッドシート、またはその他の形式の構造化データからデータを取得し、それをレター、メーリングラベル、名前タグなどのドキュメントに挿入する方法です。この記事から始めてください。

于 2010-03-24T12:01:10.367 に答える