【问题标题】:Merge 2x DOCX files into 1?将 2 个 DOCX 文件合并为 1 个?
【发布时间】:2009-01-22 07:14:55
【问题描述】:

我需要以编程方式合并一大堆 docx 文件。想象一下它们的编号是 1 到 10。我基本上需要一个包含所有 10 个文档的 final.docx 文件。 如果我能以某种方式将第二个附加到第一个,那么我可以重复第三个,然后是第四个,等等。

请注意,我不需要重建目录或类似的东西。每个 docx 都只有一些静态内容。但是,这些文档中有页脚,需要保留。

最好是 C# 或 MSBuild 中的答案。

谢谢你。

【问题讨论】:

    标签: c# msbuild merge docx


    【解决方案1】:

    我在 C# 中创建了一个应用程序,用于将 RTF 文件合并到一个文档中,我希望它也适用于 DOC 和 DOCX 文件。

            Word._Application wordApp;
            Word._Document wordDoc;
            object outputFile = outputFileName;
            object missing = System.Type.Missing;
            object vk_false = false;
            object defaultTemplate = defaultWordDocumentTemplate;
            object pageBreak = Word.WdBreakType.wdPageBreak;
            string[] filesToMerge = new string[pageCounter];
            filestoDelete = new string[pageCounter];
    
            for (int i = 0; i < pageCounter; i++)
            {
                filesToMerge[i] = @"C:\temp\temp" + i.ToString() + ".rtf";
                filestoDelete[i] = @"C:\temp\temp" + i.ToString() + ".rtf";                
            }
            try
            {
                wordDoc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Word.Selection selection= wordApp.Selection;
    
            foreach (string file in filesToMerge)
            {
                selection.InsertFile(file,
                    ref missing,
                    ref missing,
                    ref missing,
                    ref missing);
    
                selection.InsertBreak(ref pageBreak);                                     
            }
            wordDoc.SaveAs(ref outputFile, 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);  
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 2015-03-18
      • 2013-11-30
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 2020-06-11
      相关资源
      最近更新 更多