Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can use pdfmake in ionic 2?

I'm trying to create pdf in ionic2 with pdfmake.

I added the library to my app:

$ npm install pdfmake --save

Import it into class

import { Component } from '@angular/core';
import { NavController, NavParams, LoadingController, ToastController, AlertController } from 'ionic-angular';

import * as pdfmake from 'pdfmake'

But, When I try to instantiate and use the method, the displayed error in the device:

var dd = {
    content: [
        'First paragraph',
        'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
    ],
    pageSize: 'A4',
    pageMargins: [25, 25, 25, 25],
};

// download the PDF
var pdf = new pdfmake();
pdf.createPdf( dd ).download();

Runtime Error:

fs.readFileSync is not a function

How can I use pdfmake in ionic 2? Is it possible

enter image description here

like image 818
calraiden Avatar asked Nov 09 '22 02:11

calraiden


1 Answers

So... again... After many days, I finally get the pdfmake to work on my project with pdfmake community's help .

I cloned the compiled version into the www folder

$ cd  project/www/
$ git clone https://github.com/bpampuch/pdfmake.git

Then I added the scripts to the index.

<body>

  <!-- Ionic's root component and where the app will load -->
  <ion-app></ion-app>

  <!-- The polyfills js is generated during the build process -->
  <script src="build/polyfills.js"></script>

  <!-- The bundle js is generated during the build process -->
  <script src="build/main.js"></script>
  <script src='pdfmake/build/pdfmake.min.js'></script>
  <script src='pdfmake/build/vfs_fonts.js'></script>
</body>
</html>

and replace import to ...

import * as pdfmake from 'pdfmake/build/pdfmake';

Pdfmake community response

Github with project test

like image 61
3 revs Avatar answered Nov 15 '22 07:11

3 revs