1. 程式人生 > >POI之PPT文字框生成及樣式設定例項

POI之PPT文字框生成及樣式設定例項

開心一笑

一大哥去醫院看病。
醫生問:你得了什麼病?
大哥說: 我得了間接性失憶症。
醫生問:具體什麼症狀?
大哥說:我一看到漂亮的姑娘就忘記自己已結婚了。
醫生說:滾滾滾,這病我自己都沒治好!

視訊教程

大家好,我錄製的視訊《Java之優雅程式設計之道》已經在CSDN學院釋出了,有興趣的同學可以購買觀看,相信大家一定會收穫到很多知識的。謝謝大家的支援……

提出問題

POI如何生成PPT的文字框及各個樣式????

解決問題

直接來例子,比較簡單,但慢慢來,一步一步的……

package com.hwy.test;

import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextBox;
import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.xslf.XSLFSlideShow;
import org.apache.poi.xslf.usermodel.*;

import java.awt.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * PPT簡單匯出
 * Created by Ay on 2016/6/14.
 */
public class MyFirstPPTTest {


    public static void main(String[] args) throws Exception{
        String filePath = "D://MyPPT.pptx";
        /** 載入PPT **/
        XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(filePath));
        /** 建立一個slide,理解為PPT裡的每一頁 **/
        XSLFSlide xslfSlide = ppt.createSlide();
        /** 建立一個文字框 **/
        XSLFTextBox xslfTextBox = xslfSlide.createTextBox();
        XSLFTextBox xslfTextBox2 = xslfSlide.createTextBox();
        XSLFTextBox xslfTextBox3 = xslfSlide.createTextBox();
        /** 生成一個新的文字段落 **/
        XSLFTextParagraph paragraph = xslfTextBox.addNewTextParagraph();
        XSLFTextParagraph paragraph2 = xslfTextBox.addNewTextParagraph();
        XSLFTextParagraph paragraph3 = xslfTextBox.addNewTextParagraph();

        /** 新增新的文字 **/
        XSLFTextRun xslfTextRun = paragraph.addNewTextRun();
        XSLFTextRun xslfTextRun2 = paragraph2.addNewTextRun();
        XSLFTextRun xslfTextRun3 = paragraph3.addNewTextRun();
        /** 設定內容 **/
        xslfTextRun.setText("標題一");
        xslfTextRun2.setText("標題二");
        xslfTextRun3.setText("標題三");
        /** 設定加粗 **/
        xslfTextRun.setBold(true);
        xslfTextRun2.setBold(true);
        xslfTextRun3.setBold(true);
        /** 設定顏色 **/
        xslfTextRun.setFontColor(new Color(32, 33, 101));
        xslfTextRun2.setFontColor(new Color(32, 33, 101));
        xslfTextRun3.setFontColor(new Color(32, 33, 101));
        /** 設定字型大小 **/
        xslfTextRun.setFontSize(24);
        xslfTextRun2.setFontSize(24);
        xslfTextRun3.setFontSize(24);
        /** 設定字型 **/
        xslfTextRun.setFontFamily("仿宋_GB2312");
        xslfTextRun2.setFontFamily("仿宋_GB2312");
        xslfTextRun3.setFontFamily("仿宋_GB2312");
        /** 設定斜體 和 下劃線 **/
        //xslfTextRun.setItalic(true);
        xslfTextRun.setUnderline(true);
        xslfTextRun2.setUnderline(true);
        xslfTextRun3.setUnderline(true);

        /** 4個引數分別為 x , y , width , height **/
        xslfTextBox.setAnchor(new Rectangle(20, 30, 100, 100));
        xslfTextBox2.setAnchor(new Rectangle(20, 60, 100, 100));
        xslfTextBox3.setAnchor(new Rectangle(20, 90, 100, 100));
        /** 輸出檔案 **/
        ppt.write(new FileOutputStream(filePath));
    }

}

讀書感悟

來自日本電影《只是愛著你》

  • 她習慣於說謊,可是這樣的謊言卻再也聽不到了。
  • 我只是想讓我喜歡的人所喜歡的人喜歡我而已。
  • 任何時候,離別都比預期來得早,便如此,大家還是笑著說:“再見,總有一天會再見;再見,我們會在別處相見!”所以我雖然離你很遠很遠,但還是想說:再見,總有一天我們會在別處相見!

其他

如果有帶給你一絲絲小快樂,就讓快樂繼續傳遞下去,歡迎轉載,點贊,頂,歡迎留下寶貴的意見,多謝支援!