Apache POI PPT - การจัดรูปแบบข้อความ
ข้อความในงานนำเสนอสามารถจัดรูปแบบได้โดยใช้วิธีการของไฟล์ XSLFTextRunชั้นเรียน คุณต้องสร้างไฟล์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().
run.setFontColor(java.awt.Color.red);
run.setFontSize(24);
ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้รูปแบบการจัดรูปแบบต่างๆ (ตัวหนาตัวเอียงขีดเส้นใต้ขีดฆ่า) กับข้อความในงานนำเสนอ
//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);
หากต้องการแบ่งบรรทัดระหว่างย่อหน้าให้ใช้ addLineBreak() ของ XSLFTextParagraph class ดังรูปด้านล่าง -
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จากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -
$javac TextFormating.java
$java TextFormating
มันจะรวบรวมและดำเนินการเพื่อสร้างผลลัพธ์ต่อไปนี้ -
Formatting completed successfully
สไลด์ที่มีข้อความที่จัดรูปแบบจะปรากฏดังนี้ -