我正在尝试从渲染的ejs文件创建pdf,但是无论我如何尝试都无法正确渲染图像。
我的app.js:
let express = require("express");
let app = express();
let ejs = require("ejs");
let pdf = require("html-pdf");
let path = require("path");
app.use( express.static( "public" ) );
app.get("/generateReport", (req, res) => {
ejs.renderFile("./views/report-template.ejs", (err, data) => {
if (err) {
res.send(err);
} else {
pdf.create(data).toFile("certificate.pdf", function (err, data) {
if (err) {
res.send(err);
} else {
res.send("File created successfully");
}
});
}
});
})
app.listen(3000, function(){
console.log('Server listening on port 3000');
});
----------
我的report-template.ejs文件
<html>
<body>
<img src="certificate.jpg" width=675 height=792>
</body>
</html>
我已经在所有位置(包括root,public等)保存了certificated.jpg。但是它不起作用。请帮助..我是编码和节点的新手。
我相信问题是,简单的certificate.jpg
相对于您当前的路线/generateReport
。
如果将图像更改为<img src="/certificate.jpg" width=675 height=792>
,则将图像存储在public/
文件夹中应该可以使用