• 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();
        }
    }

    备注信息删除效果:

    (本文完)

    转载请注明出处!

  • 相关阅读:
    转:无监督特征学习——Unsupervised feature learning and deep learning
    转:RESTful架构详解
    转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比
    转:利用深度学习方法进行情感分析以及在海航舆情云平台的实践
    利用深度学习方法进行情感分析以及在海航舆情云平台的实践
    转:【AI每日播报】从TensorFlow到Theano:横向对比七大深度学习框架
    三分天注定,七分靠打拼,爱拼才会赢!
    我与小娜(36):人机大战第五局,AlphaGo必胜!
    最简单的基于FFmpeg的移动端样例:IOS 视频解码器
    3D数学读书笔记——矩阵基础番外篇之线性变换
  • 原文地址:https://www.cnblogs.com/Yesi/p/11677338.html
Copyright © 2020-2023  润新知