SmartArt其實就是一個文字的視覺化工具,使用者可在PowerPoint,Word,Excel中使用該特性建立各種圖形圖表。SmartArt 圖形是資訊和觀點的視覺表示形式。可以通過從多種不同佈局中進行選擇來建立 SmartArt 圖形,從而快速、輕鬆、有效地傳達資訊。簡單的來說SmartArt就是PPT內建的邏輯圖表,主要用於表達文字之間的邏輯關係,可幫助你快速、輕鬆、有效的傳達資訊。本文就將為您介紹如何通過Java應用程式在PPT中建立SmartArt圖形。下面是我整理的具體步驟及方法,並附上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 檔案。
<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>
Java
import com.spire.presentation.*; import com.spire.presentation.diagrams.*; public class SmartArt { public static void main(String[] args) throws Exception{ //建立PPT檔案,獲取一張幻燈片(建立的空白PPT檔案,預設包含一張幻燈片) Presentation ppt = new Presentation(); ISlide slide = ppt.getSlides().get(0); //建立SmartArt圖形1 ISmartArt smartArt1 = slide.getShapes().appendSmartArt(50,50,200,200, SmartArtLayoutType.BASIC_CYCLE);//在幻燈片指定位置新增指定大小和佈局型別的SmartArt圖形 smartArt1.setColorStyle(SmartArtColorType.COLORFUL_ACCENT_COLORS_4_TO_5);//設定SmartArt圖形顏色型別 smartArt1.setStyle(SmartArtStyleType.INTENCE_EFFECT);//設定SmartArt圖形樣式 ISmartArtNode smartArtNode1 = smartArt1.getNodes().get(0);//獲取節點 smartArtNode1.getTextFrame().setText("設計");//新增內容 smartArt1.getNodes().get(1).getTextFrame().setText("求實"); smartArt1.getNodes().get(2).getTextFrame().setText("練習"); smartArt1.getNodes().get(3).getTextFrame().setText("實踐"); smartArt1.getNodes().get(4).getTextFrame().setText("創新"); //建立SmartArt圖形2,自定義節點內容 ISmartArt smartArt2 = slide.getShapes().appendSmartArt(400,200,200,200,SmartArtLayoutType.BASIC_RADIAL); smartArt2.setColorStyle(SmartArtColorType.DARK_2_OUTLINE); smartArt2.setStyle(SmartArtStyleType.MODERATE_EFFECT); //刪除預設的節點(SmartArt中的圖形) for (Object a : smartArt2.getNodes()) { smartArt2.getNodes().removeNode((ISmartArtNode) a); } //新增一個母節點 ISmartArtNode node2 = smartArt2.getNodes().addNode(); //在母節點下新增三個子節點 ISmartArtNode node2_1 = node2.getChildNodes().addNode(); ISmartArtNode node2_2 = node2.getChildNodes().addNode(); ISmartArtNode node2_3 = node2.getChildNodes().addNode(); //在節點上設定文字及文字大小 node2.getTextFrame().setText("裝置"); node2.getTextFrame().getTextRange().setFontHeight(14f); node2_1.getTextFrame().setText("機械"); node2_1.getTextFrame().getTextRange().setFontHeight(12f); node2_2.getTextFrame().setText("電氣"); node2_2.getTextFrame().getTextRange().setFontHeight(12f); node2_3.getTextFrame().setText("自動化"); node2_3.getTextFrame().getTextRange().setFontHeight(12f); //儲存檔案 ppt.saveToFile("AddSmartArt.pptx",FileFormat.PPTX_2013); ppt.dispose(); } }
—本文完—