Java如何在PPT中的幻灯片上格式化文本?

在Java编程中,如何在PPT中的幻灯片上格式化文本?

注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并全部导入 。

需要导入全部包,如下图所示 -

以下是使用Java在PPT中的幻灯片上格式化文本的程序。

package com.zaixian;

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];
        java.util.List<XSLFSlideMaster> sl = ppt.getSlideMasters();
        XSLFSlideMaster slideMaster = sl.get(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(" 这是红色的一行文本字符串 ");

        // setting color to the text
        run1.setFontColor(java.awt.Color.red);

        // setting font size to the text
        run1.setFontSize(24.00);

        // moving to the next line
        paragraph.addLineBreak();

        // formatting line 2
        XSLFTextRun run2 = paragraph.addNewTextRun();
        run2.setText(" 这是一行加粗的字符串 ");
        run2.setFontColor(java.awt.Color.CYAN);

        // making the text bold
        run2.setBold(true);
        paragraph.addLineBreak();

        // formatting line 3
        XSLFTextRun run3 = paragraph.addNewTextRun();
        run3.setText(" 这是加了划线的字符串");
        run3.setFontSize(12.00);

        // 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(" 这是加了下划线的文本 ");
        run4.setUnderlined(true);

        // underlining the text
        paragraph.addLineBreak();

        // creating a file object
        File file = new File("FormatedText.pptx");
        FileOutputStream out = new FileOutputStream(file);

        // saving the changes to a file
        ppt.write(out);
        out.close();
        System.out.println("PPT created");
    }
}

执行上面示例代码,得到以下结果 -

PPT created

这就创建一个PPT文件:FormatedText.pptx了,如下所示 -


上一篇: Java POI PPT 下一篇: Java POI Excel