TypeError:无法读取属性' Roboto-Regular.ttf'未定义的

时间:2015-02-04 11:47:36

标签: javascript pdfmake

尝试使用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;的   未定义

是否需要 Roboto-Regular.ttf 文件?

如果是这样的话呢?

4 个答案:

答案 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中包含文件。然后,我从该文件中移出了文件,并将这些文件直接放在视图中,它对我有用。