前言
本文將使用Free Spire.Presentation for Java控件來演示如何在Java程序中將HTML插入PowerPoint文檔。代碼示例主要從以下兩方面演示。
- 僅插入HTML格式的文本到PowerPoint幻燈片中
- 插入含有圖片和文本的HTML到PowerPoint幻燈片中
Free Spire.Presentation for Java是一款運行無需安裝Microsoft PowerPoint的Java組件,它允許開發人員在Java應用程序中創建、寫入、讀取、轉換和打印PowerPoint文檔。
測試環境配置
在運行代碼前,請確保電腦上安裝有JDK和Intellij Idea, 同時需要將Jar包導入到IDEA中。導入方式有兩種:其一,在E-iceblue官網上下載Free Spire.Presentation for Java產品包,解壓後將lib文件夾下的Spire.Presentation.jar手動導入到IDEA中;其二(推薦使用),在IDEA中創建一個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文檔中。具體步驟如下:
第一步:創建一個PPT示例,添加一個Shape到第一張幻燈片並設置其位置大小及樣式;
第二步:清除幻燈片中的默認段落;
第三步:定義HTML內容並將其插入段落中;
第四步:保存結果文檔。
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到第一張幻燈片,並設置其位置大小
IAutoShape shape = ppt.getSlides().get(0).getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle(50, 50, 350, 120));
//設置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">品牌形象設計</li><li style="color:red">品牌傳播廣告</li></ul>";
shape.getTextFrame().getParagraphs().addFromHtml(code);
//保存文檔
String outputFile = "output/AddHTMLStringToPDF.pptx";
ppt.saveToFile(outputFile, FileFormat.PPTX_2010);
}
}
結果示圖:
【示例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\">生產者視角</li><p>強調品牌外在表現</p></body></html>";
shapes.addFromHtml(code);
//保存文檔
String outputFile = "output/AddHTMLWithImages.pptx";
ppt.saveToFile(outputFile,FileFormat.PPTX_2010);
}
}
結果示圖:
(本文完)