Gestisci i caratteri nelle presentazioni con Java

Panoramica

Aspose.Slides consente di gestire le proprietà dei caratteri nel testo delle presentazioni direttamente dal proprio codice. È possibile accedere al testo nelle diapositive tramite forme, riquadri di testo, paragrafi e porzioni, e quindi applicare la formattazione al testo selezionato.

Questo articolo spiega come configurare le proprietà dei caratteri per il testo esistente in una presentazione, inclusi famiglia del carattere, stili grassetto e corsivo, allineamento del paragrafo e colore del carattere. Mostra inoltre come creare una casella di testo, aggiungere testo al suo interno e impostare le proprietà del carattere come famiglia, grassetto, corsivo, sottolineatura, dimensione e colore prima di salvare il risultato come file PPTX.

Gestire le proprietà correlate ai caratteri

Per gestire le proprietà dei caratteri di un paragrafo usando Aspose.Slides for Java:

  1. Creare un’istanza della classe Presentation.
  2. Ottenere il riferimento di una diapositiva utilizzando il suo indice.
  3. Accedere alle forme Placeholder nella diapositiva e convertirle in AutoShape.
  4. Ottenere il Paragraph dal TextFrame esposto da AutoShape.
  5. Giustificare il paragrafo.
  6. Accedere al testo del Paragraph tramite la Portion.
  7. Definire il carattere usando FontData e impostare il Font della Portion di conseguenza.
    1. Impostare il carattere in grassetto.
    2. Impostare il carattere in corsivo.
  8. Impostare il colore del carattere usando il FillFormat esposto dall’oggetto Portion.
  9. Salvare la presentazione modificata in un file PPTX.

L’implementazione dei passaggi sopra è mostrata di seguito. Prende una presentazione non formattata e applica la formattazione dei caratteri a una delle diapositive. Gli screenshot seguenti mostrano il file di input e come le parti di codice lo modificano. Il codice cambia il carattere, il colore e lo stile del carattere.

todo:image_alt_text
Figura: Il testo nel file di input
todo:image_alt_text
Figura: Lo stesso testo con formattazione aggiornata
// Istanzia un oggetto Presentation che rappresenta un file PPTX
Presentation pres = new Presentation("FontProperties.pptx");
try {
	// Accesso a una diapositiva usando la sua posizione
	ISlide slide = pres.getSlides().get_Item(0);

	// Accesso al primo e al secondo segnaposto nella diapositiva e casting a AutoShape
	ITextFrame tf1 = ((IAutoShape) slide.getShapes().get_Item(0)).getTextFrame();
	ITextFrame tf2 = ((IAutoShape) slide.getShapes().get_Item(1)).getTextFrame();

	// Accesso al primo Paragrafo
	IParagraph para1 = tf1.getParagraphs().get_Item(0);
	IParagraph para2 = tf2.getParagraphs().get_Item(0);

	// Giustifica il paragrafo
	para2.getParagraphFormat().setAlignment(TextAlignment.JustifyLow);

	// Accesso alla prima porzione
	IPortion port1 = para1.getPortions().get_Item(0);
	IPortion port2 = para2.getPortions().get_Item(0);

	// Definisci nuovi caratteri
	FontData fd1 = new FontData("Elephant");
	FontData fd2 = new FontData("Castellar");

	// Assegna i nuovi caratteri alla porzione
	port1.getPortionFormat().setLatinFont(fd1);
	port2.getPortionFormat().setLatinFont(fd2);

	// Imposta il carattere in grassetto
	port1.getPortionFormat().setFontBold(NullableBool.True);
	port2.getPortionFormat().setFontBold(NullableBool.True);

	// Imposta il carattere in corsivo
	port1.getPortionFormat().setFontItalic(NullableBool.True);
	port2.getPortionFormat().setFontItalic(NullableBool.True);

	// Imposta il colore del carattere
	port1.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port1.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
	port2.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN);

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

Impostare le proprietà del carattere del testo

Per creare una casella di testo e impostare le proprietà del carattere del testo al suo interno:

  1. Creare un’istanza della classe Presentation.
  2. Ottenere il riferimento di una diapositiva utilizzando il suo indice.
  3. Aggiungere un AutoShape di tipo Rectangle alla diapositiva.
  4. Rimuovere lo stile di riempimento associato al AutoShape.
  5. Accedere al TextFrame dell'AutoShape.
  6. Aggiungere del testo al TextFrame.
  7. Accedere all’oggetto Portion associato al TextFrame.
  8. Definire il carattere da usare per la Portion.
  9. Impostare altre proprietà del carattere come grassetto, corsivo, sottolineatura, colore e altezza usando le proprietà rilevanti esposte dall’oggetto Portion.
  10. Scrivere la presentazione modificata in un file PPTX.

L’implementazione dei passaggi sopra è mostrata di seguito.

todo:image_alt_text
Figura: Testo con alcune proprietà del carattere impostate da Aspose.Slides for Java
// Istanzia un oggetto Presentation che rappresenta un file PPTX
Presentation pres = new Presentation();
try {
	// Ottieni la prima diapositiva
	ISlide sld = pres.getSlides().get_Item(0);
	
	// Aggiungi un AutoShape di tipo Rectangle
	IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
	
	// Rimuovi qualsiasi stile di riempimento associato all'AutoShape
	ashp.getFillFormat().setFillType(FillType.NoFill);
	
	// Accedi al TextFrame associato all'AutoShape
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// Accedi alla Portion associata al TextFrame
	IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
	
	// Imposta il Font per la Portion
	port.getPortionFormat().setLatinFont(new FontData("Times New Roman"));
	
	// Imposta la proprietà Grassetto del Font
	port.getPortionFormat().setFontBold(NullableBool.True);
	
	// Imposta la proprietà Corsivo del Font
	port.getPortionFormat().setFontItalic(NullableBool.True);
	
	// Imposta la proprietà Sottolineatura del Font
	port.getPortionFormat().setFontUnderline(TextUnderlineType.Single);
	
	// Imposta l'Altezza del Font
	port.getPortionFormat().setFontHeight(25);
	
	// Imposta il colore del Font
	port.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
	
	// Salva la presentazione su disco
	pres.save("pptxFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}