在docxtemplater 和 open-docxtemplater-image-module按word模板导出图片 遇到个坑记录下

主要是一直提示 Cannot read property ‘part’ of undefined

在网上搜了好多博客,以及npm官方实例代码测试,都不行,也没找到答案。

最后功夫不负有心人 在github描述发现了这句
真的坑,根据官方或者博客装最新docxtemplater,一准报错,于是赶紧
npm install docxtemplater@3.5 看到控制台没错,我就知道成功了,快两个小时的搜搜查查没白费。

我的模板

导出实例

开心
成功代码

// 模板导出word
const Docxtemplater = require('docxtemplater')
const ImageModule = require('open-docxtemplater-image-module')
const PizZip = require('pizzip');
const path = require('path')// /读取模板文件
var content = fs.readFileSync(path.join(__dirname, '../../docx_template/交底记录导出样板.docx'), 'binary');
console.log(path.join(__dirname, '../../image/tmp/16214454071121001.png'));
var zip = new PizZip(content);
var doc = new Docxtemplater();
// console.log(zip);
var opts = {centered: true,getImage: function (tagValue, image) {console.log(__dirname);return fs.readFileSync(path.join(__dirname, '../../image/tmp/' + tagValue));},getSize: function (img, tagValue, image) {return [80, 30];}
}doc.attachModule(new ImageModule(opts)).loadZip(zip).setData({image: "16216095120611001.png",name: 'test'});try {/*render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...)*/doc.render();
} catch (error) {var err = {message: error.message,name: error.name,stack: error.stack,properties: error.properties,}// console.log(JSON.stringify(err));/* The error thrown here contains additional information when logged with JSON.stringify (it contains a property object).*/throw error;
}var buf = doc.getZip().generate({ type: 'nodebuffer' });
/* buf is a nodejs buffer, you can either write it to a file or do anything else with it.*/
fs.writeFileSync(path.join(__dirname, '../../docx/test.docx'), buf);

在docxtemplater 和 open-docxtemplater-image-module按word模板导出图片 遇到个坑记录下相关推荐

  1. cache failed module status_Flutter混编之路——iOS踩坑记录

    一.运行Xcode编译或者flutter run/build 过程中报错:"x86_64" is not an allowed value for option "ios ...

  2. VUE使用docxtemplater导出word(带图片)

    一.docxtemplater docxtemplater 是一种邮件合并工具,以编程方式使用并处理条件.循环,并且可以扩展以插入任何内容(表格.html.图像). npm 是安装 docxtempl ...

  3. 纯前端vue利用docxtemplater实现生成word文档下载 word模板,勾选框的默认勾选。。

    首先需要下载如下工具: cnpm i docxtemplater pizzip jszip-utils file-saver -S 然后将它们引入: import JSZipUtils from &q ...

  4. vue+docxtemplater,填充word模板

    安装依赖 yarn add docxtemplateryarn add pizzipyarn add jszip-utilsyarn add file-saver// 模板解析插件(支持list循环直 ...

  5. android 子module混淆_Android 多模块打包混淆填坑记

    最近有个 sdk 的项目使用了多模块(Module)开发,然后提供 jar 包给接入者使用,要求大部分类是混淆过的,保留几个接口, Android Studio 能够导出 aar 文件,对于导出 ja ...

  6. No module named ‘win32gui‘ 的解决方法(踩坑之旅)

    在此把踩过的坑记录下来,我失败的方式,你们可能成功,我成功的方法,你们可能失败.这些包啊库啊的,经验也就是这样了.也许换个时间再执行一次,莫名其妙的可能就成了.bug就是这么奇妙,跟人生一样.说不出来 ...

  7. 使用docxtemplater来处理word模板

    工作中遇到需要根据不同数据来处理模板word的情况,网上搜索了一番之后,找到了一个叫做docxtemplater的库,使用起来非常便携,也十分满足此次的需求. 这次就来记录一下docxtemplate ...

  8. sanic学习踩坑记录:第一坑——sanic_jinja2应用报错ModuleNotFoundError: No module named ‘AppName‘

    刚开始学习使用sanic,发现有一些坑,随手记录一下:以供后来者共同学习,避免踩坑: # 使用的软件版本 python 3.8.10 sanic 21.9.3 sanic-jinja2 0.10.0 ...

  9. Django module学习之模板

    The Django template language 可以根据数据流动的方向来进行学习理解. 首先要理解几个概念: Template Context RequestContext HttpResp ...

最新文章

  1. Eclipse新建web项目出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  2. 子查询返回的值不止一个。当子查询跟随在 =、!=、、=、、= 之后,或子查询用作表达式时,这种情况是不允许的。...
  3. Linux命令基础3
  4. css样式加入的法方,初学必知:XHTML网页中加入CSS的五种方_css
  5. mysql事务回滚后,自增ID仍然增加
  6. xadmin 显示外键字段
  7. WinCE OAL中的RAM定制函数
  8. dict字典,以及字典的一些基本应用
  9. NetApp收购Data Domain 当上冤大头?
  10. maplesoft maple 2020
  11. IObit Uninstaller Pro 10.0.2.20 便携版 — 卸载工具
  12. php5.2 zend解密,狐灵科技分享几款zend解密工具,可以解密zend5.2
  13. 社交网络分析工具NetworkX和Gephi
  14. VHDL实现矩阵键盘
  15. 网易2021校招笔试题节选个人解答(题目来源:牛客)
  16. 文明与征服新套路,北条点火队
  17. Web前端(15)_input表单
  18. MySQL远程连接报错:ERROR 2002 (HY000): Can‘t connect to server on ‘192.168.172.130‘ (115)
  19. prometheus命令_Prometheus配置
  20. ps aux|grep xxx详解

热门文章

  1. Postgresql数据库连接池
  2. 201671010438王奕晗 实验三 作业互评与改进
  3. JedisConnectionException: java.net.ConnectException: Connection refused
  4. 小程序知识点分享(一)
  5. LOJ6356 四色灯
  6. GPS_华翰_解决方案
  7. Verilog的关键字
  8. python将电视剧按收视率进行排序_用 Python 检测国产电视剧后,发现了各位演员的真实水平.........
  9. win7关闭开机启动项_注意!WIN7不要轻易点修复漏洞,否则可能会故障
  10. 引领网页设计潮流的优秀网页作品赏析《第四季》