Java 插入公式到PPT幻灯片

PowerPoint幻灯片中可插入公式,用于在幻灯片放映时演示相关内容的论证、推算的依据,能有效地为演讲者提供论述的数据支撑。通过后端程序代码,我们可借助特定的工具来实现在幻灯片中的插入公式,本文,将对此作详细介绍。

Jar包引入

通过 Maven仓库 下载导入,如下配置pom.xml:


    
        com.e-iceblue
        https://repo.e-iceblue.cn/repository/maven-public/
    


    
        e-iceblue
        spire.presentation.jar 
        7.6.3
    

如需手动导入,需要下载 jar包 到本地,然后解压,找到lib文件夹下的Spire.Presentation.jar文件。在IDEA中打开“Project Structure”界面,执行如图步骤将本地路径下的jar文件手动引入Java程序:

Java 插入公式到PPT幻灯片

插入公式

下面是在PPT幻灯片中插入公式的主要方法和步骤:

  1. 创建 Presentation 类的对象,并通过 Presentation.getSlides().get(int index) 方法获取第一张幻灯片。
  2. 通过 ISlide.getShapes().appendShape(ShapeType shapeType, Rectangle2D rectangle) 方法添加形状到幻灯片。
  3. 通过 IAutoShape.getTextFrame().getParagraphs().clear() 方法删除形状中默认的段落后,通过 IAutoShape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(String latexMathCode) 方法添加公式到形状。LaTeX公式字符串可先行定义好,如本次代码示例。
  4. 最后,调用 Presentation.saveToFile(String file, FileFormat fileFormat) 方法保存文档到指定路径。

Java

import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;

import java.awt.geom.Rectangle2D;

public class AddFormula {
    public static void main(String[] args) throws Exception{
        //定义LaTeX公式代码
        String latexCode1 = "x^{2} + \sqrt{x^{2}+1}=2";
        String latexCode2 = "F(x) &= \int^a_b \frac{1}{3}x^3";
        String latexCode3 = "\alpha + \beta  \geq \gamma";
        String latexCode4 = "\overrightarrow{abc}";
        String latexCode5 =" H_x=\frac{1}{3}\times{ \left[ \begin{array}{ccc}1 & 0 & -1\\1 & 0 & -1\\1 & 0 & -1\end{array} \right ]}";
        String latexCode6 = "\log_a{b}";

        //创建Presentation类的实例
        Presentation ppt = new Presentation();

        //获取第一张幻灯片
        ISlide slide = ppt.getSlides().get(0);

        //添加形状到幻灯片
        IAutoShape shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(30, 100, 320, 50));
        shape.getTextFrame().getParagraphs().clear();
        //使用LaTeX代码添加数学公式到形状
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode1);

        //重复以上操作,添加形状,并添加公式到形状
        shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(280, 80, 380, 70));
        shape.getTextFrame().getParagraphs().clear();
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode2);

        shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(60, 190, 240, 40));
        shape.getTextFrame().getParagraphs().clear();
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode3);

        shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(350, 190, 200, 40));
        shape.getTextFrame().getParagraphs().clear();
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode4);

        shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(10, 240, 400, 100));
        shape.getTextFrame().getParagraphs().clear();
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode5);

        shape = slide.getShapes().appendShape(ShapeType.TRIANGLE, new Rectangle2D.Double(350, 280, 200, 40));
        shape.getTextFrame().getParagraphs().clear();
        shape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(latexCode6);

        //设置形状边框和填充类型
        for (int i = 0; i < slide.getShapes().getCount(); i++)
        {
            slide.getShapes().get(i).getFill().setFillType(FillFormatType.NONE);
            slide.getShapes().get(i).getLine().setFillType(FillFormatType.NONE);
        }

        //保存文档
        ppt.saveToFile("MathEquations.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

公式插入效果:

Java 插入公式到PPT幻灯片

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章