[英]how to add image in ejs template which is converted to pdf
我正在使用获取多个数据的 api 将我的 ejs 模板转换为 pdf。 我可以将来自 api 的 json 响应中的数据插入到模板中。 但我面临图像问题。 该图像是一团 html 画布。 我将其转换为 base64 并通过另一个 api 将其名称插入到 db 中。
我的api响应,
"data2": [
{
"graph_img": "http://localhost:5000/public/images/graph_images_for_pdf/2021102161712PM.jpeg"
}
],
我如何在 ejs 模板中使用它,
<% dataw.data2.forEach(function(a){ %>
<div class="row">
<div class="col-sm-6">
<div class="mb-4 pull-left">
<div > <%= a.graph_img %> </div>
</div>
</div>
</div>
<% }); %>
这给了我 pdf 中的 http://localhost:5000/public/images/graph_images_for_pdf/2021102161712PM.jpeg。 如何改为添加图像。
var fs = require ("fs");
var image = graphimage;
var bitmap = Buffer.from(image, 'base64');
var _path = "./public/images/graph_images";
var imagename = nmae+".jpeg";
fs.writeFileSync(_path+'/'+imagename, bitmap);
这就是我将文件保存在我的 api 中的方式。 其中 graphimage 是来自前端的字符串。
需要去掉字符串开头的base64签名标签,才能成功解析。 代码应该是这样的
var fs = require ("fs");
var image = graphimage.replace("data:image/jpeg", "");
var bitmap = Buffer.from(image, 'base64');
var _path = "./public/images/graph_images";
var imagename = nmae+".jpeg";
fs.writeFileSync(_path+'/'+imagename, bitmap);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.