none
WPF4的打印功能实现? RRS feed

答案

  • 您好 aito8,

    简单点的话创建个PrintDialog,然后PrintVisual就行了。下面是个例子:

        //打印
        private void InvokePrint(Visual v, string desc)
        {
          // 创建打印对话框
          PrintDialog pDialog = new PrintDialog();
          pDialog.PageRangeSelection = PageRangeSelection.AllPages;
          pDialog.UserPageRangeEnabled = true;
    
          // 显示打印对话框并获取用户选择
          var print = pDialog.ShowDialog();
          if (print == true)
          {
            pDialog.PrintVisual(v, desc);
          }
        }

    复杂的话得创建个FixedDocument,加几个FixedPage,然后调用PrintQueue的CreateXpsDocumentWriter方法获取一个XpsDocumentWriter, 再调用这个XpsDocumentWriter的Write方法把FixedDocument写进去。

    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年5月31日 12:15
    版主

全部回复

  • 您好 aito8,

    简单点的话创建个PrintDialog,然后PrintVisual就行了。下面是个例子:

        //打印
        private void InvokePrint(Visual v, string desc)
        {
          // 创建打印对话框
          PrintDialog pDialog = new PrintDialog();
          pDialog.PageRangeSelection = PageRangeSelection.AllPages;
          pDialog.UserPageRangeEnabled = true;
    
          // 显示打印对话框并获取用户选择
          var print = pDialog.ShowDialog();
          if (print == true)
          {
            pDialog.PrintVisual(v, desc);
          }
        }

    复杂的话得创建个FixedDocument,加几个FixedPage,然后调用PrintQueue的CreateXpsDocumentWriter方法获取一个XpsDocumentWriter, 再调用这个XpsDocumentWriter的Write方法把FixedDocument写进去。

    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年5月31日 12:15
    版主
  • 版主,你好,小弟要做打印预览,如何实现.        
    数据事ItemsControl  的数据源,而且数据是很多,具有分页.如何实现打印预览,和打印功能.  小弟打印得不事xps 格式的东西如何,小弟要如何打印控件.
    2012年2月13日 6:05