Hantera teckensnitt i presentationer med Java

Översikt

Aspose.Slides låter dig hantera teckensnittsegenskaper i presentationstext direkt från din kod. Du kan komma åt text i bilder genom former, textramar, stycken och delar och sedan tillämpa formatering på den valda texten.

Denna artikel förklarar hur du konfigurerar teckensnittrelaterade egenskaper för befintlig text i en presentation, inklusive teckensnittsfamilj, fet- och kursivstil, styckejustering och teckensnittsfärg. Den visar också hur du skapar en textruta, lägger till text i den och anger teckensnittsegenskaper som teckensnittsfamilj, fet, kursiv, understruken, teckensnittsstorlek och färg innan du sparar resultatet som en PPTX‑fil.

Hantera teckensnittrelaterade egenskaper

För att hantera teckensnittsegenskaper för ett stycke med Aspose.Slides for Java:

  1. Skapa en instans av klassen Presentation.
  2. Hämta en bilds referens genom att använda dess index.
  3. Kom åt Placeholder‑formerna i bilden och typomvandla dem till AutoShape.
  4. Hämta Paragraph från TextFrame som exponeras av AutoShape.
  5. Justera stycket.
  6. Kom åt en Paragraph’s text Portion.
  7. Definiera teckensnittet med FontData och sätt Font för textens Portion därefter.
    1. Sätt teckensnittet till fet.
    2. Sätt teckensnittet till kursiv.
  8. Ställ in teckensnittsfärgen med hjälp av FillFormat som exponeras av Portion-objektet.
  9. Spara den modifierade presentationen som en PPTX‑fil.

Implementeringen av ovanstående steg ges nedan. Den tar en enkel presentation och formaterar teckensnitten på en av bilderna. Skärmbilderna som följer visar inmatningsfilen och hur kodsnuttarna ändrar den. Koden ändrar teckensnittet, färgen och teckensnittsstilen.

todo:image_alt_text
Figur: Texten i inmatningsfilen
todo:image_alt_text
Figur: Samma text med uppdaterad formatering
// Skapa ett Presentation‑objekt som representerar en PPTX‑fil
Presentation pres = new Presentation("FontProperties.pptx");
try {
	// Kom åt en bild med dess bildposition
	ISlide slide = pres.getSlides().get_Item(0);

	// Kom åt den första och andra platshållaren i bilden och typomvandla den till AutoShape
	ITextFrame tf1 = ((IAutoShape) slide.getShapes().get_Item(0)).getTextFrame();
	ITextFrame tf2 = ((IAutoShape) slide.getShapes().get_Item(1)).getTextFrame();

	// Kom åt det första stycket
	IParagraph para1 = tf1.getParagraphs().get_Item(0);
	IParagraph para2 = tf2.getParagraphs().get_Item(0);

	// Justera stycket
	para2.getParagraphFormat().setAlignment(TextAlignment.JustifyLow);

	// Kom åt den första delen
	IPortion port1 = para1.getPortions().get_Item(0);
	IPortion port2 = para2.getPortions().get_Item(0);

	// Definiera nya teckensnitt
	FontData fd1 = new FontData("Elephant");
	FontData fd2 = new FontData("Castellar");

	// Tilldela nya teckensnitt till delen
	port1.getPortionFormat().setLatinFont(fd1);
	port2.getPortionFormat().setLatinFont(fd2);

	// Sätt teckensnittet till fet
	port1.getPortionFormat().setFontBold(NullableBool.True);
	port2.getPortionFormat().setFontBold(NullableBool.True);

	// Sätt teckensnittet till kursiv
	port1.getPortionFormat().setFontItalic(NullableBool.True);
	port2.getPortionFormat().setFontItalic(NullableBool.True);

	// Sätt teckensnittsfärg
	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);

	// Spara PPTX‑filen till disk
	pres.save("WelcomeFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}

Ställ in textens teckensnittsegenskaper

För att skapa en textruta och ange teckensnittsegenskaper för texten i den:

  1. Skapa en instans av klassen Presentation.
  2. Hämta referensen till en bild genom att använda dess index.
  3. Lägg till en AutoShape av typen Rectangle på bilden.
  4. Ta bort fyllningsstilen som är associerad med AutoShape.
  5. Kom åt [TextFrame] för AutoShape.
  6. Lägg till lite text i TextFrame.
  7. Kom åt Portion-objektet som är associerat med TextFrame.
  8. Definiera teckensnittet som ska användas för Portion.
  9. Ställ in andra teckensnittsegenskaper som fet, kursiv, understruken, färg och storlek med hjälp av de relevanta egenskaperna som exponeras av Portion-objektet.
  10. Skriv den modifierade presentationen som en PPTX‑fil.

Implementeringen av ovanstående steg ges nedan.

todo:image_alt_text
Figur: Text med några teckensnittsegenskaper inställda av Aspose.Slides for Java
// Instansiera ett Presentation‑objekt som representerar en PPTX‑fil
Presentation pres = new Presentation();
try {
	// Hämta den första bilden
	ISlide sld = pres.getSlides().get_Item(0);
	
	// Lägg till en AutoShape av typen Rectangle
	IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50);
	
	// Ta bort eventuell fyllningsstil som är associerad med AutoShape
	ashp.getFillFormat().setFillType(FillType.NoFill);
	
	// Kom åt TextFrame som är kopplad till AutoShape
	ITextFrame tf = ashp.getTextFrame();
	tf.setText("Aspose TextBox");
	
	// Kom åt Portion som är kopplad till TextFrame
	IPortion port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
	
	// Ange teckensnittet för Portionen
	port.getPortionFormat().setLatinFont(new FontData("Times New Roman"));
	
	// Ställ in fet egenskap för teckensnittet
	port.getPortionFormat().setFontBold(NullableBool.True);
	
	// Ställ in kursiv egenskap för teckensnittet
	port.getPortionFormat().setFontItalic(NullableBool.True);
	
	// Ställ in understrykning för teckensnittet
	port.getPortionFormat().setFontUnderline(TextUnderlineType.Single);
	
	// Ställ in teckensnittets höjd
	port.getPortionFormat().setFontHeight(25);
	
	// Ställ in teckensnittets färg
	port.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	port.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
	
	// Spara presentationen till disk
	pres.save("pptxFont.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null) pres.dispose();
}