1. 程式人生 > >Java 新增、修改、讀取、刪除PPT備註

Java 新增、修改、讀取、刪除PPT備註

概述

幻燈片中的備註資訊是隻提供給幻燈片演講者觀看的特定內容,在演講者放映幻燈片時,備註資訊可給演講者提供講解思路,起到輔助講解的作用。本文將通過Java程式來演示如何操作PPT幻燈片中的備註資訊,要點包括:

  1. 新增備註資訊
  2. 修改備註資訊
  3. 讀取備註資訊
  4. 刪除備註資訊

 

使用工具

  • Free Spire.Presentation for Java (免費版)

Jar檔案獲取及匯入:

方法1:通過官網下載JAR檔案包。下載後,解壓檔案,並將lib資料夾下的Spire.Presentation.jar檔案匯入到java程式。參考如下匯入效果:

 

 

方法2:可通過maven倉庫安裝匯入到maven專案,可參考匯入方法。


 

Java 程式碼示例

【示例1】新增備註資訊

import com.spire.presentation.*;

public class AddSpeakNotes {
    public static void main(String[] args) throws Exception{
        //載入PowerPoint文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("sample.pptx");

        //獲取第一張幻燈片
        ISlide slide = ppt.getSlides().get(2);
        //新增備註幻燈片到第一張幻燈片
        NotesSlide notesSlide = slide.addNotesSlide();

        //新增備註標題
        ParagraphEx paragraph = new ParagraphEx();
        String string = "備註:";
        paragraph.setText(string);
        notesSlide.getNotesTextFrame().getParagraphs().append(paragraph);

        //新增第一項備註
        paragraph = new ParagraphEx();
        paragraph.setText("第一項備註;");
        notesSlide.getNotesTextFrame().getParagraphs().append(paragraph);
        notesSlide.getNotesTextFrame().getParagraphs().get(1).setBulletType(TextBulletType.NUMBERED);
        notesSlide.getNotesTextFrame().getParagraphs().get(1).setBulletStyle(NumberedBulletStyle.BULLET_ARABIC_PERIOD);

        //新增第二項備註
        paragraph = new ParagraphEx();
        paragraph.setText("第二項備註;");
        notesSlide.getNotesTextFrame().getParagraphs().append(paragraph);
        notesSlide.getNotesTextFrame().getParagraphs().get(2).setBulletType(TextBulletType.NUMBERED);
        notesSlide.getNotesTextFrame().getParagraphs().get(2).setBulletStyle(NumberedBulletStyle.BULLET_ARABIC_PERIOD);

        //新增第三項備註
        paragraph = new ParagraphEx();
        paragraph.setText("第三項備註;");
        notesSlide.getNotesTextFrame().getParagraphs().append(paragraph);
        notesSlide.getNotesTextFrame().getParagraphs().get(3).setBulletType(TextBulletType.NUMBERED);
        notesSlide.getNotesTextFrame().getParagraphs().get(3).setBulletStyle(NumberedBulletStyle.BULLET_ARABIC_PERIOD);

        //儲存文件
        ppt.saveToFile("AddSpeakerNotes.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

備註新增效果:

【示例2】修改備註資訊

import com.spire.presentation.*;

public class ModifySpeakerNotes {
    public static void main(String[] args) throws Exception{
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("AddSpeakerNotes.pptx
");

        //獲取指定幻燈片
        ISlide slide = ppt.getSlides().get(2);

        //修改指定備註資訊
        slide.getNotesSlide().getNotesTextFrame().getParagraphs().get(1).setText("新修改的備註資訊");
        slide.getNotesSlide().getNotesTextFrame().getParagraphs().get(2).setAlignment(TextAlignmentType.CENTER);
        slide.getNotesSlide().getNotesTextFrame().getParagraphs().get(2).setBulletStyle(NumberedBulletStyle.BULLET_ROMAN_UC_PAREN_RIGHT);

        //儲存文件
        ppt.saveToFile("modifySpeakerNotes.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

備註修改效果:

【示例3】讀取備註資訊

import com.spire.presentation.*;

import java.io.FileWriter;

public class ExtractSpeakerNotes {
    public static void main(String[] args) throws Exception{
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("AddSpeakerNotes.pptx");

        //獲取指定幻燈片
        ISlide slide = ppt.getSlides().get(2);

        //獲取幻燈片中的備註內容
        StringBuilder builder = new StringBuilder();
        String notes = slide.getNotesSlide().getNotesTextFrame().getText();
        builder.append(notes);

        //儲存到文字文件
        FileWriter writer = new FileWriter("ExtractSpeakerNotes.txt");
        writer.write(builder.toString());
        writer.flush();
        writer.close();
    }
}

備註資訊讀取結果:

【示例4】刪除備註資訊

import com.spire.presentation.*;

public class DeleteSpeakerNotes {
    public static void main(String[] args)  throws Exception{
        //載入測試文件
        Presentation ppt = new Presentation();
        ppt.loadFromFile("test.pptx");

        //獲取指定幻燈片
        ISlide slide = ppt.getSlides().get(2);

        //刪除備註資訊
        slide.getNotesSlide().getNotesTextFrame().getParagraphs().get(0).getTextRanges().clear();//刪除指定段落中的備註資訊
        //slide.getNotesSlide().getNotesTextFrame().getParagraphs().clear();//刪除所有備註資訊

        //儲存文件
        ppt.saveToFile("deleteSpeakerNotes.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

備註資訊刪除效果:

 

(本文完)

轉載請註明出處!

&n