我在尝试编写pdf生成器node.js应用程序时遇到麻烦。它使用数据呈现一个ejs模板,然后在base64中发送pdf文件作为响应。要将html转换为pdf,请使用html-pdf-chrome和Chrome。我的问题如下:
启动应用程序的服务器后,我在浏览器中转到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`)