Ottieni i limiti delle porzioni di testo dalle presentazioni in JavaScript
Panoramica
Una porzione di testo rappresenta un frammento specifico di testo all’interno di un paragrafo e consente di lavorare su quel frammento in modo indipendente dal contenuto circostante. In Aspose.Slides, le porzioni possono essere utilizzate quando è necessario recuperare i limiti di un frammento di testo, applicare formattazione solo a parte di un paragrafo o controllare il comportamento del testo a un livello più dettagliato.
Questo articolo mostra come ottenere il rettangolo di delimitazione di una porzione usando Portion.getRect. Mostra anche come ottenere le coordinate dell’inizio di una porzione usando Portion.getCoordinates. Inoltre, evidenzia scenari comuni legati alle porzioni, come l’aggiunta di un collegamento ipertestuale a un singolo frammento di testo, la comprensione di come la formattazione venga risolta tramite ereditarietà di porzione, paragrafo, text frame e tema, e la gestione dei casi in cui un font specificato non è disponibile.
Ottieni i limiti di una porzione di testo
Usa Portion.getRect per recuperare il rettangolo di delimitazione di una porzione di testo:
const presentation = new aspose.slides.Presentation("Shapes.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().get_Item(0);
const paragraphs = shape.getTextFrame().getParagraphs();
for (let paragraphIndex = 0; paragraphIndex < paragraphs.getCount(); paragraphIndex++) {
const paragraph = paragraphs.get_Item(paragraphIndex);
const portions = paragraph.getPortions();
for (let portionIndex = 0; portionIndex < portions.getCount(); portionIndex++) {
const portion = portions.get_Item(portionIndex);
const rectangle = portion.getRect();
console.log("X = " + rectangle.x + "; Y = " + rectangle.y + "; Width = " + rectangle.width + "; Height = " + rectangle.height);
}
}
} finally {
presentation.dispose();
}
Ottieni le coordinate di una porzione di testo
Usa Portion.getCoordinates per recuperare le coordinate dell’inizio di una porzione di testo:
const presentation = new aspose.slides.Presentation("Shapes.pptx");
try {
const slide = presentation.getSlides().get_Item(0);
const shape = slide.getShapes().get_Item(0);
const paragraphs = shape.getTextFrame().getParagraphs();
for (let paragraphIndex = 0; paragraphIndex < paragraphs.getCount(); paragraphIndex++) {
const paragraph = paragraphs.get_Item(paragraphIndex);
const portions = paragraph.getPortions();
for (let portionIndex = 0; portionIndex < portions.getCount(); portionIndex++) {
const portion = portions.get_Item(portionIndex);
const point = portion.getCoordinates();
console.log("X = " + point.x + "; Y = " + point.y);
}
}
} finally {
presentation.dispose();
}
FAQ
Posso applicare un collegamento ipertestuale solo a una parte del testo all’interno di un singolo paragrafo?
Sì, puoi assegnare un collegamento ipertestuale a una singola porzione; solo quel frammento sarà cliccabile, non l’intero paragrafo.
Come funziona l’eredità degli stili: cosa sovrascrive una porzione e cosa viene preso da un paragrafo o da un text frame?
Le proprietà a livello di porzione hanno la precedenza più alta. Se una proprietà non è impostata sulla Portion, Aspose.Slides la prende dal Paragraph. Se non è impostata nemmeno lì, Aspose.Slides utilizza lo stile del TextFrame o del theme.
** Cosa succede se il font specificato per una porzione è mancante sulla macchina o sul server di destinazione?**
Si applicano le regole di sostituzione dei font. Il testo potrebbe riformattarsi: metriche, sillabazione e larghezza possono cambiare, il che è importante per un posizionamento preciso.
Posso impostare la trasparenza o un gradiente di riempimento del testo a livello di porzione in modo indipendente dal resto del paragrafo?
Sì, colore, riempimento e trasparenza del testo a livello di Portion possono differire dai frammenti adiacenti.