Gerenciar Porções de Texto em Apresentações Usando PHP

Introdução

Uma porção de texto representa um fragmento específico de texto dentro de um parágrafo e permite que você trabalhe com esse fragmento de forma independente do conteúdo ao redor. No Aspose.Slides, as porções podem ser usadas quando você precisa obter a posição de um fragmento de texto, aplicar formatação apenas a parte de um parágrafo ou controlar o comportamento do texto em um nível mais detalhado.

Obter coordenadas de uma porção de texto

getCoordinates() método foi adicionado à classe Portion que permite recuperar as coordenadas do início da porção.

  # Instanciar a classe Presentation que representa o PPTX
  $pres = new Presentation();
  try {
    # Reconfigurando o contexto da apresentação
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
    $textFrame = $shape->getTextFrame();
    foreach($textFrame->getParagraphs() as $paragraph) {
      foreach($paragraph->getPortions() as $portion) {
        $point = $portion->getCoordinates();
        echo("X: " . $point->$x . " Y: " . $point->$y);
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Posso aplicar um hyperlink apenas a parte do texto dentro de um único parágrafo?

Sim, você pode atribuir um hyperlink a uma porção individual; apenas esse fragmento será clicável, não todo o parágrafo.

Como funciona a herança de estilo: o que uma Porção sobrescreve e o que é herdado do Parágrafo/TextFrame?

Propriedades no nível da Porção têm a precedência mais alta. Se uma propriedade não estiver definida na Portion, o mecanismo a obtém do Paragraph; se também não estiver definida lá, a obtém do TextFrame ou do estilo do theme.

O que acontece se a fonte especificada para uma Porção estiver ausente na máquina/servidor de destino?

Regras de substituição de fontes se aplicam. O texto pode ser reformatado: métricas, hifenização e largura podem mudar, o que é importante para posicionamento preciso.

Posso definir transparência ou gradiente de preenchimento de texto específico para a Porção, independente do resto do parágrafo?

Sim, cor, preenchimento e transparência do texto no nível da Portion podem diferir dos fragmentos vizinhos.