C# 在一个打印作业队列中打印多个Word文档
如何在一个打印作业队列中打印多个Word文档。。在c#中是否存在我可以将所有内容合并成一个并发送到打印机的情况?或者我们有包装类吗?我最终将文档附加到一个包装类中。。。下面是代码C# 在一个打印作业队列中打印多个Word文档,c#,printing,C#,Printing,如何在一个打印作业队列中打印多个Word文档。。在c#中是否存在我可以将所有内容合并成一个并发送到打印机的情况?或者我们有包装类吗?我最终将文档附加到一个包装类中。。。下面是代码 public static void AppendDocFree() { object missing = System.Reflection.Missing.Value; bool lblnFirstDoc = false; Ap
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);
}