在演示文稿中,SmartArt 用於以視覺形式呈現信息。通常,演示者使用 SmartArt 使簡單的文本更具吸引力。此外,它還用於創建流程圖、流程、不同實體之間的關係等。在本文中,您將學習如何使用 Java 以編程方式在 PowerPoint 演示文稿中創建 SmartArt。

用於在 PowerPoint 中創建 SmartArt 的 Java API

為了在 PowerPoint 演示文稿中操作 SmartArt,我們將使用 Aspose.Slides for Java。它是一個功能強大的庫,允許從頭開始創建和操作 PowerPoint 和 OpenOffice 演示文稿。您可以使用以下 Maven 配置或 下載 它的 JAR 安裝 API。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

使用 Java 在 PowerPoint 中創建 SmartArt 形狀

Aspose.Slides for Java 使得在演示文稿中創建 SmartArt 形狀變得非常容易。讓我們使用 Java 在 PowerPoint 演示文稿中從頭開始創建一個簡單的 SmartArt 形狀。

以下代碼示例演示如何在 PowerPoint 演示文稿中創建 SmartArt 形狀。

// 創建演示文稿或加載現有演示文稿
Presentation pres = new Presentation();
try {
    // 獲取第一張幻燈片
    ISlide slide = pres.getSlides().get_Item(0);
    
    // 添加 SmartArt 形狀
    ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    
    // 保存演示文稿
    pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

以下屏幕截圖顯示了上述代碼示例的輸出。

在 PowerPoint 演示文稿中訪問 SmartArt 形狀

您還可以訪問現有 PowerPoint 演示文稿中的 SmartArt 形狀並動態更新它們。以下是使用 Java 訪問 PowerPoint 演示文稿中的 SmartArt 形狀的步驟。

  • 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
  • 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
  • 使用 ISlide.getShapes() 集合循環遍歷幻燈片中的形狀。
  • 如果形狀是 ISmartArt 類型,則將其引用獲取到 ISmartArt 對像中。
  • 如果需要,使用 ISmartArt.getLayout() 過濾特定佈局的 SmartArt 形狀。

以下代碼示例演示如何訪問 PowerPoint 演示文稿中的 SmartArt 形狀。

// 負載演示
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
    // 遍歷第一張幻燈片中的每個形狀
   for (IShape shape : pres.getSlides().get_Item(0).getShapes())
    {
        // 檢查形狀是否為 SmartArt 類型
        if (shape instanceof ISmartArt)
        {
            // 將形狀類型轉換為 SmartArtEx
            ISmartArt smart = (ISmartArt) shape;

            // 檢查 SmartArt 佈局
            if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
            {
                System.out.println("Do some thing here....");
            }
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

使用 Java 更改 SmartArt 形狀的樣式

您還可以使用 Aspose.Slides 修改 SmartArt 形狀的樣式。以下步驟演示瞭如何使用 Java 訪問 PowerPoint 演示文稿中的 SmartArt 形狀並更改其樣式。

  • 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
  • 然後,將所需幻燈片的引用獲取到 ISlide 對像中。
  • 使用 ISlide.getShapes() 集合循環遍歷幻燈片中的形狀。
  • 如果形狀是 ISmartArt 類型,則將其引用獲取到 ISmartArt 對像中。
  • 更改所需的樣式,即 ColorStyle、QuickStyle 等。
  • 最後,使用 Presentation.save(String, SaveFormat) 方法保存更新的演示文稿。

下面的代碼示例演示如何更改 PowerPoint 演示文稿中 SmartArt 形狀的樣式。

// 負載演示
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
    // 獲取第一張幻燈片
    ISlide slide = pres.getSlides().get_Item(0);
    
    // 遍歷第一張幻燈片中的每個形狀
   for (IShape shape : slide.getShapes()) 
    {
        // 檢查形狀是否為 SmartArt 類型
        if (shape instanceof ISmartArt) 
        {
            // 將形狀類型轉換為 SmartArtEx
            ISmartArt smart = (ISmartArt) shape;
    
            // 檢查 SmartArt 樣式
            if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
                // 更改 SmartArt 樣式
                smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
            }
          
            // 檢查 SmartArt 顏色類型
            if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
                // 更改 SmartArt 顏色類型
                smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
            }
        }
    }
    // 保存演示文稿
    pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

獲取免費的 API 許可證

通過獲得免費的臨時許可,在沒有評估限制的情況下使用 Aspose.Slides for Java。

結論

在本文中,您了解瞭如何使用 Java 在 PowerPoint 演示文稿中創建 SmartArt。此外,您還了解瞭如何訪問 SmartArt 形狀並以編程方式更改它們的樣式。您可以瀏覽 文檔 以了解有關 Aspose.Slides for Java 的更多信息。此外,您可以通過我們的 論壇 提問。

也可以看看