javascript - node.js html-pdf 不从绝对路径加载外部文件
问题描述
在我的应用程序中,由绝对路径提供的外部文件未正确加载,但在我的模板中一切都很好。html-pdf v.2.2.0 https://www.npmjs.com/package/html-pdf/v/2.2.0
我为我的样式模板提供了一个 href,但在将我的 HTML 模板转换为 PDF 文件期间它们没有加载。它似乎有原始风格。图像也是如此,图像的位置只有问号。
<link rel="stylesheet" type="text/css" href="https://api.greenleafpolska.pl/public/sources/index.css">
在我的应用程序中,我通过这些行提供静态文件:
app.use('/public', express.static(path.join(__dirname, 'public')))
生成PDF文件的代码:
app.get("/", (req,res)=>{
fs.readFile('./template/index_min.html', 'utf8', function(error, data) {
if (!fs.existsSync(`./tst`)){
fs.mkdirSync(`./tst`);
}
fs.writeFile('./tst/out_min.html', data,
function (error){
if (error) throw error;
});
pdf.create(data, { format: 'Letter'})
.toFile('./tst/' + 1 + '_min.pdf', function(err, result) {
var file = fs.createReadStream('./tst/' + 1 + '_min.pdf');
var stat = fs.statSync('./tst/' + 1 + '_min.pdf');
res.setHeader('Content-Length', stat.size);
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=' + 1 + '_min.pdf');
file.pipe(res);
});
});
})
还有其他方法可以在模板中提供外部文件吗?我试过“base” html 标签,但结果是一样的。这是图书馆的问题吗?
解决方案
推荐阅读
- c++ - 为什么在这种情况下递增数组名称有效?
- python - Pytorch,如何将 CNN 的输出输入到 RNN 的输入中?
- android - 如何通过routing.openstreetmap.de在两点之间获得多条路线?
- python - 大规模矩阵路由——缺少令牌/API 密钥错误
- eclipse - printf 不在 Eclipse 的控制台上打印
- eos - 使用 RPC 的 EOS 交易
- javascript - 在 Javascript 中单击时从按钮的动态 ID 中获取值
- reactjs - 我在哪里可以找到 CRA 中的 .eslintrc?
- wordpress - Wordpress:在维护模式下访问管理页面
- ruby - 在Ruby,Cucumber中执行完所有场景后,有什么方法可以执行函数吗?