在 JavaScript 中向簡報新增線條形狀

概覽

Aspose.Slides 允許您以程式方式向 PowerPoint 投影片中加入線條形狀。本文將說明如何建立簡單的線條以及如何自訂線條使其顯示為箭頭。

您將學習如何將線條形狀加入投影片,調整其外觀,並儲存更新後的簡報。範例著重於實務的線條格式設定,如樣式、寬度、虛線模式、箭頭樣式和填充顏色。

建立純線

若要在簡報中選取的投影片上加入簡單的純線,請依照以下步驟操作:

  • 建立 Presentation 類別的實例。
  • 使用索引取得投影片的參考。
  • 使用 ShapeCollection 物件公開的 addAutoShape 方法,新增類型為 Line 的 AutoShape。
  • 將修改後的簡報寫入為 PPTX 檔案。

在下方範例中,我們已將線條新增至簡報的第一張投影片。

// 實例化表示 PPTX 檔案的 PresentationEx 類別
var pres = new aspose.slides.Presentation();
try {
    // 取得第一張投影片
    var sld = pres.getSlides().get_Item(0);
    // 新增類型為 line 的 AutoShape
    sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
    // 將 PPTX 寫入磁碟
    pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

建立箭頭形狀線條

Aspose.Slides for Node.js via Java 亦允許開發人員設定線條的某些屬性,使其外觀更佳。現在讓我們嘗試設定幾個屬性,使線條呈現箭頭形狀。請依照以下步驟操作:

  • 建立 Presentation 類別的實例。
  • 使用索引取得投影片的參考。
  • 使用 ShapeCollection 物件公開的 addAutoShape 方法,新增類型為 Line 的 AutoShape。
  • Line Style 設為 Aspose.Slides for Node.js via Java 所提供的其中一種樣式。
  • 設定線條的寬度。
  • 將線條的 Dash Style 設為 Aspose.Slides for Node.js via Java 所提供的其中一種樣式。
  • 設定線條起點的 Arrow Head StyleLength
  • 設定線條終點的 Arrow Head StyleLength
  • 將修改後的簡報寫入為 PPTX 檔案。
// 實例化表示 PPTX 檔案的 PresentationEx 類別
var pres = new aspose.slides.Presentation();
try {
    // 取得第一張投影片
    var sld = pres.getSlides().get_Item(0);
    // 新增類型為 line 的 AutoShape
    var shp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
    // 對線條套用一些格式設定
    shp.getLineFormat().setStyle(aspose.slides.LineStyle.ThickBetweenThin);
    shp.getLineFormat().setWidth(10);
    shp.getLineFormat().setDashStyle(aspose.slides.LineDashStyle.DashDot);
    shp.getLineFormat().setBeginArrowheadLength(aspose.slides.LineArrowheadLength.Short);
    shp.getLineFormat().setBeginArrowheadStyle(aspose.slides.LineArrowheadStyle.Oval);
    shp.getLineFormat().setEndArrowheadLength(aspose.slides.LineArrowheadLength.Long);
    shp.getLineFormat().setEndArrowheadStyle(aspose.slides.LineArrowheadStyle.Triangle);
    shp.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.newInstanceSync("java.awt.Color", aspose.slides.PresetColor.Maroon));
    // 將 PPTX 寫入磁碟
    pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

常見問題

我可以將一般線條轉換為連接器,使其「自動貼齊」形狀嗎?

不行。一般線條(型別為 LineAutoShape)不會自動變為連接器。若要使其貼齊形狀,請使用專用的 Connector 類型以及用於連接的 corresponding APIs

如果線條的屬性是從佈景主題繼承而來,且難以確定最終值,我該怎麼辦?

透過 ILineFormatEffectiveData/ILineFillFormatEffectiveData 類別,Read the effective properties——這些類別已考慮繼承與佈景主題樣式。

我可以鎖定線條以防止編輯(移動、調整大小)嗎?

可以。形狀提供的 lock objects 可讓您禁止編輯操作。