好的,所以,我在我的测试项目中使用了角-cli,并且由于我对web开发世界的新认识,我尝试了新的想法。这一次我做不到。
我试过什么?
好吧,我遵循pdfmake,在我的index.html中,我将这两行放在body标记中:
<script src='build/pdfmake.min.js'></script>
<script src='build/vfs_fonts.js'></script>好吧,我明白这个错误:
获取http://localhost:4200/build/pdfmake.min.js GET fonts.js 404 (未找到)
因此,我拿走了而不是带走,我只将pdfmake导入到我的组件中,如下所示:
import * as pdfmake from 'pdfmake/build/pdfmake.js';它能做什么?好吧,没什么,我还没有在代码中调用它,现在做的是:
pdfmake.createPdf(this.docDefinition).download();
docDefinition代表我的pdf内容。
好吧,现在呢?出现此错误:
错误:在虚拟文件系统中找不到“Roboto-Regular.ttf”文件
好的,我可能需要导入vfs_font,在哪里?嗯,我不知道,我试着在脚本标签中导入角锥. even,不,不工作,我甚至尝试导入我的组件,nope。
我试着用ng-pdf-让图书馆找到了ant npm站点,但是它根本不起作用。
我可能犯了一个新手的错误,如果这件事简单而愚蠢,我很抱歉。
@Edit
我尝试了他所做的同样的事情,实际上它在我的项目中与jquery一起工作,但是它不适用于pdfmake。
这是我的角-cli.json脚本标记:
"scripts": [
"../node_modules/pdfmake/build/pdfmake.min.js",
"../node_modules/pdfmake/build/vfs_fonts.js",
"../node_modules/jquery/dist/jquery.js",
"../node_modules/tether/dist/js/tether.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
],事实上,即使使用pdfmake.createPdf导入,也不能使用vfs_fonts (“content”):
import * as pdfmake from 'pdfmake/build/pdfmake.min.js';
import * as pdfFonts from 'pdfmake/build/vfs_fonts.js';发布于 2017-07-10 17:43:08
pdfmake.min.js在node_modules中,那么浏览器如何访问node_modules中的pdfmake.min.js?只有dist文件夹内容可供外部世界使用,因此可供浏览器使用。
按@Jonnysai said的方式安装npm模块,并按以下方式配置.angular-cli.json
{
...
"scripts": ["node_modules/pdfmake/build/pdfmake.min.js"],
...
}所有其他静态资产,如Roboto-Regular.ttf复制到src/assets/文件夹。整个assets文件夹将在传输过程中自动复制到dist中。然后在您的index.html中,将它们包括在assets/oboto-Regular.ttf中
https://stackoverflow.com/questions/45014497
复制相似问题