2

彼のブログ エントリで、ユーザーの操作なしでドキュメントを Microsoft XPS ドキュメント ライターに印刷するFeng Yuan は言います

独自のアプリケーションから印刷する場合、プリンター ドライバーとして MXDW を指定し、XPS ドキュメントを保存するファイル名を指定するのは簡単です。

誰かがその方法を説明し、コードサンプルを提供できますか?

私が抱えている主な問題は、Microsoft XPS Document Writer がポップアップする [名前を付けて保存] ダイアログを抑制することです。Yuan が投稿で行っているように、私は UI ハッキングに頼るのが嫌いです。

現在、私のアプリケーションは、ユーザーが使用したいプリンターのデバイス コンテキストで GDI 描画呼び出しを行います。XPS Document Writer でこれらの呼び出しを行うことはできますが、印刷を完了しようとすると、XPS Writer で [名前を付けて保存] ダイアログ ボックスが表示されます。

4

4 に答える 4

1

実際、同じ作成者が答えを提供しますPrinting to Microsoft XPS Document Writer without show File Save Dialog Box。解決策は、Microsoft XPS Document Writer プリンターを使用してファイルに出力することです。

于 2009-05-04T05:27:39.333 に答える
0

また、XPSドキュメントでファイルシステムにアクセスすることを避けたい場合は、ShahedKahnがLoadingXpsFromMemoryStreamにサンプルコードを提供しています。

于 2009-05-01T08:35:51.543 に答える
0

これが私にとってうまくいくものです:

  With Me.PrintDocument
     With .PrinterSettings
        .PrinterName = "Microsoft XPS Document Writer"
        .PrintToFile = True
        .PrintFileName = "c:\test.xps"
     End With
    .Print()
  End With

私の知る限り、これは文書化されていません。試してみると、恐ろしい名前を付けて保存ダイアログが表示されなくなります。代わりに、MXDW (c:\test.xps) によって生成されたクリーンな XPS ファイルを取得します。

于 2010-08-16T17:06:25.953 に答える