【问题标题】:Print Multiple Word Document in One Print Job Queue在一个打印作业队列中打印多个 Word 文档
【发布时间】:2010-09-28 21:29:47
【问题描述】:

如何在一个打印作业队列中打印多个 Word 文档.. 在 c# 中是否有可以将所有内容合并为一个并将其发送到打印机的方法?还是我们有任何包装类?

【问题讨论】:

    标签: c# printing


    【解决方案1】:

    我最终将文档附加到一个中......这是代码......

    public static void AppendDocFree()
            {
                object missing = System.Reflection.Missing.Value;
                bool lblnFirstDoc = false;
                Application oWordApp = new Application();
                Range InsertRange = null;
                Document oWordDoc = null;
                foreach (string fileName in Directory.GetFiles(@"c:\temp\generated"))
                {
                    object file = (object)fileName;
                    if (!lblnFirstDoc)
                    {
                        oWordDoc = oWordApp.Documents.Open(ref file, ref missing, ref missing,
                                                                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                                                                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    
                        lblnFirstDoc = true;
                    }
                    else
                    {                    
                        //Collapses the range to the ending position.
                        object CollEnd = WdCollapseDirection.wdCollapseEnd;
                        InsertRange.Collapse(ref CollEnd);
    
                        Document InsertDocument = oWordApp.Documents.Open(ref file, ref missing, ref missing,
                           ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                            ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    
                        Range range = InsertDocument.Content;
                        range.Copy();
                        InsertRange.Paste();
    
                        InsertDocument.Close(ref missing, ref missing, ref missing);                    
                    }
                    object DocumentEnd = oWordDoc.Content.End - 1;
                    InsertRange = oWordDoc.Range(ref DocumentEnd, ref DocumentEnd);
    
                    //This is important(if you unstand the above text)
                    object wdSectionBreakN = WdBreakType.wdSectionBreakNextPage;
                    InsertRange.InsertBreak(ref wdSectionBreakN);
                }
    
                oWordDoc.SaveAs(@"c:\temp\output.doc");
                oWordDoc.Close(ref missing, ref missing, ref missing);
                oWordApp.Quit(ref missing, ref missing, ref missing);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2012-10-02
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      相关资源
      最近更新 更多