let AbstractExporter = require('./abstractExporter');
let FileSaver = require('file-saver');
class PdfExporter extends AbstractExporter {
constructor(params) {
super(params);
}
/**
* Метод выполняет сохранение изображения карты в файл с расширением pdf с заданным именем
* @param {object} params
* @param params.fileName {string} - имя файла для сохранения
*/
saveAs(name) {
let self = this;
let params = self.params;
let fileName = name !== undefined ? name + ".pdf" : params.name + ".pdf";
let map = params.map;
map.once('postcompose', function (event) {
let canvas = event.context !== null ? event.context.canvas : event.glContext.getGL().canvas;
if (navigator.msSaveBlob) {
navigator.msSaveBlob(canvas.msToBlob(), fileName);
}
else {
canvas.toBlob(function (blob) {
FileSaver.saveAs(blob, fileName);
});
}
});
map.renderSync();
}
}
module.exports = PdfExporter;