在docxtemplater 和 open-docxtemplater-image-module按word模板导出图片 遇到个坑记录下
在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模板导出图片 遇到个坑记录下相关推荐
- cache failed module status_Flutter混编之路——iOS踩坑记录
一.运行Xcode编译或者flutter run/build 过程中报错:"x86_64" is not an allowed value for option "ios ...
- VUE使用docxtemplater导出word(带图片)
一.docxtemplater docxtemplater 是一种邮件合并工具,以编程方式使用并处理条件.循环,并且可以扩展以插入任何内容(表格.html.图像). npm 是安装 docxtempl ...
- 纯前端vue利用docxtemplater实现生成word文档下载 word模板,勾选框的默认勾选。。
首先需要下载如下工具: cnpm i docxtemplater pizzip jszip-utils file-saver -S 然后将它们引入: import JSZipUtils from &q ...
- vue+docxtemplater,填充word模板
安装依赖 yarn add docxtemplateryarn add pizzipyarn add jszip-utilsyarn add file-saver// 模板解析插件(支持list循环直 ...
- android 子module混淆_Android 多模块打包混淆填坑记
最近有个 sdk 的项目使用了多模块(Module)开发,然后提供 jar 包给接入者使用,要求大部分类是混淆过的,保留几个接口, Android Studio 能够导出 aar 文件,对于导出 ja ...
- No module named ‘win32gui‘ 的解决方法(踩坑之旅)
在此把踩过的坑记录下来,我失败的方式,你们可能成功,我成功的方法,你们可能失败.这些包啊库啊的,经验也就是这样了.也许换个时间再执行一次,莫名其妙的可能就成了.bug就是这么奇妙,跟人生一样.说不出来 ...
- 使用docxtemplater来处理word模板
工作中遇到需要根据不同数据来处理模板word的情况,网上搜索了一番之后,找到了一个叫做docxtemplater的库,使用起来非常便携,也十分满足此次的需求. 这次就来记录一下docxtemplate ...
- sanic学习踩坑记录:第一坑——sanic_jinja2应用报错ModuleNotFoundError: No module named ‘AppName‘
刚开始学习使用sanic,发现有一些坑,随手记录一下:以供后来者共同学习,避免踩坑: # 使用的软件版本 python 3.8.10 sanic 21.9.3 sanic-jinja2 0.10.0 ...
- Django module学习之模板
The Django template language 可以根据数据流动的方向来进行学习理解. 首先要理解几个概念: Template Context RequestContext HttpResp ...
最新文章
- Eclipse新建web项目出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
- 子查询返回的值不止一个。当子查询跟随在 =、!=、、=、、= 之后,或子查询用作表达式时,这种情况是不允许的。...
- Linux命令基础3
- css样式加入的法方,初学必知:XHTML网页中加入CSS的五种方_css
- mysql事务回滚后,自增ID仍然增加
- xadmin 显示外键字段
- WinCE OAL中的RAM定制函数
- dict字典,以及字典的一些基本应用
- NetApp收购Data Domain 当上冤大头?
- maplesoft maple 2020
- IObit Uninstaller Pro 10.0.2.20 便携版 — 卸载工具
- php5.2 zend解密,狐灵科技分享几款zend解密工具,可以解密zend5.2
- 社交网络分析工具NetworkX和Gephi
- VHDL实现矩阵键盘
- 网易2021校招笔试题节选个人解答(题目来源:牛客)
- 文明与征服新套路,北条点火队
- Web前端(15)_input表单
- MySQL远程连接报错:ERROR 2002 (HY000): Can‘t connect to server on ‘192.168.172.130‘ (115)
- prometheus命令_Prometheus配置
- ps aux|grep xxx详解
热门文章
- Postgresql数据库连接池
- 201671010438王奕晗 实验三 作业互评与改进
- JedisConnectionException: java.net.ConnectException: Connection refused
- 小程序知识点分享(一)
- LOJ6356 四色灯
- GPS_华翰_解决方案
- Verilog的关键字
- python将电视剧按收视率进行排序_用 Python 检测国产电视剧后,发现了各位演员的真实水平.........
- win7关闭开机启动项_注意!WIN7不要轻易点修复漏洞,否则可能会故障
- 引领网页设计潮流的优秀网页作品赏析《第四季》