Aggiungere forme di linea alle presentazioni in Java

Panoramica

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

Imparerai come aggiungere una forma di 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 tratteggiato, opzioni di punta di freccia e colore di riempimento.

Creare una linea semplice

  • Creare un’istanza della classe Presentation.
  • Ottenere il riferimento di una diapositiva usando il suo indice.
  • Aggiungere un’AutoShape di tipo Line utilizzando il metodo addAutoShape esposto dall’oggetto IShapeCollection.
  • Scrivere 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
Presentation pres = new Presentation();
try {
    // Ottieni la prima diapositiva
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Aggiungi un'AutoShape di tipo linea
    sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
    
    // Scrivi il PPTX su disco
    pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Creare una linea a forma di freccia

  • Creare un’istanza della classe Presentation.
  • Ottenere il riferimento di una diapositiva usando il suo indice.
  • Aggiungere un’AutoShape di tipo Line utilizzando il metodo addAutoShape esposto dall’oggetto IShapeCollection.
  • Impostare lo Line Style su uno degli stili offerti da Aspose.Slides per Java.
  • Impostare la larghezza della linea.
  • Impostare lo Dash Style della linea su uno degli stili offerti da Aspose.Slides per Java.
  • Impostare lo Arrow Head Style e la Length del punto di inizio della linea.
  • Impostare lo Arrow Head Style e la Length del punto di fine della linea.
  • Scrivere la presentazione modificata come file PPTX.
// Instanzia la classe PresentationEx che rappresenta il file PPTX
Presentation pres = new Presentation();
try {
    // Ottieni la prima diapositiva
    ISlide sld = pres.getSlides().get_Item(0);

    // Aggiungi un'AutoShape di tipo linea
    IAutoShape shp = sld.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);

    // Applica alcune formattazioni sulla linea
    shp.getLineFormat().setStyle(LineStyle.ThickBetweenThin);
    shp.getLineFormat().setWidth(10);

    shp.getLineFormat().setDashStyle(LineDashStyle.DashDot);

    shp.getLineFormat().setBeginArrowheadLength(LineArrowheadLength.Short);
    shp.getLineFormat().setBeginArrowheadStyle(LineArrowheadStyle.Oval);

    shp.getLineFormat().setEndArrowheadLength(LineArrowheadLength.Long);
    shp.getLineFormat().setEndArrowheadStyle(LineArrowheadStyle.Triangle);

    shp.getLineFormat().getFillFormat().setFillType(FillType.Solid);
    shp.getLineFormat().getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.Maroon));

    // Scrivi il PPTX su disco
    pres.save("LineShape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

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

No. Una linea regolare (un AutoShape di tipo Line) non diventa automaticamente un connettore. Per farla agganciare alle forme, utilizzare 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 interfacce ILineFormatEffectiveData/ILineFillFormatEffectiveData—queste tengono già conto dell’ereditarietà e degli stili del tema.

Posso bloccare una linea contro le modifiche (spostamento, ridimensionamento)?

Sì. Le forme forniscono lock objects che consentono di disallow editing operations.