-->

PrintDocument.Print是缓慢,除非用户登录到所述打印计算机(PrintDocumen

2019-10-17 13:24发布

我有一个Web应用程序托管在服务器“A”(SA),并托管在服务器“B”(SB),用于打印的Web服务。 SA创建并需要打印,并将其发送到SB图像。 做这件事时,打印速度相当慢,大约十五秒钟。 不过,如果我登录到SB使用远程桌面从托管SA应用的webconfig用户,那么它会在不到两秒钟打印。 看来,如果SB开始的东西,当我登录到它是使它打印速度更快。 任何想法,这可能是,如果有我能保持这种快速的打印,即使我没有登录的方式吗?

编辑:该图像的被印刷的尺寸为约20千字节。

下面是从上SB托管服务的代码:

public void PrintImage(Stream printImage, string printServer, string printer)
    {
        string printerName = String.Format(@"\\{0}\{1}", printServer, printer);

        Image image = Image.FromStream(printImage);

        PrintDocument printDocument = new PrintDocument();
        PrinterSettings settings = new PrinterSettings();
        settings.PrinterName = printerName;
        printDocument.PrinterSettings = settings;

        printDocument.PrintPage += (s, e) =>
        {
            e.Graphics.DrawImage(image, 0, 0);
        };

        printDocument.Print();
    }

感谢您抽出宝贵的时间通过这个阅读:)

Answer 1:

我们发现,如果我们创建了一个SB打印机映射,它只是作为快速执行没有远程桌面连接。



Answer 2:

需要注意的是,从一个Web应用程序(或服务)印刷一般是不支持的。 看MSDN和这个SO岗位 。



Answer 3:

对我们来说,是打印速度快,当我们打开选项Load User Profile中的IIS。



文章来源: PrintDocument.Print is slow unless user is logged in to the printing computer