Hantera typsnitt i presentationer med JavaScript

Introduktion

Presentationer innehåller vanligtvis både text och bilder. Texten kan formateras på olika sätt, antingen för att markera specifika avsnitt och ord eller för att överensstämma med företagsstilar. Textformatering hjälper användare att variera utseendet på presentationsinnehållet. Den här artikeln visar hur du använder Aspose.Slides för Node.js via Java för att konfigurera teckensnittsegenskaper för textstycken på bilder.

Hantera teckensnittsegenskaper

För att hantera teckensnittsegenskaper för ett stycke med Aspose.Slides för Node.js via Java:

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

Implementeringen av stegen ovan visas nedan. Den tar en obeklädd presentation och formaterar teckensnitten på en av bilderna. Skärmdumparna nedan visar ingångsfilerna och hur kodsnuttarna förändrar dem. Koden ändrar teckensnittet, färgen och teckensnittsstilen.

todo:image_alt_text
Figur: Texten i indatafilen
todo:image_alt_text
Figur: Samma text med uppdaterad formatering
// Skapa ett Presentation-objekt som representerar en PPTX-fil
var pres = new aspose.slides.Presentation("FontProperties.pptx");
try {
    // Åtkomst till en bild med hjälp av dess positionsnummer
    var slide = pres.getSlides().get_Item(0);
    // Åtkomst till den första och andra platshållaren i bilden och typkonvertera den till AutoShape
    var tf1 = slide.getShapes().get_Item(0).getTextFrame();
    var tf2 = slide.getShapes().get_Item(1).getTextFrame();
    // Åtkomst till det första stycket
    var para1 = tf1.getParagraphs().get_Item(0);
    var para2 = tf2.getParagraphs().get_Item(0);
    // Justera stycket
    para2.getParagraphFormat().setAlignment(aspose.slides.TextAlignment.JustifyLow);
    // Åtkomst till den första delen
    var port1 = para1.getPortions().get_Item(0);
    var port2 = para2.getPortions().get_Item(0);
    // Definiera nya teckensnitt
    var fd1 = new aspose.slides.FontData("Elephant");
    var fd2 = new aspose.slides.FontData("Castellar");
    // Tilldela nya teckensnitt till delen
    port1.getPortionFormat().setLatinFont(fd1);
    port2.getPortionFormat().setLatinFont(fd2);
    // Ställ in teckensnittet till fet
    port1.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    port2.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    // Ställ in teckensnittet till kursiv
    port1.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    port2.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    // Ställ in teckensnittsfärg
    port1.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    port1.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
    port2.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    port2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
    // Spara PPTX-filen på disk
    pres.save("WelcomeFont.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Ställ in textteckensnittsegenskaper

För att skapa en textruta och sätta 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. Få åtkomst till TextFrame för AutoShape.
  6. Lägg till lite text i TextFrame.
  7. Få åtkomst till 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 ändrade presentationen till en PPTX-fil.

Implementeringen av stegen ovan visas nedan.

todo:image_alt_text
Figur: Text med vissa teckensnittsegenskaper inställda av Aspose.Slides för Node.js via Java
// Skapa ett Presentation-objekt som representerar en PPTX-fil
var pres = new aspose.slides.Presentation();
try {
    // Hämta första bilden
    var sld = pres.getSlides().get_Item(0);
    // Lägg till en AutoShape av typen Rectangle
    var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 50, 50, 200, 50);
    // Ta bort eventuell fyllningsstil som är kopplad till AutoShape
    ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
    // Åtkomst till TextFrame som är kopplad till AutoShape
    var tf = ashp.getTextFrame();
    tf.setText("Aspose TextBox");
    // Åtkomst till Portion som är kopplad till TextFrame
    var port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
    // Ställ in teckensnittet för Portionen
    port.getPortionFormat().setLatinFont(new aspose.slides.FontData("Times New Roman"));
    // Ställ in fet egenskap för teckensnittet
    port.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    // Ställ in kursiv egenskap för teckensnittet
    port.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    // Ställ in understruken egenskap för teckensnittet
    port.getPortionFormat().setFontUnderline(aspose.slides.TextUnderlineType.Single);
    // Ställ in teckensnittets höjd
    port.getPortionFormat().setFontHeight(25);
    // Ställ in teckensnittets färg
    port.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    port.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
    // Spara presentationen på disk
    pres.save("pptxFont.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}