如何在 XWPFDocument with Java 中使用一个模板来管理多个页面



我想知道,我怎样才能多次重用一个模板(里面有一个页面和一些变量)一个XWPFDocument对象。

我的想法是:

  • XWPFDocument中加载一次模板作为模板对象
  • 克隆/创建/复制模板对象及其所有样式和标题等
  • 用内容填充克隆
  • 将此克隆添加到目标 - XWPFDocument

我只在一页中得到了这项工作。当我尝试克隆/创建/复制模板对象时,它将丢失他的所有样式信息。

如何使用 Java 将一段.docx复制到另一个.docx并保留样式

如何使用POI将一个.docx中的某些内容复制到另一个.docx,而不会丢失格式?

> POI 可能不支持开箱即用,但我在我的项目 poi-mail-merge 中做了类似的事情,它与底层 XML 一起工作,以重复替换模板Microsoft Word 文档中的标记,并将结果合并到一个结果文档中。

因此,它基本上将模板文档多次复制到生成的文档中。

请参阅此处了解我在那里是如何做到的,基本上我处理 XML 正文文本并在那里进行替换/更改,然后将其附加到结果文档中。

POI Mail Merge在其他

情况下可能会有所帮助,但在我的情况下它不起作用。

我的

解决方法是先将我的模板XWPFDocument更新为所需的结构,暂时保存它并将其读回XWPFDocument对象。

步骤如下:

  • 将模板文件读入XWPFDocument
  • 从数据文件中读取记录,例如.csv
  • 计算与数据记录相关的页数
  • 从模板中获取正文元素对象 - XWPFDocument
  • 在模板中创建新的正文元素(取决于页数XWPFDocument并用我们之前获得的相同对象替换它们
  • 暂时保存更新的模板 - XWPFDocument
  • 将临时保存的模板读入XWPFDocument
  • 替换所有占位符并用您的 CSV 数据填充它们

希望这对某人有所帮助

相关内容

  • 没有找到相关文章

最新更新