好吧,那么,我在我的测试项目中使用angular cli,而且由于im是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
gethttp://localhost:4200/build/vfs_fonts.js404(未找到)
所以,我拿走了,在我的组件中,我只导入了pdfmake,如下所示:
import * as pdfmake from 'pdfmake/build/pdfmake.js';

它能做什么?好吧,没什么,我仍然没有在代码中的任何地方调用它,现在正在做:
pdfmake.createpdf(this.docdefinition.download());
docdefinition代表我的pdf内容。
好吧,现在呢?出现此错误:
错误:在虚拟文件中找不到文件“roboto regular.ttf”
系统
好的,我可能需要导入vfs_字体,在哪里?好吧,我不知道,我试着在scripts标记处导入angular-cli.json,不,不工作,我甚至试着在我的组件处导入,不。
我试着使用ng pdf使图书馆找到了ant npm网站,但它根本不起作用。
我可能犯了一个新手错误,如果它简单又愚蠢的话:对不起。
@编辑
我尝试了他所做的同样的事情,事实上它在我的项目中与jQuery一起工作,但是它对于PDFFIG来说是行不通的。
这是我的angular-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(“content”),即使使用vfs_字体导入:
import * as pdfmake from 'pdfmake/build/pdfmake.min.js';
import * as pdfFonts from 'pdfmake/build/vfs_fonts.js';

最佳答案

首先你需要通过npm安装pdfmake

npm install pdfmake --save

它会将您的包裹保存在node_modules
之后,您可以像这样访问pdfmake
 import * as pdfMake from 'pdfmake/build/pdfmake';
 import * as pdfFonts from 'pdfmake/build/vfs_fonts';

在使用pdfmake初始化之前
 pdfMake.vfs = pdfFonts.pdfMake.vfs;

示例:
import { Component } from '@angular/core';
 import * as pdfMake from 'pdfmake/build/pdfmake';
 import * as pdfFonts from 'pdfmake/build/vfs_fonts';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app works!';
constructor(){
     //called first time before the ngOnInit()
     pdfMake.vfs = pdfFonts.pdfMake.vfs;
      var dd = { content: 'your pdf data' };
    pdfMake.createPdf(dd).download();
  }

}

它应该有用。
不需要在index.html或脚本中添加任何内容。

关于angular - 如何在angular-cli上使用外部库? (pdfmake),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45014497/

10-13 00:35