Recently I ran into an issue using the PdfMake on Ionic 1 on iOS. It works fine on the browser with a simple download or open command but not on the actual device.
Install the cordova libraries:
cordova.plugins.fileOpener2
cordova-plugin-file
Download the pdfmake javascript files and include them in your index.html
<script src='build/pdfmake.min.js'></script>
<script src='build/vfs_fonts.js'></script>
The code:
var self = this ; // defined on top of the file
var docDefinition = { content: 'This is an sample PDF printed with pdfMake' };
self.pdfObj = pdfMake.createPdf(docDefinition);
if (window.cordova) {
self.pdfObj.getBuffer(function (buffer) {
var blob = new Blob([buffer], { type: 'application/pdf' });
// Save the PDF to the data Directory of our App
$cordovaFile.writeFile(cordova.file.dataDirectory, 'myletter.pdf', blob, { replace: true }).then(function () {
// Open the PDf with the correct OS tools
cordova.plugins.fileOpener2.open(cordova.file.dataDirectory + 'myletter.pdf', 'application/pdf');
})
});
}
Setup Config.xml
In your config.xml make sure you have the file settings
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="iosPersistentFileLocation" value="Library" />