Gestire le porzioni di testo nelle presentazioni usando PHP

Introduzione

Una porzione di testo rappresenta un frammento specifico di testo all’interno di un paragrafo e consente di lavorare con quel frammento in modo indipendente dal contenuto circostante. In Aspose.Slides, le porzioni possono essere utilizzate quando è necessario recuperare la posizione di un frammento di testo, applicare formattazione solo a una parte di un paragrafo o controllare il comportamento del testo a un livello più dettagliato.

Ottenere le coordinate di una porzione di testo

Il metodo getCoordinates() è stato aggiunto alla classe Portion che consente di recuperare le coordinate dell’inizio della porzione.

  # Instanzia la classe Presentation che rappresenta il PPTX
  $pres = new Presentation();
  try {
    # Rimodellare il contesto della presentazione
    $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 applicare un collegamento ipertestuale solo a una parte del testo all’interno di un singolo paragrafo?

Sì, è possibile assegnare un collegamento ipertestuale a una singola porzione; solo quel frammento sarà cliccabile, non l’intero paragrafo.

Come funziona l’ereditarietà degli stili: cosa sovrascrive una Porzione e cosa viene preso dal Paragrafo/TextFrame?

Le proprietà a livello di Porzione hanno la precedenza più alta. Se una proprietà non è impostata sulla Portion, il motore la prende dal Paragraph; se non è impostata neanche lì, dal TextFrame o dallo stile del theme.

Cosa succede se il carattere specificato per una Porzione è assente sulla macchina/server di destinazione?

Si applicano le regole di sostituzione dei caratteri. Il testo potrebbe subire un reflow: metriche, sillabazione e larghezza possono cambiare, il che è importante per un posizionamento preciso.

Posso impostare la trasparenza o il gradiente di riempimento del testo per una Porzione specifica indipendente dal resto del paragrafo?

Sì, il colore del testo, il riempimento e la trasparenza a livello di Portion possono differire dai frammenti vicini.