尝试使用JS API PdfMake:
构建PDF<script type="text/javascript" src="/app/js/vfs_fonts.js"></script>
<script type="text/javascript" src="/app/js/pdfmake.min.js"></script>
然后根据this Helloworld,我跑:
var docDef={ content: 'This is an sample PDF printed with pdfMake' }
pdfMake.createPdf(docDef).download('optionalName.pdf');
我有这个错误:
未捕获的TypeError:无法读取属性&#39; Roboto-Regular.ttf&#39;的 未定义
答案 0 :(得分:14)
我解决了在vfs_fonts之前导入pdfmake的问题。
<script type="text/javascript" src="/app/js/pdfmake.min.js"></script>
<script type="text/javascript" src="/app/js/vfs_fonts.js"></script>
答案 1 :(得分:1)
我在RequireJS上遇到了这个错误。如果您正在使用RequireJS,您可以通过在垫片中指定依赖关系来解决它:
require.config({
baseUrl: 'public/bower_components',
waitSeconds: 200,
paths: {
'jquery' : 'jquery/dist/jquery.min',
'bootstrap' : 'bootstrap/dist/js/bootstrap.min',
'pdfmake': '../js/pdfmake',
'vfs_fonts':'../js/vfs_fonts' },
shim: {
bootstrap:{
deps: ['jquery']
},
'vfs_fonts':{
deps: ['pdfmake']
}
}
});
答案 2 :(得分:0)
我遇到了同样的问题,但是包含使用脚本标签的文件,正确的顺序或者需要JS修复的文件都不起作用。
对我来说有用的是从pdfmake GitHub存储库替换vfs_fonts.js的最新版本。
答案 3 :(得分:0)
我正在Asp .Net MVC中工作,并且遇到相同的问题。我在BundleConfig.cs中包含文件。然后,我从该文件中移出了文件,并将这些文件直接放在视图中,它对我有用。