首页 > 解决方案 > 如何使用外部样式和字体渲染 ejs 文件?

问题描述

我在尝试编写 pdf 生成器 node.js 应用程序时遇到了麻烦。它使用数据渲染 ejs 模板,然后以 base64 格式发送 pdf 文件作为响应。要将 html 转换为 pdf,请使用 html-pdf-chrome 和 chromium。我的问题如下:

启动应用程序的服务器后,我在浏览器中转到 localhost:3000/path。在渲染它时调用我的函数,这没关系。但是在

ejs.renderFile('path/to/file.ejs',options, cb())

我得到了所有内容,但它没有加载样式和图像。

我需要类似的东西

compileEjsFile->sendHtmlStringToConvert->saveFile->convertToBase64AndSend.

是否有可能从中获得完整的网站(带有渲染样式和图像)ejs.renderFile()?有什么不同的方法吗?

我知道有一个选项可以在渲染后传递整个 css,但不幸的是必须添加我自己的字体并且不知道如何正确执行。

file.ejs通往风格的道路上是这样的

<link href="stylesheets/style.css" rel="stylesheet" type="text/css">

应用程序树如下所示:

 - pdf (output pdf directory)
 - public
 - - stylesheets
 - - - style.css
 - views
 - - file.ejs
 - routes 
 - - documents.js (here is route that handles request)
 - tools
 - - generator.js (here im invoking `ejs.renderfile`)

标签: node.jsexpressejspath.js

解决方案


推荐阅读