1

C# 3.5 を使用して、XPS ファイルを "Microsoft XPS Document Writer" プリンターに送信してプログラムで作成しようとしています。印刷キューを設定することはできますが、PrintQueue.AddJob() を使用してジョブを印刷キューに追加することはできません。XPS ファイルが必要なためです。また、PrintSystemInfo JobStream をバイト配列に設定しようとしましたが、役に立ちませんでした。

基本的に、「Microsoft XPS Document Writer」に印刷するときにユーザーが手動で行うことを模倣したいと考えています。 1. プリンターのリストから「Microsoft XPS Document Writer」を選択します。2. 新しい XPS ファイル名を指定します。3. 印刷します (.xps ファイルとして保存されます)。

System.Printing および System.Windows.Xps 名前空間を使用すると、これを行う簡単な方法があると思います。私はこれを調査するのに多くの時間を費やし、他の人が同じタスクを達成しようとしているのを見てきましたが、エレガントなソリューションを提供できた人はいません.

どんな洞察も大歓迎です。

ありがとう。

4

1 に答える 1

1

あなたが探しているべきことは、このファイルを読む方法を知っているアプリケーションに、それらを印刷するように依頼する方法です。つまり、Excel は xslt をレンダリングできるので、Excel に XPS ライターに出力するように依頼する必要があります (おそらく COM 経由で)。

System.Windows.Xps 名前空間は、ドキュメントの読み取りとレンダリングの方法を知っている場合に役立ちます。次に、このhttps://stackoverflow.com/a/352551/332528に似た XpsDocuments メソッドに対応する呼び出しを行い、ドキュメントを xps にレンダリングし、それからそれを印刷します。

于 2012-06-15T07:40:14.740 に答える