前言
本文將使用Free Spire.Presentation for Java控件來演示如何在Java程序中將HTML插入PowerPoint文檔。代碼示例主要從以下兩方面演示。
● 僅插入HTML格式的文本到PowerPoint幻燈片中
● 插入含有圖片和文本的HTML到PowerPoint幻燈片中
Free Spire.Presentation for Java是一款運行無需安裝Microsoft PowerPoint的Java組件渐苏,它允許開發(fā)人員在Java應(yīng)用程序中創(chuàng)建技健、寫入勒葱、讀取、轉(zhuǎn)換和打印PowerPoint文檔巴柿。
測試環(huán)境配置
在運行代碼前凛虽,請確保電腦上安裝有JDK和Intellij Idea, 同時需要將Jar包導(dǎo)入到IDEA中。導(dǎo)入方式有兩種:其一广恢,在E-iceblue官網(wǎng)上下載Free Spire.Presentation for Java產(chǎn)品包凯旋,解壓后將lib文件夾下的Spire.Presentation.jar手動導(dǎo)入到IDEA中;其二(推薦使用)钉迷,在IDEA中創(chuàng)建一個Maven項目瓦阐,然后在pom.xml文件里鍵入以下代碼,最后點擊“Import Changes”即可篷牌。
<repositories>
??????? <repository>
??????????? <id>com.e-iceblue</id>
??????????? <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
??????? </repository>
??? </repositories>
<dependencies>
??? <dependency>
??????? <groupId>e-iceblue</groupId>
??????? <artifactId>spire.presentation.free</artifactId>
??????? <version>3.9.0</version>
??? </dependency>
</dependencies>
代碼示例
【示例1】僅插入HTML格式的文本
Free Spire.Presentation for Java提供了addFromHtml方法將HTML插入PowerPoint文檔中睡蟋。具體步驟如下:
第一步:創(chuàng)建一個PPT示例,添加一個Shape到第一張幻燈片并設(shè)置其位置大小及樣式枷颊;
第二步:清除幻燈片中的默認段落戳杀;
第三步:定義HTML內(nèi)容并將其插入段落中;
第四步:保存結(jié)果文檔夭苗。
import java.awt.Color;
import java.awt.Rectangle;
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
public class AddHTMLText {
public static void main(String[] args)throws Exception {
//實例化一個PPT對象
Presentation ppt =new Presentation();
//添加一個shape到第一張幻燈片,并設(shè)置其位置大小
IAutoShape shape =ppt.getSlides().get(0).getShapes().appendShape(ShapeType.
RECTANGLE,new Rectangle(50,50,350,120));
//設(shè)置shape的樣式
shape.getFill().setFillType(FillFormatType.SOLID);
shape.getFill().getSolidColor().setColor(Color.white);
shape.getShapeStyle().getLineColor().setColor(Color.black);
//清除默認段落
shape.getTextFrame().getParagraphs().clear();
//插入HTML到段落
String code ="<ul><li style=\"color:blue\">品牌營銷概論</li><li style=\"color:green\">品牌定位個性</li><li style=\"color:gray\">品牌形象設(shè)計</li><li style=\"color:red\">品牌傳播廣告</li></ul>";
shape.getTextFrame().getParagraphs().addFromHtml(code);
//保存文檔
String outputFile ="output/AddHTMLStringToPDF.pptx";
ppt.saveToFile(outputFile, FileFormat.PPTX_2010);
}
}
結(jié)果示圖:
【示例2】插入含有圖片和文本的HTML
Free Spire.Presentation for Java除了支持將HTML格式的文本插入PPT外信卡,還可以將含有文本、圖片题造、視頻傍菇、音頻等元素的HTML插入PPT。以下代碼以插入含有文本和圖片的HTML為例界赔。
import com.spire.presentation.*;
import com.spire.presentation.collections.ShapeList;
public class AddHTMLWithImages {
public static void main(String[] args)throws Exception {
//實例化一個PPT對象
Presentation ppt =new Presentation();
//獲取第一張幻燈片中的shapes
ShapeList shapes = ppt.getSlides().get(0).getShapes();
//插入含有圖片和文本的HTML到shapes
String code ="<html><body><li style=\"color:blue\">生產(chǎn)者視角</li><p>強調(diào)品牌外在表現(xiàn)</p><img src='C:\\Users\\Test1\\Desktop\\Image.jpg'/></body></html>";
shapes.addFromHtml(code);
//保存文檔
String outputFile ="output/AddHTMLWithImages.pptx";
ppt.saveToFile(outputFile,FileFormat.PPTX_2010);
}
}
結(jié)果示圖:
(本文完)