6

Java 插入公式到PPT幻灯片

 2 years ago
source link: https://blog.51cto.com/miayo/5470435
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Java 插入公式到PPT幻灯片

原创

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

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程序:

Java 插入公式到PPT幻灯片_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幻灯片_jar_02

—END—

  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK