首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Drawing.Printing.PrintDocument慢

System.Drawing.Printing.PrintDocument慢
EN

Stack Overflow用户
提问于 2013-12-17 21:00:48
回答 1查看 2.7K关注 0票数 1

我有一个应用程序需要打印一个元文件。元文件是SSRS报告的呈现。我正在使用System.Drawing.Printing.PrintDocument类打印报表。这是我的班在做印刷:

代码语言:javascript
复制
public class EMFPrinter
{
    private IList<Stream> m_streams;
    private string printerName;
    private int m_currentPageIndex;

    public EMFPrinter(IList<Stream> reportstreams, string printer)
    {
        m_streams = reportstreams;
        printerName = printer;
        m_currentPageIndex = 0;
    }

    public void Print()
    {
        PrintDocument printDoc = new PrintDocument();
        printDoc.PrinterSettings.PrinterName = printerName;
        printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
        printDoc.Print();
    }

    private void PrintPage(object sender, PrintPageEventArgs ev)
    {
        Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
        ev.Graphics.DrawImage(pageImage, ev.PageBounds);
        m_currentPageIndex++;
        ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
    }
}

如果我在我的桌面(Windows 8)上运行它,它会运行得很好。如果我尝试从它需要运行的服务器(Windows 2008 R2)运行它,它对某些打印机来说很好,但是我需要它在上面打印的打印机是HP LaserJet 1536 and,当我试图从服务器打印到它时,打印大约需要5分钟。如果我尝试从桌面打印到同一台打印机,它会立即打印。如果我试图从服务器从某个应用程序(比如画图)打印到那个打印机,那么它就会立即打印。

是什么原因导致我的代码花了这么长时间从服务器打印到这台打印机?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-13 19:37:58

这最终是打印驱动程序的问题。与此斗争了一段时间后,我下载了最新的打印驱动程序,并将其安装在服务器上。然后,我使用新的打印驱动程序将打印机安装在服务器上,并将其设置为具有ip地址端口的本地打印机。这个解决了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20644564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档