可以使用 XSLFTextRun 類的方法來格式化演示文稿中的文本。 為此,您必須通過選擇一個幻燈片布局來創(chuàng)建一個 XSLFTextRun 類對象,如下所示:
//create the empty presentation XMLSlideShow ppt = new XMLSlideShow(); //getting the slide master object XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0]; //select a layout from specified list XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT); //creating a slide with title and content layout XSLFSlide slide = ppt.createSlide(slidelayout); //selection of title place holder XSLFTextShape body = slide.getPlaceholder(1); //clear the existing text in the slide body.clearText(); //adding new paragraph XSLFTextParagraph paragraph=body.addNewTextParagraph(); //creating text run object XSLFTextRun run = paragraph.addNewTextRun();
您可以使用 setFontSize()設(shè)置演示文稿中文本的字體大小。
run.setFontColor(java.awt.Color.red); run.setFontSize(24);
以下代碼段顯示了如何對演示文稿中的文字應(yīng)用不同的格式樣式(粗體,斜體,下劃線,刪除線)。
//change the text into bold format run.setBold(true); //change the text it to italic format run.setItalic(true) // strike through the text run.setStrikethrough(true); //underline the text run.setUnderline(true);
要在段落之間使用換行符,請使用 XSLFTextParagraph 類的 addLineBreak(),如下所示:
paragraph.addLineBreak();
下面給出了使用所有上述方法來格式化文本的完整程序:
import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.xslf.usermodel.SlideLayout; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFSlide; import org.apache.poi.xslf.usermodel.XSLFSlideLayout; import org.apache.poi.xslf.usermodel.XSLFSlideMaster; import org.apache.poi.xslf.usermodel.XSLFTextParagraph; import org.apache.poi.xslf.usermodel.XSLFTextRun; import org.apache.poi.xslf.usermodel.XSLFTextShape; public class TextFormating { public static void main(String args[]) throws IOException{ //creating an empty presentation XMLSlideShow ppt = new XMLSlideShow(); //getting the slide master object XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0]; //select a layout from specified list XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT); //creating a slide with title and content layout XSLFSlide slide = ppt.createSlide(slidelayout); //selection of title place holder XSLFTextShape body = slide.getPlaceholder(1); //clear the existing text in the slide body.clearText(); //adding new paragraph XSLFTextParagraph paragraph=body.addNewTextParagraph(); //formatting line 1 XSLFTextRun run1 = paragraph.addNewTextRun(); run1.setText("This is a colored line"); //setting color to the text run1.setFontColor(java.awt.Color.red); //setting font size to the text run1.setFontSize(24); //moving to the next line paragraph.addLineBreak(); //formatting line 2 XSLFTextRun run2 = paragraph.addNewTextRun(); run2.setText("This is a bold line"); run2.setFontColor(java.awt.Color.CYAN); //making the text bold run2.setBold(true); paragraph.addLineBreak(); //formatting line 3 XSLFTextRun run3 = paragraph.addNewTextRun(); run3.setText(" This is a striked line"); run3.setFontSize(12); //making the text italic run3.setItalic(true); //strike through the text run3.setStrikethrough(true); paragraph.addLineBreak(); //formatting line 4 XSLFTextRun run4 = paragraph.addNewTextRun(); run4.setText(" This an underlined line"); run4.setUnderline(true); //underlining the text paragraph.addLineBreak(); //creating a file object File file=new File(“TextFormat.pptx"); FileOutputStream out = new FileOutputStream(file); //saving the changes to a file ppt.write(out); out.close(); } }
將上述代碼保存為 TextFormating.java ,然后從命令提示符處編譯并執(zhí)行,如下所示:
$javac TextFormating.java $java TextFormating
它將編譯并執(zhí)行以生成以下輸出:
Formatting completed successfully
帶有格式文本的幻燈片如下所示:
更多建議: