使用C#

在文档后添加新页合并

private void SaveToFileInsertText(string sourcePath, string insertPath, string saveToPath)
{Document doc = new Document(sourcePath);doc.InsertTextFromFile(insertPath, FileFormat.Docx);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}

Spire版本:5.1

百度云下载:
链接:https://pan.baidu.com/s/1_YijYkjogH1bZ30gbpFMCQ
提取码:k5zn

相关连接:https://www.evget.com/article/2018/8/21/28382.html

扩展

将一个文件夹的多个文档合并为一个文档

合成方法:

将文件夹中的文档两两合并,比如第一次时,第1个和第2个合并,第3个和第4个合并,依次类推;第2次时,将第一次的合并好的文件,按照第一次合并的方法,再次合并,直到只有一个文件,即合并完成。

合并过程,需要对中间文件进行规范命名,才可以认出是哪一次合并生成的文件,再进行下一步的合并。

例如,本次测试有36个文件,共合并6次,中间会产生一些中间文件,当合成到只有一个文件时,即完成

代码:

/// <summary>
/// 合并报告,高效率
/// </summary>
/// <param name="tableNamePath">所有文档路径</param>
/// <param name="combineDoc">最后文档保存路径</param>
public void CombineDoc(string tableNamePath, string combineDoc)
{int num = 1;while (true){DirectoryInfo root = new DirectoryInfo(tableNamePath);FileInfo[] files = root.GetFiles();if (num != 1){files = files.Where(d => d.FullName.Contains("-" + (num - 1) + "-")).ToArray();}//当只有一个文件时,为最终结果if (files.Length == 1){SaveToFile(files[0].FullName, combineDoc);Console.WriteLine("合并文档... 【" + tableNamePath + "】 完成...");break;}//判断文件数量是否为偶数bool isEven = files.Length % 2 == 0;if (isEven){for (int i = 0; i < files.Length; i += 2){SaveToFileInsertText(files[i].FullName, files[i + 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + i / 2 + ".docx"));}}else{for (int i = 0; i < files.Length - 1; i += 2){SaveToFileInsertText(files[i].FullName, files[i + 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + i / 2 + ".docx"));}SaveToFile(files[files.Length - 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + (files.Length - 1) / 2 + ".docx"));}Console.WriteLine("合并文档... 【" + tableNamePath + "】 第" + num + "次 完成...");num++;}
}/// <summary>
/// 保存文档
/// </summary>
private void SaveToFile(string sourcePath, string saveToPath)
{Document doc = new Document(sourcePath);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}/// <summary>
/// 合并两个文档,并保存为另一个文档
/// </summary>
private void SaveToFileInsertText(string sourcePath, string insertPath, string saveToPath)
{Document doc = new Document(sourcePath);doc.InsertTextFromFile(insertPath, FileFormat.Docx);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}

完成...

【Spire.Doc】合并 Word 文档,将多个文档合并为一个相关推荐

  1. 【ChatGPT】Spire.Doc 给 Word 文档设置背景颜色和背景图片

    使用 Spire.Doc 给 Word 文档设置背景颜色和背景图片 1.首先需要引用 Spire.Doc 的命名空间: using Spire.Doc; using Spire.Doc.Documen ...

  2. 使用spire.doc实现word文档合并

    下载jar包: http://repo.e-iceblue.com/nexus/content/groups/public/e-iceblue/spire.doc/ maven配置: 在这里插入代码片 ...

  3. java 使用Spire.Doc实现Word文档插入图片

    目录 使用步骤 1.引入依赖 2.关键代码 Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建.读取.编辑.转换和打印等功能集 ...

  4. 国产文档处理控件Spire.Doc WPS Word文档功能上线!快速创建Word指南

    Spire.Doc for Java 是一款专业的Java Word组件,开发人员使用它可以轻松地将Word文档创建.读取.编辑.转换和打印等功能集成到自己的Java应用程序中. 本文将介绍如何使用S ...

  5. spire.doc操作word文档工具类(自用)

    如果有相关问题,可以一起研究下 引入依赖 <dependencies> <dependency><groupId>e-iceblue</groupId> ...

  6. Java使用Spire.Doc实现Word文档添加图片水印

    通过本文你将学到: Spire.Doc是什么? 如何在项目中引入Spire.Doc依赖? 项目中基于Spire.Doc封装工具类实现Word文档添加图片水印? 一.Spire.Doc是什么? 1.Sp ...

  7. Word控件Spire.Doc 【页面设置】教程(4) 如何在文档中插入分节符

    在 Microsoft Word 中,您可以通过在所需位置插入分节符轻松地将文档拆分为多个部分,从而允许您对这些部分应用不同的格式或布局选项.如果您需要执行以下任何任务,Microsoft Word ...

  8. Word控件Spire.Doc 【页面设置】教程(10) ;通过 Spire.Doc 在 Word 文档的不同部分添加页码

    有时,开发人员需要在一个 Word 文档中为不同的部分添加页码,例如封面.目录和内容位于不同的部分.本文讨论如何通过Spire.Doc为不同部分添加页码. Spire.Doc for.NET 最新下载 ...

  9. Spire.Doc利用word样式读取word文字内容(.NET)

    认识Spire.Doc的样式 1.Section是按分节符计算的. 2.section.Paragraphs是每节的段落.所有的内容都是段落. 3.注意分析"段落样式"相关的属性. ...

  10. spire.doc转化word文件

    spire.doc是java操作word文件的工具包,分为免费版和收费版 <artifactId>spire.doc</artifactId> 收费版:有水印,但是功能全 &l ...

最新文章

  1. cvs linux权限,Linux下CVS+ACL的权限控制是什么? 爱问知识人
  2. 微信企业号 JS-SDK:上传图片
  3. 2015数据中心宕机20%是由DDoS攻击引起
  4. 26个提升java性能需要注意的地方
  5. Android版:验证手机号码的正则表达式 (转)
  6. LwIP移植到FreeRTOS(STM32F107+DP83848)
  7. 基于Microsoft Translator API的vim翻译插件
  8. 死磕java_死磕 java同步系列之AQS起篇
  9. 此 Windows 副本不是正版的解决方案
  10. 入参对象有LocalDateTime类型的参数,swagger该如何传参
  11. 【Java】快速排序,归并排序,堆排序
  12. 一行代码即可删除C盘几十G垃圾,清理c盘垃圾的cmd命令
  13. minist数据集图片查看
  14. 静态库与动态库的区别与优缺点
  15. 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?
  16. 帝国采集发布-帝国免规则采集发布
  17. Datawhale集成学习笔记:熟悉机器学习的三大主要任务
  18. 解决 PHP http_build_query() 预期得到 not 却得到 ¬ 的问题
  19. L9110电机驱动电路
  20. kali中rarcrack爆破rar压缩包密码

热门文章

  1. 立冬、小雪、凛冬将至:如何理解美国科技企业裁员潮?
  2. java计算机毕业设计医院人事档案管理系源程序+mysql+系统+lw文档+远程调试
  3. 中职生学云计算机技术应用,云课堂在中职计算机课程教学中的应用
  4. 通知与服务——消息通知——通知推送Notification
  5. tesla 显卡在ubuntu下安装显卡驱动log in loop 不能登陆的问题
  6. Axure 9 实战案例,基本元件的应用 1,用矩形与标题设计视频封面
  7. Comparator用法中o1-o2的问题
  8. 网页字体转换——实习僧
  9. 钱文品 | 《Redis在海量数据和高并发下的优化实践》主题分享
  10. 怎么用电脑制作证件照?使用这个工具就可以了