问题标签 [docxtemplater]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
504 浏览

javascript - 如何使用“docxtemplater”生成的多个 docx 文件创建一个 zip 文件?

最近,我被要求制作一个工具,一旦我们向它提供数据,它应该使用给定的模板自动生成 .docx 文件。经过一番思考,我最终选择了docxtemplater,我确实设法生成了一个 .docx 文件,其核心代码如下:

但是,这还不够,我想创建多个 .docx 文件并将它们放在一个包含 zipfile 的文件中。那么如何修改上面的代码,以便生成一个 .zip 文件,其中包含上面的“output.docx”文件,以及另一个 docx 文件?

0 投票
1 回答
120 浏览

javascript - 如何删除 Docxtemplater 中字符串之间的空格?

{#form}{importantFacts}{/form}

问题是字符串接管了整行

例如 :

1. This is test

2. This is a longer string so spacing is generated less

但是,如果我给更长的字符串它工作正常,基本上行为是它涵盖了整行..如何删除这些空白

如果需要显示更多代码,请告诉我。

生成文档文件

用于打印字符串数组的函数

0 投票
0 回答
107 浏览

json - docxtemplater:表格在循环中消失

我遇到了一个问题docxtemplater。我有一个文件,它由一个两行一列的表组成。

第一行有以下说明:{-w:tr ga} {-w:tc headers} {value} {/headers} {/ga}.

第二行有以下说明:{-w:tr ga} {-w:tc contents} {value} {/contents} {/ga}

为了您的方便,这里是文件本身:[点击]

当我在官方 docxtemplater 网站上使用演示来检查它是如何工作的时,我插入了这个 JSON 作为数据。

我希望打印出 4 列和 3 行的表格,底部一个空,前两个填充 Header 1.1 - 2.4 文本。但是,它只是删除了表格并在新行上打印出这些值。

您可以自己尝试一下:上传文件、复制 JSON、生成并查看结果。

如何解决这个问题?谢谢!

0 投票
0 回答
73 浏览

javascript - 使用 OpenXML 将图表嵌入到 React.js 项目中的 Microsoft Word 文档

在处理 React 应用程序项目时,我需要导出一个包含多个表格和多个图表的 docx 文件。所有这些表格和图表都依赖于应用程序提供的数据,因此我需要将这些数据提供给该文件的方法。我考虑过使用docxtemplaterdocx.js来解决问题,但在这两种情况下,我都无法指导如何为图表本身实现动态数据。

我在 openXml 中自学过,看过一些例子,但这些是针对 C#,而不是 JavaScript。并且docxtemplater-chart-module依赖于严重过时的 docxtemplater 版本,因此可能存在漏洞,这对于一个严肃的项目来说确实不是理想的东西。我知道对于图表,我需要更新 docx 中的缓存数据和 docx 中嵌入的 xlsx 中的真实数据。但是,docxtemplater 提供了一个原始 xml 注入选项(除非我有实现经验,否则它显然不起作用,我还没有,而且它很可能看起来不必要地复杂)。

我的问题是,使用 Create React App 环境以编程方式将条形图插入 docx 文件的最简单方法是什么?我会感谢每一个回应。

0 投票
1 回答
153 浏览

node.js - 如何在firebase存储上加载docx文件然后保存到firebase存储nodejs

我正在使用带有 nodejs 的 docxtemplater,并已从以下链接中阅读了文档: https ://docxtemplater.readthedocs.io/en/latest/generate.html#node

与提供的文档不同,我正在尝试从我的 firebase 存储中加载一个名为

'标签-example.docx'

并让 docxtemplater 在那里的标签上运行。然后将生成的文档保存回我的 firebase 存储。简单的说:

  1. 从 Firebase 存储中加载“tag-example.docx”;
  2. docxtemplater 在文档上做它的事情;
  3. 修改后的输出保存到 firebase 存储。

我的问题是我不断收到以下错误消息:

有没有办法解决这个问题?这是因为我没有像示例中那样将文档作为二进制文件加载吗?这甚至可以通过 Firebase 存储来完成吗?

0 投票
1 回答
198 浏览

node.js - nodejs中的Firebase存储+ docxtemplater

我无法在节点 js 中加载 firebase 存储文档(最好是二进制文件),以便可以在其上生成 docxtemplater 文档。我对 docxtemplater 很陌生,真的很想将它用于我的 webapp

这是可以做到的吗?

下面是我得到的代码,但我认为它没有正确地从我的 firebase 存储中加载文档:

任何帮助将不胜感激我真的被困住了。

0 投票
2 回答
203 浏览

javascript - 如何使用不同的数据集多次渲染 docxtemplater

我使用 docxtemplater 将 Word 文档(我从云端加载)中的标签替换为实际值。

我使用的 Word 文档包含任意标签,因此我首先需要检查一个 Word 文档并获取它包含的所有标签的列表。为此,我使用InspectModule,它被设置为docxtemplater.render(). 然后我查询一个服务,我使用标签作为动态查询的参数。docxtemplater.setData(myData)最后,我通过调用(again)将标签替换为各种查询结果docxtemplater.render()

问题是,当我使用 调用docxtemplater.render()InspectModule,模块不仅会获取所有标签(这很好),还会将 Word 文档中的所有标签替换为字符串“undefined”(这对我的目的不利),因为我不想用字符串“undefined”替换标签,而是用我的查询结果转换为数据对象。

解决此问题的最佳方法是什么(本质上,我希望能够render()多次调用)?从云端重新加载 Word 文档并重新开始docxtemplater查询render()数据?在第一次docxtemplater调用之前深度复制对象,所以我有一个对象的“新”副本,可以用于第二次调用?或者我可以带一个参数调用,这样它就不会修改文档,或者是否有一种方法可以将对象设置回执行该方法之前的状态?还是有其他更好的选择?谢谢!render()docxtemplaterrender()render()reset()docxtemplaterrender()

代码:这让我得到了所有的标签,并用字符串“未定义”替换了 Word 文档中的所有标签。

0 投票
1 回答
234 浏览

node.js - 如何将节点中生成的 docx 文件保存到 Firebase 存储

嗨,我对 docxtemplater 很陌生,但我非常喜欢它的工作原理。现在我似乎能够生成一个新的 docx 文档,如下所示:

我的问题是我不断收到一个错误doc.pipe is not a function。我对nodejs很陌生,但是有没有办法让新生成的文档doc.render()直接保存到firebase存储中?

0 投票
1 回答
1439 浏览

javascript - React js 读取 doc/docx 文件的文本

我需要阅读用户上传的 doc/docx 文件的内容。

我试过使用jszipwith docxtemplater,但我无法读取文件。

如果除了 docs/docx 文件之外它还可以读取 txt 文件,那就太好了。

我有一个这样的 docx 文件:

你能帮我个忙吗?

链接:https ://codesandbox.io/s/lively-butterfly-ey8og?file=/src/App.js:0-2711

代码:

0 投票
1 回答
1391 浏览

javascript - React js 查看 docx blob 文件

我可以blob使用以下模块创建类型的 docx 文件docxtemplater,然后让用户可以下载 docx 文件。

这样:

但是,我想做的是让用户在创建过程中可以在浏览器上查看 docx 文件。

我想我会做这样的事情来创建一个 url blob: const objectURL = URL.createObjectURL(out);

但我找不到能够查看 docx 文件的方法。

如果有允许它的模块,你能给我一些建议吗?

我尝试使用react-doc-viewer,但它不适用于 blob 文件。