方法 : 印刷ダイアログ ボックスを呼び出す

アプリケーションからの印刷機能は、PrintDialog オブジェクトを作成して開くだけで提供できます。

使用例

PrintDialog コントロールは、UI、構成、および XPS ジョブ送信のための単一エントリ ポイントを提供します。 このコントロールは使いやすく、Extensible Application Markup Language (XAML) マークアップまたはコードを使用してインスタンス化できます。 コードでコントロールをインスタンス化して開き、そのコントロールから印刷する方法を次の例に示します。 また、ダイアログ ボックスを使用してユーザーがページの特定範囲を設定できるようにする方法も示します。 このコード例は、C: ドライブのルートに FixedDocumentSequence.xps というファイルがあることを前提としています。

        Private Sub InvokePrint(ByVal sender As Object, ByVal e As RoutedEventArgs)
                ' Create the print dialog object and set options
                Dim pDialog As New PrintDialog()
                pDialog.PageRangeSelection = PageRangeSelection.AllPages
                pDialog.UserPageRangeEnabled = True

                ' Display the dialog. This returns true if the user presses the Print button.
                Dim print? As Boolean = pDialog.ShowDialog()
                If print = True Then
                    Dim xpsDocument As New XpsDocument("C:\FixedDocumentSequence.xps", FileAccess.ReadWrite)
                    Dim fixedDocSeq As FixedDocumentSequence = xpsDocument.GetFixedDocumentSequence()
                    pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job")
                End If
        End Sub
private void InvokePrint(object sender, RoutedEventArgs e)
    {
        // Create the print dialog object and set options
        PrintDialog pDialog = new PrintDialog();
        pDialog.PageRangeSelection = PageRangeSelection.AllPages;
        pDialog.UserPageRangeEnabled = true;

        // Display the dialog. This returns true if the user presses the Print button.
        Nullable<Boolean> print = pDialog.ShowDialog();
        if (print == true)
        {
            XpsDocument xpsDocument = new XpsDocument("C:\\FixedDocumentSequence.xps", FileAccess.ReadWrite);
            FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
            pDialog.PrintDocument(fixedDocSeq.DocumentPaginator, "Test print job");
        }
    }

ダイアログ ボックスを開くと、ユーザーは各自のコンピューターにインストールされているプリンターの中からプリンターを選択することができます。 また、印刷する代わりに Microsoft XPS ドキュメント ライターを選択して XML Paper Specification (XPS) ファイルを作成することもできます。

メモメモ

このトピックで説明する WPF の System.Windows.Controls.PrintDialog コントロールを Windows Formsの System.Windows.Forms.PrintDialog コンポーネントと混同しないようにしてください。

厳密には、ダイアログを開かないで PrintDocument メソッドを使用できます。 この意味で、このコントロールは非表示の印刷コンポーネントとして使用できます。 ただし、パフォーマンス上の理由から、AddJob メソッドまたは XpsDocumentWriter の複数の Write メソッドおよび WriteAsync メソッドのいずれかを使用することをお勧めします。 この詳細については、「方法 : XPS ファイルをプログラムにより印刷する」を参照してください。

参照

参照

PrintDialog

概念

WPF のドキュメント

印刷の概要

その他の技術情報

Microsoft XPS Document Writer (Microsoft XPS ドキュメント ライター)