zater-docx-pdf2
Version:
ZAter doc2pdf
52 lines (43 loc) • 6.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
const fs = require('fs');
const pdf = require('dynamic-html-pdf');
const path = require('path');
const ContractType = require('../../domain/ContractTypeEnum');
const options = { format: 'Letter', base: path.join('file:///', __dirname, '../../../assets/') };
class PdfGenerator {
constructor(type) {
this.type = type;
}
generate(contract, file_name) {
var _this = this;
return _asyncToGenerator(function* () {
const resol = yield Promise.resolve(contract).then(function (res) {
return res;
});
return new Promise(function (resolve, reject) {
try {
let html = '';
if (_this.type == ContractType.MUTUO_TRADING) html = fs.readFileSync(path.join(__dirname, '../../../assets/MutuoComTrading.html'), 'utf8');
if (_this.type == ContractType.MUTUO_SEM_TRADING) html = fs.readFileSync(path.join(__dirname, '../../../assets/MutuoSemTrading.html'), 'utf8');
const document = {
type: 'file', // 'file' or 'buffer'
template: html,
context: {
contract: resol
},
path: './' + file_name + '.pdf' // it is not required if type is buffer
};
resolve(pdf.create(document, options));
} catch (err) {
reject(err);
}
});
})();
}
}
exports.default = type => new PdfGenerator(type);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcm92aWRlcnMvUGRmR2VuZXJhdG9yLmpzIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsInBkZiIsInBhdGgiLCJDb250cmFjdFR5cGUiLCJvcHRpb25zIiwiZm9ybWF0IiwiYmFzZSIsImpvaW4iLCJfX2Rpcm5hbWUiLCJQZGZHZW5lcmF0b3IiLCJjb25zdHJ1Y3RvciIsInR5cGUiLCJnZW5lcmF0ZSIsImNvbnRyYWN0IiwiZmlsZV9uYW1lIiwicmVzb2wiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJyZXMiLCJyZWplY3QiLCJodG1sIiwiTVVUVU9fVFJBRElORyIsInJlYWRGaWxlU3luYyIsIk1VVFVPX1NFTV9UUkFESU5HIiwiZG9jdW1lbnQiLCJ0ZW1wbGF0ZSIsImNvbnRleHQiLCJjcmVhdGUiLCJlcnIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsTUFBTUEsS0FBS0MsUUFBUSxJQUFSLENBQVg7QUFDQSxNQUFNQyxNQUFNRCxRQUFRLGtCQUFSLENBQVo7QUFDQSxNQUFNRSxPQUFPRixRQUFRLE1BQVIsQ0FBYjtBQUNBLE1BQU1HLGVBQWVILFFBQVEsK0JBQVIsQ0FBckI7QUFDQSxNQUFNSSxVQUFVLEVBQUVDLFFBQVEsUUFBVixFQUFvQkMsTUFBTUosS0FBS0ssSUFBTCxDQUFVLFVBQVYsRUFBc0JDLFNBQXRCLEVBQWlDLGtCQUFqQyxDQUExQixFQUFoQjs7QUFHQSxNQUFNQyxZQUFOLENBQWtCO0FBQ2RDLGdCQUFZQyxJQUFaLEVBQWtCO0FBQ2QsYUFBS0EsSUFBTCxHQUFZQSxJQUFaO0FBQ0g7O0FBRUtDLFlBQU4sQ0FBZUMsUUFBZixFQUF5QkMsU0FBekIsRUFBbUM7QUFBQTs7QUFBQTtBQUMvQixrQkFBTUMsUUFBUSxNQUFNQyxRQUFRQyxPQUFSLENBQWdCSixRQUFoQixFQUEwQkssSUFBMUIsQ0FBK0I7QUFBQSx1QkFBT0MsR0FBUDtBQUFBLGFBQS9CLENBQXBCO0FBQ0EsbUJBQU8sSUFBSUgsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUcsTUFBVixFQUFxQjtBQUNwQyxvQkFBRztBQUNDLHdCQUFJQyxPQUFPLEVBQVg7QUFDQSx3QkFBSSxNQUFLVixJQUFMLElBQWFSLGFBQWFtQixhQUE5QixFQUNJRCxPQUFPdEIsR0FBR3dCLFlBQUgsQ0FBZ0JyQixLQUFLSyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsc0NBQXJCLENBQWhCLEVBQThFLE1BQTlFLENBQVA7O0FBRUosd0JBQUksTUFBS0csSUFBTCxJQUFhUixhQUFhcUIsaUJBQTlCLEVBQ0lILE9BQU90QixHQUFHd0IsWUFBSCxDQUFnQnJCLEtBQUtLLElBQUwsQ0FBVUMsU0FBVixFQUFxQixzQ0FBckIsQ0FBaEIsRUFBOEUsTUFBOUUsQ0FBUDtBQUNKLDBCQUFNaUIsV0FBVztBQUNiZCw4QkFBTSxNQURPLEVBQ0M7QUFDZGUsa0NBQVVMLElBRkc7QUFHYk0saUNBQVM7QUFDTGQsc0NBQVVFO0FBREwseUJBSEk7QUFNYmIsOEJBQU0sT0FBT1ksU0FBUCxHQUFtQixNQU5aLENBTW9CO0FBTnBCLHFCQUFqQjs7QUFTQUcsNEJBQVFoQixJQUFJMkIsTUFBSixDQUFXSCxRQUFYLEVBQXFCckIsT0FBckIsQ0FBUjtBQUVILGlCQWxCRCxDQWtCRSxPQUFNeUIsR0FBTixFQUFVO0FBQ1JULDJCQUFPUyxHQUFQO0FBQ0g7QUFDSixhQXRCTSxDQUFQO0FBRitCO0FBeUJsQztBQTlCYTs7a0JBaUNGbEIsSUFBRCxJQUFVLElBQUlGLFlBQUosQ0FBaUJFLElBQWpCLEMiLCJmaWxlIjoiUGRmR2VuZXJhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZnMgPSByZXF1aXJlKCdmcycpO1xuY29uc3QgcGRmID0gcmVxdWlyZSgnZHluYW1pYy1odG1sLXBkZicpO1xuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IENvbnRyYWN0VHlwZSA9IHJlcXVpcmUoJy4uLy4uL2RvbWFpbi9Db250cmFjdFR5cGVFbnVtJyk7XG5jb25zdCBvcHRpb25zID0geyBmb3JtYXQ6ICdMZXR0ZXInLCBiYXNlOiBwYXRoLmpvaW4oJ2ZpbGU6Ly8vJywgX19kaXJuYW1lLCAnLi4vLi4vLi4vYXNzZXRzLycpIH07XG5cblxuY2xhc3MgUGRmR2VuZXJhdG9ye1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB9XG5cbiAgICBhc3luYyBnZW5lcmF0ZShjb250cmFjdCwgZmlsZV9uYW1lKXtcbiAgICAgICAgY29uc3QgcmVzb2wgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoY29udHJhY3QpLnRoZW4ocmVzID0+IHJlcyk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0cnl7XG4gICAgICAgICAgICAgICAgbGV0IGh0bWwgPSAnJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09IENvbnRyYWN0VHlwZS5NVVRVT19UUkFESU5HKVxuICAgICAgICAgICAgICAgICAgICBodG1sID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi8uLi9hc3NldHMvTXV0dW9Db21UcmFkaW5nLmh0bWwnKSwgJ3V0ZjgnKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT0gQ29udHJhY3RUeXBlLk1VVFVPX1NFTV9UUkFESU5HKVxuICAgICAgICAgICAgICAgICAgICBodG1sID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi8uLi9hc3NldHMvTXV0dW9TZW1UcmFkaW5nLmh0bWwnKSwgJ3V0ZjgnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ZpbGUnLCAvLyAnZmlsZScgb3IgJ2J1ZmZlcidcbiAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGU6IGh0bWwsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0OiByZXNvbFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiAnLi8nICsgZmlsZV9uYW1lICsgJy5wZGYnICAvLyBpdCBpcyBub3QgcmVxdWlyZWQgaWYgdHlwZSBpcyBidWZmZXJcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShwZGYuY3JlYXRlKGRvY3VtZW50LCBvcHRpb25zKSk7XG5cbiAgICAgICAgICAgIH0gY2F0Y2goZXJyKXtcbiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCAodHlwZSkgPT4gbmV3IFBkZkdlbmVyYXRvcih0eXBlKTtcbiJdfQ==