How to print directly, without Print Dialog in WPF?

18,333

Solution 1

You can use the PrintDialog class without showing the dialog (without calling ShowModal)

Solution 2

This is one of the ways you can change default printer or change other settings:

using System.Printing;  //add reference to System.Printing Assembly
                        //if you want to modify PrintTicket, also add
                        //reference to ReachFramework.dll (part of .net install)
...

var dlg = new PrintDialog();

dlg.PrintQueue = printer; // this will be your printer. any of these: new PrintServer().GetPrintQueues()
dlg.PrintTicket.CopyCount = 3; // number of copies
dlg.PrintTicket.PageOrientation = PageOrientation.Landscape;

dlg.PrintVisual(canvas);

Solution 3

Try

PrintDialog dialog = new PrintDialog();
dialog.PrintVisual(_PrintCanvas, "My Canvas");
Share:
18,333
Raj
Author by

Raj

Software Engineer (.Net, Java), love learning new technology.

Updated on June 16, 2022

Comments

  • Raj
    Raj about 2 years

    I just want to know how I can print a flow document without showing Print Dialog in WPF.

    Thanks for help…