Home >Java >javaTutorial >How to insert formulas into PPT in Java

How to insert formulas into PPT in Java

王林
王林forward
2023-05-26 12:55:061454browse

Jar包引入

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

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.presentation.jar </artifactId>
        <version>7.6.3</version>
    </dependency>
</dependencies>

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

How to insert formulas into PPT in Java

插入公式

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

  • 创建Presentation类的对象,并通过Presentation.getSlides().get(int index)方法获取第一张幻灯片。

  • 通过ISlide.getShapes().appendShape(ShapeType shapeType, Rectangle2D rectangle)方法添加形状到幻灯片。

  • 通过IAutoShape.getTextFrame().getParagraphs().clear()方法删除形状中默认的段落后,通过IAutoShape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(String latexMathCode)方法添加公式到形状。LaTeX公式字符串可先行定义好,如本次代码示例。

  • 最后,调用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();
    }
}

公式插入效果:

How to insert formulas into PPT in Java

The above is the detailed content of How to insert formulas into PPT in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete