使用rodot-regular.ttf的pdf生成器错误,我可以存储此pdf

时间:2017-04-07 08:50:12

标签: node.js cordova ionic2

我正在尝试使用离子3创建一个pdf生成器,因此我使用this并使用

导入它
  

npm install pdfmake

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import * as pdfmake from 'pdfmake/build/pdfmake';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController) {  }

  pdf(){
    console.log("pdf", pdfmake)
     var dd = { content: 'This is an sample PDF printed with pdfMake' };
    pdfmake.createPdf(dd);

  }

}

执行此操作后,我收到此错误 Error: File 'Roboto-Regular.ttf' not found in virtual file system不知道如何解决这个问题可能有人帮我修复此问题,并使用cordova文件将其保存到我的设备存储中

1 个答案:

答案 0 :(得分:0)

PdfMake使用字体作为数据。它将tff文件转换为js,然后将其转换回字体。

所以你只是错过了一个文件

<script src='build/vfs_fonts.js'>

您可以将其添加到索引html(坏坏坏)

或者你可以在你的ts文件中导入它,看看pdfmake是否可以选择它。

import 'pdfmake/build/vfs_fonts';

如果不是,您可能需要通过配置进行分配。 您可以在此处阅读更多内容:https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side