如何在没有对话框的情况下打印XPS

本文关键字:情况下 打印 XPS 对话框 | 更新日期: 2023-09-27 18:35:45

我尝试打印到XPS打印机(这不是我的默认打印机),但程序会给我打开一个对话框。我可以跳过对话框吗?这是代码:

            pSettings = new PrinterSettings();                
            pSettings.PrintFileName = "test.xps";       
            RawPrinterHelper.SendStringToPrinter(pSettings.PrinterName, toSend);                
            spcn = new StandardPrintController();
            printDocument1.PrinterSettings.PrinterName = "Microsoft XPS Document Writer";
            printDocument1.PrintController = spcn;                                    
            printDocument1.PrintPage +=
                new PrintPageEventHandler(printDocument1_PrintPage);
            printDocument1.Print();                     

如何在没有对话框的情况下打印XPS

您可以使用Aspose API将PDF打印到XPS,而无需对话框阿斯图接口

//Create PdfViewer object and bind PDF file
PdfViewer pdfViewer = new PdfViewer();
pdfViewer.OpenPdfFile("input.pdf");
//Set PrinterSettings and PageSettings
System.Drawing.Printing.PrinterSettings printerSetttings = new System.Drawing.Printing.PrinterSettings();
printerSetttings.Copies = 1;
printerSetttings.PrinterName = "Microsoft XPS Document Writer";
//Set output file name and PrintToFile attribute
printerSetttings.PrintFileName = "C:''tempfiles''printoutput.xps";
printerSetttings.PrintToFile = true;
**//Disable print page dialog**
**pdfViewer.PrintPageDialog = false;**
//Pass printer settings object to the method
pdfViewer.PrintDocumentWithSettings(printerSetttings);
pdfViewer.ClosePdfFile();