const { normalizeColor } = require('./index'); const { renderText } = require('./text-renderer'); const { renderShape } = require('./shape-renderer'); const { renderTable } = require('./table-renderer'); const { renderImage } = require('./image-renderer'); const { renderChart } = require('./chart-renderer'); function renderSlide(pptx, slideData) { const slide = pptx.addSlide(); if (slideData.background) { if (typeof slideData.background === 'object') { slide.background = {}; for (var k in slideData.background) { if (slideData.background.hasOwnProperty(k)) { slide.background[k] = slideData.background[k]; } } if (slide.background.color) { var nc = normalizeColor(slide.background.color); if (nc) slide.background.color = nc; } } else { slide.background = slideData.background; } } if (slideData.color) { var nc = normalizeColor(slideData.color); if (nc) slide.color = nc; } if (slideData.hidden) slide.hidden = slideData.hidden; const objects = slideData.objects || []; objects.forEach(obj => { switch (obj.type) { case 'text': renderText(slide, obj); break; case 'shape': renderShape(slide, obj); break; case 'table': renderTable(slide, obj); break; case 'image': renderImage(slide, obj); break; case 'chart': renderChart(slide, obj); break; } }); } module.exports = { renderSlide };