博客 / 詳情

返回

Java 插入HTML到PowerPoint文檔

前言

本文將使用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);
    }
}

結果示圖:

image

【示例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>![](C:\\Users\\Test1\\Desktop\\Image.jpg)</body></html>";
        shapes.addFromHtml(code);
        //保存文檔
        String outputFile = "output/AddHTMLWithImages.pptx";
        ppt.saveToFile(outputFile,FileFormat.PPTX_2010);
    }
}

結果示圖:

image

(本文完)

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.