How to create PPTX when using POI XSLF?

2k views Asked by At

When I create a PPTX with POI XSLF I get a blank slide:

XMLSlideShow ppt = new XMLSlideShow();
XSLFSlide slide = ppt.createSlide();
XSLFTextBox shape = slide.createTextBox();
XSLFTextParagraph p = shape.addNewTextParagraph();
XSLFTextRun r1 = p.addNewTextRun();
r1.setText("the");
r1.setFontColor(Color.blue);
r1.setFontSize(24);

OutputStream out = new FileOutputStream("d:/font.pptx");
ppt.write(out);
out.close();

Why is the slide blank without any text?

1

There are 1 answers

5
Tobias Liefke On BEST ANSWER

Your text box has no anchor (position and size).

You can check the examples of POI how to add a text box: XSLF Examples - Tutorial 6

XSLFTextBox shape = slide.createTextBox();
shape.setAnchor(new Rectangle(x, y, width, height));