Gestire le Porzioni di Testo nelle Presentazioni con C++

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 all’interfaccia IPortion e alla classe Portion, consentendo di recuperare le coordinate dell’inizio della porzione:

auto presentation = System::MakeObject<Presentation>(u"Shapes.pptx");
auto shape = System::ExplicitCast<IAutoShape>(presentation->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
auto textFrame = shape->get_TextFrame();

for (const auto& paragraph : textFrame->get_Paragraphs())
{
    for (const auto& portion : paragraph->get_Portions())
    {
        PointF point = portion->GetCoordinates();
        Console::WriteLine(String(u"Coordinates X =") + point.get_X() + u" Coordinates Y =" + point.get_Y());
    }
}

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 Portion e cosa viene preso da Paragraph/TextFrame?

Le proprietà a livello di Portion hanno la massima precedenza. Se una proprietà non è impostata sulla Portion, il motore la prende dalla Paragraph; se non è impostata neppure lì, dalla TextFrame o dallo stile del theme.

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

Si applicano le regole di sostituzione dei font. Il testo può riformattarsi: metriche, sillabazione e larghezza possono cambiare, il che è importante per un posizionamento preciso.

Posso impostare la trasparenza o il gradiente di riempimento del testo specifici per una Portion indipendentemente dal resto del paragrafo?

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