欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)在PPT中創(chuàng)建SmartArt圖形的示例代碼

 更新時(shí)間:2023年04月17日 11:18:54   作者:Carina-baby  
SmartArt其實(shí)就是一個(gè)文字的可視化工具,用戶可在PowerPoint,Word,Excel中使用該特性創(chuàng)建各種圖形圖表。本文就將為您介紹如何通過Java應(yīng)用程序在PPT中創(chuàng)建SmartArt圖形,需要的可以參考一下

SmartArt其實(shí)就是一個(gè)文字的可視化工具,用戶可在PowerPoint,Word,Excel中使用該特性創(chuàng)建各種圖形圖表。SmartArt 圖形是信息和觀點(diǎn)的視覺表示形式??梢酝ㄟ^從多種不同布局中進(jìn)行選擇來創(chuàng)建 SmartArt 圖形,從而快速、輕松、有效地傳達(dá)信息。簡單的來說SmartArt就是PPT內(nèi)建的邏輯圖表,主要用于表達(dá)文本之間的邏輯關(guān)系,可幫助你快速、輕松、有效的傳達(dá)信息。本文就將為您介紹如何通過Java應(yīng)用程序在PPT中創(chuàng)建SmartArt圖形。下面是我整理的具體步驟及方法,并附上Java代碼供大家參考。

代碼編譯環(huán)境

IntelliJ IDEA 2019(jdk 1.8.0)

Presentation Jar包:Free Spire.Presentation for Java 5.1.0

引入jar包

導(dǎo)入方法1:

手動(dòng)引入。將Free Spire. Presentation for Java下載到本地,解壓,找到lib文件夾下的Spire. Presentation.jar文件。在IDEA中打開如下界面,將本地路徑中的jar文件引入Java程序:

導(dǎo)入方法2:如果您想通過 Maven安裝,則可以在 pom.xml 文件中添加以下代碼導(dǎo)入 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>

創(chuàng)建 SmartArt 圖形

  • 創(chuàng)建 SmartArt 圖形時(shí),可根據(jù)創(chuàng)建的圖形,在預(yù)設(shè)的節(jié)點(diǎn)中添加內(nèi)容;也可以根據(jù)設(shè)計(jì)需要自行添加節(jié)點(diǎn)或者刪除節(jié)點(diǎn)。下面,是本次創(chuàng)建 SmartArt 圖形的主要步驟:
  • 創(chuàng)建 Presentation 類的對象。
  • 通過 Presentation.getSlides().get(int index) 方法獲取指定幻燈片。
  • 使用 ISlide.getShapes().appendSmartArt(float x, float y, float width, float height, SmartArtLayoutType layoutType) 方法添加 SmartArt 圖形到幻燈片。
  • 使用 IsmartArt.setColorStyle(SmartArtColorType smartArtColorType)方法和IsmartArt.setStyle(SmartArtStyleType smartArtStyleType) 方法設(shè)置圖形顏色和樣式。
  • 通過 IsmartArtNode.getNodes().get(int index)方法獲取指定節(jié)點(diǎn),然后使用ISmartArtNode.getTextFrame().setText(String string) 方法向節(jié)點(diǎn)添加內(nèi)容。
  • 如需自定義節(jié)點(diǎn)內(nèi)容,可在添加圖形后,通過 ISmartArt.getNodes().removeNode(IsmartArtNode iSmartArtNode) 方法刪除原有節(jié)點(diǎn)后,以 ISmartArt.getNodes().addNode() 方法添加節(jié)點(diǎn)和 IsmartArtNode.getChildNodes().addNode() 方法添加子節(jié)點(diǎn),然后采用上一步驟的方法添加內(nèi)容到自定義的節(jié)點(diǎn)。
  • 最后,使用 Presentation.saveToFile(String file, FileFormat fileFormat) 方法保存幻燈片文檔到指定路徑。

完整代碼

import com.spire.presentation.*;
import com.spire.presentation.diagrams.*;

public class SmartArt {
    public static void main(String[] args) throws Exception{
        //創(chuàng)建PPT文檔,獲取一張幻燈片(創(chuàng)建的空白PPT文檔,默認(rèn)包含一張幻燈片)
        Presentation ppt = new Presentation();
        ISlide slide = ppt.getSlides().get(0);

        //創(chuàng)建SmartArt圖形1
        ISmartArt smartArt1 = slide.getShapes().appendSmartArt(50,50,200,200, SmartArtLayoutType.BASIC_CYCLE);//在幻燈片指定位置添加指定大小和布局類型的SmartArt圖形
        smartArt1.setColorStyle(SmartArtColorType.COLORFUL_ACCENT_COLORS_4_TO_5);//設(shè)置SmartArt圖形顏色類型
        smartArt1.setStyle(SmartArtStyleType.INTENCE_EFFECT);//設(shè)置SmartArt圖形樣式
        ISmartArtNode smartArtNode1 = smartArt1.getNodes().get(0);//獲取節(jié)點(diǎn)
        smartArtNode1.getTextFrame().setText("設(shè)計(jì)");//添加內(nèi)容
        smartArt1.getNodes().get(1).getTextFrame().setText("求實(shí)");
        smartArt1.getNodes().get(2).getTextFrame().setText("練習(xí)");
        smartArt1.getNodes().get(3).getTextFrame().setText("實(shí)踐");
        smartArt1.getNodes().get(4).getTextFrame().setText("創(chuàng)新");


        //創(chuàng)建SmartArt圖形2,自定義節(jié)點(diǎn)內(nèi)容
        ISmartArt smartArt2 = slide.getShapes().appendSmartArt(400,200,200,200,SmartArtLayoutType.BASIC_RADIAL);
        smartArt2.setColorStyle(SmartArtColorType.DARK_2_OUTLINE);
        smartArt2.setStyle(SmartArtStyleType.MODERATE_EFFECT);
        //刪除默認(rèn)的節(jié)點(diǎn)(SmartArt中的圖形)
        for (Object a : smartArt2.getNodes())
        {
            smartArt2.getNodes().removeNode((ISmartArtNode) a);
        }
        //添加一個(gè)母節(jié)點(diǎn)
        ISmartArtNode node2 = smartArt2.getNodes().addNode();
        //在母節(jié)點(diǎn)下添加三個(gè)子節(jié)點(diǎn)
        ISmartArtNode node2_1 = node2.getChildNodes().addNode();
        ISmartArtNode node2_2 = node2.getChildNodes().addNode();
        ISmartArtNode node2_3 = node2.getChildNodes().addNode();
        //在節(jié)點(diǎn)上設(shè)置文字及文字大小
        node2.getTextFrame().setText("設(shè)備");
        node2.getTextFrame().getTextRange().setFontHeight(14f);
        node2_1.getTextFrame().setText("機(jī)械");
        node2_1.getTextFrame().getTextRange().setFontHeight(12f);
        node2_2.getTextFrame().setText("電氣");
        node2_2.getTextFrame().getTextRange().setFontHeight(12f);
        node2_3.getTextFrame().setText("自動(dòng)化");
        node2_3.getTextFrame().getTextRange().setFontHeight(12f);

        //保存文檔
        ppt.saveToFile("AddSmartArt.pptx",FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

效果圖

到此這篇關(guān)于Java實(shí)現(xiàn)在PPT中創(chuàng)建SmartArt圖形的示例代碼的文章就介紹到這了,更多相關(guān)Java PPT創(chuàng)建SmartArt圖形內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot實(shí)現(xiàn)圖片識(shí)別文字的四種方式小結(jié)

    SpringBoot實(shí)現(xiàn)圖片識(shí)別文字的四種方式小結(jié)

    本文主要介紹了SpringBoot實(shí)現(xiàn)圖片識(shí)別文字的四種方式,包括Tess4J,百度智能云,阿里云,騰訊云這四種,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • IDEA中的Run/Debug Configurations各項(xiàng)解讀

    IDEA中的Run/Debug Configurations各項(xiàng)解讀

    這篇文章主要介紹了IDEA中的Run/Debug Configurations各項(xiàng)解讀,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java實(shí)現(xiàn)指定線程執(zhí)行順序的三種方式示例

    Java實(shí)現(xiàn)指定線程執(zhí)行順序的三種方式示例

    這篇文章主要介紹了Java實(shí)現(xiàn)指定線程執(zhí)行順序的三種方式,包括通過共享對象鎖加上可見變量,通過主線程Join()以及通過線程執(zhí)行時(shí)Join()等三種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-01-01
  • 詳解非spring框架下使用querydsl的方法

    詳解非spring框架下使用querydsl的方法

    Querydsl是一個(gè)采用API代替拼湊字符串來構(gòu)造查詢語句,可跟 Hibernate 和 JPA 等框架結(jié)合使用。本文介紹的是非spring環(huán)境下querydsl JPA整合使用,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs

    詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs

    這篇文章主要介紹了詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • 分享JVM 的四種引用方式

    分享JVM 的四種引用方式

    這篇文章主要介紹了分享JVM 的四種引用方式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • SpringSecurityOAuth2 如何自定義token信息

    SpringSecurityOAuth2 如何自定義token信息

    這篇文章主要介紹了SpringSecurityOAuth2 自定義token信息的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java 實(shí)現(xiàn)多線程的幾種方式匯總

    Java 實(shí)現(xiàn)多線程的幾種方式匯總

    JAVA多線程實(shí)現(xiàn)方式主要有三種:繼承Thread類、實(shí)現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實(shí)現(xiàn)有返回結(jié)果的多線程。其中前兩種方式線程執(zhí)行完后都沒有返回值,只有最后一種是帶返回值的。
    2016-03-03
  • SpringBoot之Banner的使用示例

    SpringBoot之Banner的使用示例

    本篇文章主要介紹了SpringBoot之Banner的使用示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 淺談 java中ArrayList、Vector、LinkedList的區(qū)別聯(lián)系

    淺談 java中ArrayList、Vector、LinkedList的區(qū)別聯(lián)系

    ArrayList,Vector底層是由數(shù)組實(shí)現(xiàn),LinkedList底層是由雙線鏈表實(shí)現(xiàn),從底層的實(shí)現(xiàn)可以得出性能問題ArrayList,Vector插入速度較慢,查詢速度較快,而LinkedList插入速度較快,而查詢速度較慢。再者由于Vevtor使用了線程安全鎖,所以ArrayList的運(yùn)行效率高于Vector
    2015-11-11

最新評論