Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create PPTX when using POI XSLF?

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?

like image 270
jlh Avatar asked Mar 15 '23 16:03

jlh


1 Answers

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));
like image 157
Tobias Liefke Avatar answered Mar 29 '23 08:03

Tobias Liefke