在演示文稿中,SmartArt 用於以視覺形式呈現信息。通常,演示者使用 SmartArt 使簡單的文本更具吸引力。此外,它還用於創建流程圖、流程、不同實體之間的關係等。在本文中,您將學習如何使用 Java 以編程方式在 PowerPoint 演示文稿中創建 SmartArt。
- 用於在 PowerPoint 中創建 SmartArt 的 Java API
- 在 PowerPoint 中創建 SmartArt 形狀
- 在 PowerPoint 中訪問 SmartArt 形狀
- 更改 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 形狀。
- 首先,使用 Presentation 類創建一個新的演示文稿或加載現有的演示文稿。
- 將所需幻燈片的引用獲取到 ISlide 對像中。
- 使用 ISlide.getShapes().addSmartArt() 方法創建 SmartArt。
- 最後,使用 Presentation.save(String, SaveFormat) 方法保存更新的演示文稿。
以下代碼示例演示如何在 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 的更多信息。此外,您可以通過我們的 論壇 提問。