う~ん、難しいですね。 WPF の印刷。
Form の時ですら、面倒と思っていたのですが、
WPF は依存関係が有るだけに、ややこしいです。
其処が理解出来れば、後は、ひたすら、要素を書くのと格闘 ... 。
モニタ等に入出力するのが基本のパソコン。
プログラム言語は其処から学習がスタートします。
良く目にする例は Hello World を画面に出すもの。
其処から始まり次第に複雑で専門的になって行く訳ですが、
印刷もそうした特殊分野扱いです。
紙に残す為の 印刷 ... 。
IT が高度化しても、ペーパーレスにはなかなか行き着きません。
やはり、紙に出すのも 必要 ... 。
でも、やはり、その要求は業務用途が多い為か、
検索して見れば、 解説の類も少なめ。
利用者側から見ても、印刷は、対象が単純で無くなると、
グッと敷居が高くなります。
A4 等の定型用紙に印刷する例が殆どです。
単純に、用紙を横にするのも ままならない 筈です。
そして、WPF の場合、
プレビューの為のコントロールが提供されていない事に気付きます。
印刷 を司る Print Dialog ( System.Windows.Controls 名前空間 ) は提供されていますが、
其れを Window に組み込んでも、
ちゃんと値を設定しない限り、単にダイアログが表示されるだけで、
印刷すら出来ません。
ダイアログの向こう側にあるハード(プリンタ)設定は、
書く側が面倒を見てやらないといけません。
用紙上に描かれる事になる文字や図や写真の類、そして、ダイアログでの指定値、
それらを相互に管理するのは、書く側に委ねられています。
そして、ダイアログで、プリンタ固有の機能を規定する GUI 部分は、ユーザーに開かれています。
そうです。 書き方に依っては、プログラムの意図に反して、別の設定を行う事も可能なのです。
言い換えれば、
ダイアログ 及び そこから呼び出し可能なプリンタの詳細設定 に関して、
どうプログラム側が対応しているのか、ユーザーからは知る術がありません。
実際に、動かして見て、初めて分かる、
印刷機能の 良し悪し ... 。 融通が効くか効かないか ... 。
また、 組み込まれた、プレビュー機能の実装パターンの 実に多様な事 ... 。
WPF 用に DocumentViewer が提供されてはいますが ... 。
プリンタ固有ダイアログ との相互調整は ... 。
細かく考えて行くと、頭がオカシクなりそうです。
やはり、印刷 は ... 難しい!。
0 件のコメント:
コメントを投稿