Gerenciar fontes em apresentações usando JavaScript

Introdução

Apresentações geralmente contêm texto e imagens. O texto pode ser formatado de várias maneiras, seja para destacar seções e palavras específicas ou para seguir estilos corporativos. A formatação de texto ajuda os usuários a variar a aparência do conteúdo da apresentação. Este artigo mostra como usar Aspose.Slides for Node.js via Java para configurar as propriedades de fonte de parágrafos de texto nos slides.

Gerenciar Propriedades Relacionadas à Fonte

Para gerenciar as propriedades de fonte de um parágrafo usando Aspose.Slides for Node.js via Java:

  1. Crie uma instância da classe Presentation.
  2. Obtenha a referência de um slide usando seu índice.
  3. Acesse as formas Placeholder no slide e faça o casting para AutoShape.
  4. Recupere o Paragraph da TextFrame exposta por AutoShape.
  5. Justifique o parágrafo.
  6. Acesse o Portion de texto de um Paragraph.
  7. Defina a fonte usando FontData e ajuste a Font do Portion de texto adequadamente.
    1. Defina a fonte como negrito.
    2. Defina a fonte como itálico.
  8. Defina a cor da fonte usando o FillFormat exposto pelo objeto Portion.
  9. Salve a apresentação modificada em um arquivo PPTX.

A implementação das etapas acima é fornecida abaixo. Ela recebe uma apresentação simples e formata as fontes em um dos slides. As capturas de tela a seguir mostram o arquivo de entrada e como os trechos de código o alteram. O código altera a fonte, a cor e o estilo da fonte.

todo:image_alt_text
Figura: O texto no arquivo de entrada
todo:image_alt_text
Figura: O mesmo texto com formatação atualizada
// Instanciar um objeto Presentation que representa um arquivo PPTX
var pres = new aspose.slides.Presentation("FontProperties.pptx");
try {
    // Acessando um slide usando sua posição
    var slide = pres.getSlides().get_Item(0);
    // Acessando o primeiro e o segundo placeholder no slide e fazendo cast para AutoShape
    var tf1 = slide.getShapes().get_Item(0).getTextFrame();
    var tf2 = slide.getShapes().get_Item(1).getTextFrame();
    // Acessando o primeiro Parágrafo
    var para1 = tf1.getParagraphs().get_Item(0);
    var para2 = tf2.getParagraphs().get_Item(0);
    // Justificar o parágrafo
    para2.getParagraphFormat().setAlignment(aspose.slides.TextAlignment.JustifyLow);
    // Acessando a primeira porção
    var port1 = para1.getPortions().get_Item(0);
    var port2 = para2.getPortions().get_Item(0);
    // Definir novas fontes
    var fd1 = new aspose.slides.FontData("Elephant");
    var fd2 = new aspose.slides.FontData("Castellar");
    // Atribuir novas fontes à porção
    port1.getPortionFormat().setLatinFont(fd1);
    port2.getPortionFormat().setLatinFont(fd2);
    // Definir fonte como negrito
    port1.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    port2.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    // Definir fonte como itálico
    port1.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    port2.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    // Definir cor da fonte
    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"));
    // Salvar o PPTX no disco
    pres.save("WelcomeFont.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Definir Propriedades de Fonte do Texto

Para criar uma caixa de texto e definir as propriedades de fonte do texto nela:

  1. Crie uma instância da classe Presentation.
  2. Obtenha a referência de um slide usando seu índice.
  3. Adicione um AutoShape do tipo Rectangle ao slide.
  4. Remova o estilo de preenchimento associado ao AutoShape.
  5. Acesse o TextFrame do AutoShape.
  6. Adicione algum texto ao TextFrame.
  7. Acesse o objeto Portion associado ao TextFrame.
  8. Defina a fonte a ser usada para o Portion.
  9. Defina outras propriedades da fonte, como negrito, itálico, sublinhado, cor e altura, usando as propriedades relevantes expostas pelo objeto Portion.
  10. Grave a apresentação modificada como um arquivo PPTX.

A implementação das etapas acima é fornecida abaixo.

todo:image_alt_text
Figura: Texto com algumas propriedades de fonte definidas pelo Aspose.Slides for Node.js via Java
// Instanciar um objeto Presentation que representa um arquivo PPTX
var pres = new aspose.slides.Presentation();
try {
    // Obter o primeiro slide
    var sld = pres.getSlides().get_Item(0);
    // Adicionar um AutoShape do tipo Rectangle
    var ashp = sld.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 50, 50, 200, 50);
    // Remover qualquer estilo de preenchimento associado ao AutoShape
    ashp.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
    // Acessar o TextFrame associado ao AutoShape
    var tf = ashp.getTextFrame();
    tf.setText("Aspose TextBox");
    // Acessar a Portion associada ao TextFrame
    var port = tf.getParagraphs().get_Item(0).getPortions().get_Item(0);
    // Definir a Fonte para a Portion
    port.getPortionFormat().setLatinFont(new aspose.slides.FontData("Times New Roman"));
    // Definir a propriedade Negrito da Fonte
    port.getPortionFormat().setFontBold(aspose.slides.NullableBool.True);
    // Definir a propriedade Itálico da Fonte
    port.getPortionFormat().setFontItalic(aspose.slides.NullableBool.True);
    // Definir a propriedade Sublinhado da Fonte
    port.getPortionFormat().setFontUnderline(aspose.slides.TextUnderlineType.Single);
    // Definir a Altura da Fonte
    port.getPortionFormat().setFontHeight(25);
    // Definir a cor da Fonte
    port.getPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
    port.getPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
    // Salvar a apresentação no disco
    pres.save("pptxFont.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}