2012-03-30 10 views
0

現在、Webブラウザコントロールに詳細なデータを表示するために、XSLTスタイルシートを使用するXMLドキュメントがあります。 Webブラウザの印刷ダイアログを使用して印刷することができますが、より多くの制御が必要です。私たちが必要とする主な機能は、何らかの理由で印刷前に文書のページ数を取得することです。そして、2番目に重要なのは、用紙を取り出すトレイを選択するなどの印刷オプションを制御することです。私はPrintDocument基盤を持つ他の文書を印刷するときに、両方を行うことができます。.XSLTでのXMLの印刷。

私たちは印刷設定の部分がなくても生きることができますが、実際にはページ数を得る方法が必要です。誰かが別の方法を見つけることができれば、Webブラウザコントロールを使用する必要はありません。現在のところ、webrowserコントロールを使用してドキュメントを表示および印刷するだけで、バッチ印刷プロセスのページ数が必要になるため、プロセス中にドキュメントを表示する必要はありません。

ページカウントを取得できるXSLTドキュメントを使用してXMLを印刷する方法は誰にもありますか?

おかげで、

答えて

0

残念ながら、レンダリングされたHTMLを含む任意のページ数のソリューションはそれに非常に「ハック」感を持っているとしています。 HTMLでは、印刷時の100%正確なページ数を判断する方法がありません。また

は、XSLとして知られているXMLベースの文書化パブリッシング標準がある:FOあなたが現在代わりにXML & XSLTの(何をしているかと同様に使用することができます - > HTML、そのXML & XSLT - > XSL :FO)、通常はサードパーティのレンダラーを使用する必要があります。 http://www.antennahouse.com/xslfo.htm

+0

はい、私はそれがハックな解決策になることは知っていますが、それは問題ありません。私たちは仕事のために何かを得る必要があります。印刷ドキュメントクラスを使用すると、印刷ジョブを送信することができます。OnPrintPageというイベントがあり、プリンタに実際に印刷が送信される前にカウンタを固定し、印刷ジョブを取り消すことができます。このようなものは問題ありませんが、残念ながらマイクロソフトでは、Webブラウザコントロールからの印刷をほとんど制御できません。 – kds6253

+0

第三者の選択肢は現時点では現実的ではありません。現在の設定に依存する多くのことが起こっています – kds6253