Skip to content

Commit adfe37f

Browse files
committed
feature(use): add pptxgen to deps; basic implementation #60
1 parent 81bba51 commit adfe37f

File tree

2 files changed

+1262
-1131
lines changed

2 files changed

+1262
-1131
lines changed

src/dev.ts

Lines changed: 34 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,46 @@
1-
import Automizer, { ChartData, modify } from './index';
1+
import Automizer, {
2+
CmToDxa,
3+
ISlide,
4+
ModifyColorHelper,
5+
ModifyShapeHelper,
6+
ModifyTextHelper,
7+
} from './index';
8+
import { vd } from './helper/general-helper';
9+
import pptxgen from 'pptxgenjs';
210

311
const run = async () => {
12+
const outputDir = `${__dirname}/../__tests__/pptx-output`;
13+
const templateDir = `${__dirname}/../__tests__/pptx-templates`;
14+
15+
let presPptxGen = new pptxgen();
16+
17+
let slide = presPptxGen.addSlide();
18+
let textboxText = 'Hello World from PptxGenJS!';
19+
let textboxOpts: pptxgen.TextPropsOptions = {
20+
x: 1,
21+
y: 1,
22+
color: '363636',
23+
objectName: 'Text 1',
24+
};
25+
slide.addText(textboxText, textboxOpts);
26+
27+
await presPptxGen.writeFile({
28+
fileName: templateDir + '/presPptxGenTmp.pptx',
29+
});
30+
431
const automizer = new Automizer({
5-
templateDir: `${__dirname}/../__tests__/pptx-templates`,
6-
outputDir: `${__dirname}/../__tests__/pptx-output`,
32+
templateDir,
33+
outputDir,
734
removeExistingSlides: true,
835
});
936

1037
let pres = automizer
1138
.loadRoot(`RootTemplate.pptx`)
12-
.load(`SlideWithCharts.pptx`, 'charts')
13-
.load(`EmptySlide.pptx`, 'emptySlide')
14-
15-
pres.addSlide('emptySlide', 1, async (slide) => {
16-
slide.addElement('chart', 3, '33174534-89bf-4326-8085-4b6938d36f7d');
17-
// slide.addElement('charts', 2, 'ColumnChart');
39+
.load(`presPptxGenTmp.pptx`, 'presPptxGenTmp')
40+
.load(`SlideWithShapes.pptx`, 'shapes');
1841

19-
// slide.generate((pptxGenJSSlide, objectName, pptxGenJs) => {
20-
// let dataChartAreaLine = [
21-
// {
22-
// name: 'Actual Sales',
23-
// labels: [
24-
// 'Jan',
25-
// 'Feb',
26-
// 'Mar',
27-
// 'Apr',
28-
// 'May',
29-
// 'Jun',
30-
// 'Jul',
31-
// 'Aug',
32-
// 'Sep',
33-
// 'Oct',
34-
// 'Nov',
35-
// 'Dec',
36-
// ],
37-
// values: [
38-
// 1500, 4600, 5156, 3167, 8510, 8009, 6006, 7855, 12102, 12789, 10123,
39-
// 15121,
40-
// ],
41-
// },
42-
// {
43-
// name: 'Projected Sales',
44-
// labels: [
45-
// 'Jan',
46-
// 'Feb',
47-
// 'Mar',
48-
// 'Apr',
49-
// 'May',
50-
// 'Jun',
51-
// 'Jul',
52-
// 'Aug',
53-
// 'Sep',
54-
// 'Oct',
55-
// 'Nov',
56-
// 'Dec',
57-
// ],
58-
// values: [
59-
// 1000, 2600, 3456, 4567, 5010, 6009, 7006, 8855, 9102, 10789, 11123,
60-
// 12121,
61-
// ],
62-
// },
63-
// ];
64-
//
65-
// pptxGenJSSlide.addChart('line', dataChartAreaLine, {
66-
// x: 1,
67-
// y: 1,
68-
// w: 8,
69-
// h: 4,
70-
// objectName,
71-
// });
72-
// });
42+
pres.addSlide('shapes', 1, (slide) => {
43+
slide.addElement('presPptxGenTmp', 1, 'Text 1');
7344
});
7445

7546
pres.write(`myOutputPresentation.pptx`).then((summary) => {

0 commit comments

Comments
 (0)