37 lines
1000 B
JavaScript
37 lines
1000 B
JavaScript
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) slide.background = slideData.background;
|
|
if (slideData.color) slide.color = slideData.color;
|
|
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 };
|