UNPKG

pptx-automizer

Version:

A template based pptx generator

112 lines 4.96 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = __importStar(require("./index")); const general_helper_1 = require("./helper/general-helper"); const fs = __importStar(require("fs")); const run = () => __awaiter(void 0, void 0, void 0, function* () { const outputDir = `${__dirname}/../__tests__/pptx-output`; const templateDir = `${__dirname}/../__tests__/pptx-templates`; // Step 1: Create a pptx with images and a chart inside. // The chart is modified by pptx-automizer const writer = new index_1.default({ templateDir, outputDir, verbosity: 0, removeExistingSlides: true }); const pres = writer .loadRoot(`RootTemplate.pptx`) .load(`EmptySlide.pptx`, 'empty') .load(`SlideWithImages.pptx`, 'images') .load(`ChartBarsStacked.pptx`, 'charts'); const dataSmaller = { series: [{ label: 'series s1' }, { label: 'series s2' }], categories: [ { label: 'item test r1', values: [10, null] }, { label: 'item test r2', values: [12, 18] }, ], }; yield pres .addSlide('empty', 1, (slide) => { slide.addElement('images', 1, 'Grafik 5'); }) .addSlide('charts', 1, (slide) => { slide.modifyElement('BarsStacked', [index_1.modify.setChartData(dataSmaller)]); }) .write(`modify-automizer-generated-file.tmp.test.pptx`); // Step 2: Create a copy of the generated file in templateDir // and load it as a normal template yield fs.promises.copyFile(`${outputDir}/modify-automizer-generated-file.tmp.test.pptx`, `${templateDir}/PptxAutomizerGeneratedFile.pptx`); const reader = new index_1.default({ templateDir, outputDir, // This will display all log() output verbosity: 2 }); const dataSmallerMod = { series: [{ label: 'series s3' }, { label: 'series s4' }], categories: [ { label: 'item test r3', values: [22, 45] }, { label: 'item test r4', values: [23, 46] }, { label: 'item test r5', values: [24, 47] }, ], }; const pres2 = reader .loadRoot(`RootTemplate.pptx`) .load(`EmptySlide.pptx`, 'empty') .load(`SlideWithImages.pptx`, 'images') .load(`PptxAutomizerGeneratedFile.pptx`, 'generated'); const presInfo = yield pres2.getInfo(); const slides = presInfo .slidesByTemplate(`generated`); console.log(`The re-imported file PptxAutomizerGeneratedFile.pptx seems to have ${slides.length} slides`); // But only 2 slides were expected with removeExistingSlides: true const result2 = yield pres2 .addSlide('empty', 1, (slide) => { slide.addElement('images', 1, 'Grafik 5'); }) .addSlide('generated', 2, (slide) => { slide.addElement('images', 1, 'Grafik 5'); }) .addSlide('generated', 3, (slide) => { slide.modifyElement('BarsStacked', [index_1.modify.setChartData(dataSmallerMod)]); }) .write(`modify-automizer-generated-file.test.pptx`); (0, general_helper_1.vd)(result2); }); run().catch((error) => { console.error(error); }); //# sourceMappingURL=dev.js.map