zoukankan      html  css  js  c++  java
  • 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();
        }
    }

    备注信息删除效果:

    (本文完)

    转载请注明出处!

  • 相关阅读:
    算法导论(第三版)Exercises2.1(插入排序、线性查找、N位大数相加)
    含铝馒头可能损伤儿童的智力
    每秒3600乘以100等于36万次售票解决方案
    namespace Measure
    public interface ICloneable
    VB.net 与线程
    C#调用VP 包含素材
    C# 定时器 一个简单 并且可以直接运行的Demo
    松下 激光位移传感器 API
    在Win7系统下, 使用VS2015 打开带有日文注释程序出现乱码的解决方案
  • 原文地址:https://www.cnblogs.com/Yesi/p/11677338.html
Copyright © 2011-2022 走看看