Aggiungi forme di linea alle presentazioni in JavaScript

Panoramica

Aspose.Slides consente di aggiungere forme lineari alle diapositive PowerPoint in modo programmatico. Questo articolo mostra come creare una linea semplice e come personalizzare una linea in modo che appaia come una freccia.

Imparerai come aggiungere una forma a linea a una diapositiva, regolare il suo aspetto visivo e salvare la presentazione aggiornata. Gli esempi si concentrano su impostazioni pratiche di formattazione della linea come stile, larghezza, pattern di trattini, opzioni di punta della freccia e colore di riempimento.

Crea linea semplice

Per aggiungere una linea semplice a una diapositiva selezionata della presentazione, segui i passaggi seguenti:

  • Crea un’istanza della classe Presentation.
  • Ottieni il riferimento di una diapositiva usando il suo indice.
  • Aggiungi un’AutoShape di tipo Linea utilizzando il metodo addAutoShape esposto dall’oggetto ShapeCollection.
  • Scrivi la presentazione modificata come file PPTX.

Nell’esempio mostrato di seguito, abbiamo aggiunto una linea alla prima diapositiva della presentazione.

// Instanzia la classe PresentationEx che rappresenta il file PPTX
var pres = new aspose.slides.Presentation();
try {
    // Recupera la prima diapositiva
    var sld = pres.getSlides().get_Item(0);
    // Aggiungi un'AutoShape di tipo linea
    sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
    // Scrivi il PPTX su disco
    pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Crea linea a forma di freccia

Aspose.Slides per Node.js tramite Java consente inoltre agli sviluppatori di configurare alcune proprietà della linea per renderla più gradevole. Proviamo a configurare alcune proprietà di una linea per farla sembrare una freccia. Segui i passaggi seguenti per farlo:

// Instanzia la classe PresentationEx che rappresenta il file PPTX
var pres = new aspose.slides.Presentation();
try {
    // Ottieni la prima diapositiva
    var sld = pres.getSlides().get_Item(0);
    // Aggiungi un'AutoShape di tipo linea
    var shp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Line, 50, 150, 300, 0);
    // Applica alcune formattazioni alla linea
    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));
    // Scrivi il PPTX su disco
    pres.save("LineShape.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

FAQ

Posso convertire una linea normale in un connettore in modo che si “agganci” alle forme?

No. Una linea normale (un AutoShape di tipo Line) non diventa automaticamente un connettore. Per farla agganciare alle forme, utilizza il tipo Connector dedicato e le API corrispondenti per le connessioni.

Cosa devo fare se le proprietà di una linea sono ereditate dal tema e risulta difficile determinare i valori finali?

Leggi le proprietà effettive tramite le classi ILineFormatEffectiveData/ILineFillFormatEffectiveData — queste tengono già conto dell’ereditarietà e degli stili del tema.

Posso bloccare una linea contro la modifica (spostamento, ridimensionamento)?

Sì. Le forme forniscono oggetti di blocco che consentono di impedire operazioni di modifica.