MigraDocPrintDocument - правильный класс.
// Creates a PrintDocument that simplyfies printing of MigraDoc documents
MigraDocPrintDocument printDocument = new MigraDocPrintDocument();
// Attach the current printer settings
printDocument.PrinterSettings = printerSettings;
Мы используем System.Windows.Forms.PrintDialog (), чтобы позволить пользователю выбрать принтер (этот диалог заполняет структуру printerSettings)
Используйте
internal PrinterSettings printerSettings = new PrinterSettings();
для принтера по умолчанию. Измените эту структуру для печати с другими настройками или на другом принтере.
Обратите внимание, что в PDFsharp 1.31 печать будет работать только со сборкой GDI + (сборка WPF не будет правильно печатать документ).