Я работаю над приложением WinForms, которое использует элемент управления ReportViewer
для отображения нескольких отчетов служб Reporting Services.На этих экранах мы позволяем пользователю распечатать отчет, вызвав метод PrintDialog()
в ReportViewer, например:
_reportViewer.PrintDialog();
В большинстве случаев это работает нормально, он вызывает стандартный диалог печати окон,пользователь выбирает, на каком принтере он хочет печатать, и он печатает.Однако, когда пользователь выбирает печать в PDF с использованием «Adobe PDF», он выбрасывает Win32Exception: The specified datatype is invalid
.Диалоговое окно выбора файла для сохранения PDF даже не появляется.
Это происходит только с принтером Adobe PDF.Я установил NitroPDF и использовал их принтер PDF, и он работает без проблем.
Кто-нибудь знает, что может быть причиной этого?
Редактировать:
Вот трассировка стека:
at System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)
at System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e)
at System.Drawing.Printing.PrintController.Print(PrintDocument document)
at System.Drawing.Printing.PrintDocument.Print()
at Microsoft.Reporting.WinForms.ReportViewer.PrintDialog(PrinterSettings printerSettings)
at Microsoft.Reporting.WinForms.ReportViewer.PrintDialog()