Come regolare il rientro della prima riga del paragrafo nelle presentazioni di ONLYOFFICE
Quando si preparano presentazioni, coerenza e leggibilità sono fondamentali. Una delle funzionalità di formattazione essenziali è la regolazione del rientro della prima riga dei paragrafi. In questo post del blog, ti guideremo nella creazione di una macro per ONLYOFFICE che regola il rientro della prima riga per tutti i paragrafi della tua presentazione.
Costruzione della macro
Impostare il valore del rientro
La macro inizia definendo la quantità di rientro per la prima riga di ogni paragrafo:
const indentationValue = 720;
/* Please enter the paragraph's first line indentation value. A value of 0 means no indentation,
and any value greater than 0 will indent the text. The value is specified in twentieths of a point (1/1440 of an inch).*/
indentationValue: Questa variabile costante definisce il rientro della prima riga in ventesimi di punto (1/1440 di pollice) e ha come valore predefinito 720, corrispondente a mezzo pollice. Un valore di 0 significa nessun rientro, mentre qualsiasi valore maggiore di 0 applicherà un rientro al testo. Gli utenti possono regolare il valore di rientro in base alle proprie preferenze.
Recuperare la presentazione e il numero di diapositive
Prima di recuperare la presentazione corrente, ci assicuriamo che la macro venga eseguita solo quando il valore di rientro dell’utente è un numero valido e non negativo:
if (!isNaN(indentationValue) && indentationValue >= 0) {
Recuperiamo la presentazione corrente utilizzando il metodo GetPresentation() e il numero totale di diapositive con il metodo GetSlidesCount():
let presentation = Api.GetPresentation();
let nSlides = presentation.GetSlidesCount(); // Get the number of slides in the presentation
Scorrere ogni diapositiva, casella di testo nella diapositiva e paragrafo
// Loop through each slide
for (let slideIndex = 0; slideIndex < nSlides; slideIndex++) {
let slide = presentation.GetSlideByIndex(slideIndex); // Get the slide
let aShapes = slide.GetAllShapes(); // Get all shapes in the slide
// Loop through each shape in the slide
for (let shapeIndex = 0; shapeIndex < aShapes.length; shapeIndex++) {
let content = aShapes[shapeIndex].GetDocContent(); // Get the document content of the shape
if (content) {
let count = content.GetElementsCount(); // Get the number of elements (paragraphs) in the shape
// Loop through each paragraph in the shape
for (let elementIndex = 0; elementIndex < count; elementIndex++) {
let paragraph = content.GetElement(elementIndex); // Get the paragraph elementGetSlideByIndex(slideIndex) accede all’oggetto diapositiva alla posizione specificata (indice) nella presentazione.
- GetAllShapes() recupera tutti gli oggetti forma all’interno della diapositiva corrente. Questo metodo restituisce una raccolta di tutte le forme (come caselle di testo, immagini e altri elementi) presenti nella diapositiva.
- GetDocContent() recupera il contenuto testuale associato a una determinata forma.
- GetElementsCount() recupera il numero totale di elementi (paragrafi) presenti nella forma specificata.
- GetElement(elementIndex) accede a un elemento specifico (paragrafo) nella forma, in base all’indice fornito (elementIndex).
In questa sezione eseguiamo le seguenti operazioni:
- Scorriamo tutte le diapositive della presentazione.
- Scorriamo tutte le forme (caselle di testo) nella diapositiva.
- Recuperiamo il contenuto testuale della forma.
- Verifichiamo se la forma contiene testo.
- Scorriamo ogni elemento di contenuto (paragrafo) della forma.
- Recuperiamo l’elemento paragrafo.
Regolare il rientro della prima riga del paragrafo
Impostiamo il rientro desiderato per la prima riga dei paragrafi nelle caselle di testo usando GetParaPr() per ottenere le proprietà del paragrafo e SetIndFirstLine(indentationValue) per regolare il rientro:
let paraPr = paragraph.GetParaPr();
paraPr.SetIndFirstLine(indentationValue);
}
}
}
}
}
Codice completo della macro
L’intero codice della macro è il seguente:
(function () {
const indentationValue = 720;
/* Please enter the paragraph's first line indentation value. A value of 0 means no indentation,
and any value greater than 0 will indent the text. The value is specified in twentieths of a point (1/1440 of an inch).*/
if (!isNaN(indentationValue) && indentationValue >= 0) {
let presentation = Api.GetPresentation();
let nSlides = presentation.GetSlidesCount(); // Get the number of slides in the presentation
// Loop through each slide
for (let slideIndex = 0; slideIndex < nSlides; slideIndex++) {
let slide = presentation.GetSlideByIndex(slideIndex); // Get the slide
let aShapes = slide.GetAllShapes(); // Get all shapes in the slide
// Loop through each shape in the slide
for (let shapeIndex = 0; shapeIndex < aShapes.length; shapeIndex++) {
let content = aShapes[shapeIndex].GetDocContent(); // Get the document content of the shape
if (content) {
let count = content.GetElementsCount(); // Get the number of elements (paragraphs) in the shape
// Loop through each paragraph in the shape
for (let elementIndex = 0; elementIndex < count; elementIndex++) {
let paragraph = content.GetElement(elementIndex); // Get the paragraph element
let paraPr = paragraph.GetParaPr();
paraPr.SetIndFirstLine(indentationValue);
}
}
}
}
}
})();
Ora eseguiamo la nostra macro per vedere come funziona!
Questa macro offre una soluzione semplice ma efficace per regolare il rientro della prima riga in tutti i paragrafi della tua presentazione, facendoti risparmiare tempo e assicurando uniformità tra le diapositive. Automatizzando questo processo, puoi concentrarti maggiormente sulla creazione dei contenuti mantenendo al contempo un layout curato e professionale.
Ti invitiamo a scoprire i metodi API di ONLYOFFICE e a creare le tue macro per migliorare ulteriormente il tuo flusso di lavoro. Se hai idee o suggerimenti, non esitare a contattarci: ci farebbe piacere ricevere il tuo feedback!
Informazioni sull’autrice
Crea il tuo account ONLYOFFICE gratuito
Visualizza, modifica e collabora su documenti, fogli, diapositive, moduli e file PDF online.