8

尝试使用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>

然后根据这个 Helloworld,我运行:

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

我有这个错误:

未捕获的类型错误:无法读取未定义的属性“Roboto-Regular.ttf”

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

如果是的话,放在哪里?

4

4 回答 4

15

我解决了在 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>
于 2015-05-26T11:42:11.010 回答
1

我在使用 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'] 
      }
    }
});
于 2015-12-04T05:49:00.667 回答
0

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

于 2019-10-09T17:37:42.907 回答
0

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

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

于 2017-07-04T14:47:05.740 回答