C# c打印文档和打印机队列

C# c打印文档和打印机队列,c#,printing,C#,Printing,我正在做一项打印挂标签的服务,因为我不能在这里测试批量打印,我想问一下做过类似工作的人是否可以回答我的问题 现在我只使用打印调用,例如: streamToPrint = new StreamReader(@"C:\printerlog\rootlog2.log"); try { printFont = new Font("Arial", 10); PrintDocument pd = new PrintDocument(); pd.PrintPage += new Pri

我正在做一项打印挂标签的服务,因为我不能在这里测试批量打印,我想问一下做过类似工作的人是否可以回答我的问题

现在我只使用打印调用,例如:

streamToPrint = new StreamReader(@"C:\printerlog\rootlog2.log");
try
{
    printFont = new Font("Arial", 10);
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
    // Print the document.
    pd.PrinterSettings.PrinterName = "HP LaserJet M1522 series PCL6 Class Driver";
    pd.Print();
    }
    finally
    {
        streamToPrint.Close();
    }
(...)
这是工作,但我认为这不是最好的做法在这里由于打印队列。任何人都可以告诉我,如果我只是使用这种方法,这将被添加到打印队列中,还是我应该担心如果打印机忙会发生什么


提前谢谢。

打印内容应提交至队列。但是,如果您希望像我们所有人一样测试它以向自己证明,那么最好的方法就是编写一些测试代码以向自己证明它添加到队列中

在这种情况下,我会做一个打印工作,并告诉它打印20份。不要提交同一份作业的20份副本,然后立即通知其进行另一份打印作业。如果第二个排队,你知道它排队,成功属于你。如果它无法排队,那么您知道print会排队,您需要一个新的计划


当我有疑问的时候,我总是采取这种立场来解决问题

这会增加打印效果queue@BugFinder你确定?我看到了这一点,因为有一个AddJob,我怀疑我的代码是否可以工作,或者是否会在生产中失败。你可以测试它以确保,让它打印20份第一件事,然后提交第二件。。如果它排队,它排队:Ok。谢谢@BugFinder:写一个答案,这样我就可以结束我的问题了:谢谢你的帮助,我要尝试一下,做一些测试:测试和证明自己是最好的方式,因为这样你就明白了,你不只是知道有人曾经说过,而且可能都是错的