Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
20
UltraPrintPreviewDocument-Printing a single pag
posted

Hello,

i am using the ultraprintpreviewdocument to print documents with several pages. Now I want to select a single page from them and print it.  Is this possible with a ultraprintpreviewdocument (Version 8.3) or do I have to develop my own printpreviewdocument?

  • 5118
    Suggested Answer
    posted

    This can be done through the PrinterSettings object.  Get to it like this:

    ultraPrintPreviewDialog1.Document.DefaultPageSettings.PrinterSettings

    and then you can invoke the print command:

    ultraPrintPreviewDialog1.Document.Print()

     

    • 914
      posted in reply to Matthew Kraft

      I have the same problem. I am setting the Document.PrinterSettings as well as the Document.DefaultPageSettings.PrinterSettings to the PrinterSettings retrieved from the Windows.System.Forms.PrintDialog. I even listed out the settings in the Immediate window and confirmed that FromPage was 2, ToPage was 2, and PrintRange was SomePages {2}. Yet, the UltraWinPrintPreview control (I'm using the control not the dialog) still prints out all pages. Is that control supposed to honor the SomePages selection?

      • 54937
        Offline posted in reply to Roy

        Actually this is not something that the UltraPrintPreviewControl/Dialog have control over. It is up to the PrintDocument implementation to support printing ranges of pages. The UltraGridPrintDocument supports this but currently the UltraSchedulePrintDocument does not. Also, if you're using your own printdocument (derived or just handling the PrintPage, etc. events) then it is up to you to honor this setting.

        • 914
          posted in reply to Roy

          Using 9.1: Per the previous thread, I am setting the Document.PrinterSettings as well as the Document.DefaultPageSettings.PrinterSettings to the PrinterSettings retrieved from the Windows.System.Forms.PrintDialog. I even listed out the settings in the Immediate window and confirmed that FromPage was 2, ToPage was 2, and PrintRange was SomePages {2}. Yet, the UltraWinPrintPreview control (I'm using the control not the dialog) still prints out all pages. Is that control supposed to honor the SomePages selection?

          To test this out further, I modified the PrintPreviewBasicFeatures sample program by adding a handler to the ultraPrintPreviewDialog1's Printing event as follows:

              Private Sub ultraPrintPreviewDialog1_Printing(ByVal sender As Object, ByVal e As Infragistics.Win.Printing.PrintingEventArgs) Handles ultraPrintPreviewDialog1.Printing
                  Dim doc As System.Drawing.Printing.PrintDocument = ultraPrintPreviewDialog1.Document
                  With doc.PrinterSettings
                      .FromPage = 2
                      .ToPage = 2
                      .PrintRange = Printing.PrintRange.SomePages
                  End With
                  With doc.DefaultPageSettings.PrinterSettings
                      .FromPage = 2
                      .ToPage = 2
                      .PrintRange = Printing.PrintRange.SomePages
                  End With
              End Sub

          This event is supposed to be raised before the print occurs - and it does. But all 9 pages are being printed (luckily my printer status dialog can cancel this!) So what is the problem with PrintRange not being handled by the component? Is this a bug? Or is there something else I need to do to get user selection of the pages to be printed to be honored by the control?