TypeError: Cannot read property 'Roboto-Regular.ttf' of undefined

TypeError: Cannot read property 'Roboto-Regular.ttf' of undefined

正在尝试使用 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 , i 运行 :

 var docDef={ content: 'This is an sample PDF printed with pdfMake' }
 pdfMake.createPdf(docDef).download('optionalName.pdf');

我遇到了这个错误:

Uncaught TypeError: Cannot read property 'Roboto-Regular.ttf' of undefined

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

如果是,放在哪里?

我在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>

我在使用 RequireJS 时遇到了这个错误。如果您使用的是 RequireJS,您可以通过在 shim 中指定依赖项来解决它,如下所示:

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'] 
      }
    }
});

我遇到了同样的问题,但是使用脚本标签、按正确的顺序或使用 require JS 修复的文件都不起作用。

对我有用的是将 vfs_fonts.js 替换为 pdfmake GitHub 存储库中的最新版本。

我在 Asp .Net MVC 中工作并且遇到了同样的问题。我在 BundleConfig.cs 中包含文件。然后我将文件从该文件中移出并将这些文件直接放在视图中,它对我有用。