Come regolare il rientro della prima riga del paragrafo nelle presentazioni di ONLYOFFICE

12 maggio 2025Da Alice

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.

Come regolare il rientro della prima riga del paragrafo nelle presentazioni di ONLYOFFICE

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:

  1. Scorriamo tutte le diapositive della presentazione.
  2. Scorriamo tutte le forme (caselle di testo) nella diapositiva.
  3. Recuperiamo il contenuto testuale della forma.
  4. Verifichiamo se la forma contiene testo.
  5. Scorriamo ogni elemento di contenuto (paragrafo) della forma.
  6. 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

Come regolare il rientro della prima riga nei paragrafi in una presentazione ONLYOFFICE

Crea il tuo account ONLYOFFICE gratuito

Visualizza, modifica e collabora su documenti, fogli, diapositive, moduli e file PDF online.