首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过Java代码在PowerPoint 幻灯片中插入公式

不论你是学生、老师还是职场工作者,在制作 PowerPoint 文档的时候,很可能需要插入一些公式。插入的公式能够有效地为幻灯片内容提供论点的论证、推算的理论支撑。本文将为您介绍如何通过 Java 代码,以编程的方式在 PowerPoint 幻灯片中插入公式。下面是我整理的插入公式的方法及具体步骤,并附上 Java 代码供大家参考。

代码编译环境:

IntelliJ IDEA 2019(jdk 1.8.0)

Presentation Jar 包:Free Spire.Presentation for Java 5.1.0

引入 jar 包

导入方法 1:

手动引入。将 Free Spire. Presentation for Java下载到本地,解压,找到 lib 文件夹下的 Spire. Presentation.jar 文件。在 IDEA 中打开如下界面,将本地路径中的 jar 文件引入 Java 程序:

导入方法 2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

代码语言:javascript
复制
<repositories>    <repository>        <id>com.e-iceblue</id>        <name>e-iceblue</name>        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>    </repository></repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.presentation.free</artifactId>        <version>5.1.0</version>    </dependency></dependencies>

复制代码

在 PowerPoint 幻灯片中插入公式

  • 创建 Presentation 类的对象,并通过 Presentation.getSlides().get(int index) 方法获取指定幻灯片。
  • 调用 ISlide.getShapes().appendShape(ShapeType shapeType, Rectangle2D rectangle) 方法添加形状到幻灯片。
  • 通过 IAutoShape.getTextFrame().getParagraphs().clear() 方法删除形状中默认的段落后,通过 IAutoShape.getTextFrame().getParagraphs().addParagraphFromLatexMathCode(String latexMathCode) 方法添加公式到形状。
  • 最后,调用 Presentation.saveToFile(String file, FileFormat fileFormat) 方法保存文档到指定路径。

完整代码

Java

代码语言:javascript
复制
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("插入公式.pptx", FileFormat.PPTX_2013);        ppt.dispose();    }}

复制代码

效果图

—本文完—

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/7f496713e12d7311aab4bc9b3
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券