Java 示例 - 在幻灯片上设置文本格式

  • 问题描述

    如何使用java格式化PPT中幻灯片上的文本。
  • 解决方案

    以下是使用 java 格式化 PPT 中幻灯片上的文本的程序。
    
    import java.io.File;
    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 FormatTextPPT {
       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("C:/poippt/FormatedText.pptx");
          FileOutputStream out = new FileOutputStream(file);
          //saving the changes to a file
          ppt.write(out);
          out.close();
          System.out.println("PPT created");
       }
    }
    
  • 结果

    格式化文本