Genera e inserisci definizioni di parole con la macro ONLYOFFICE

24 agosto 2023By Elena

L’aggiunta di definizioni chiare ai tuoi documenti può migliorarne significativamente la qualità complessiva. Con le macro di ONLYOFFICE, automatizzare queste attività diventa un gioco da ragazzi. In questo post del blog ti mostreremo come creare una macro che estragga le definizioni delle parole dall’API esterna e le inserisca perfettamente nel tuo documento.

Generate and insert word definitions with ONLYOFFICE macro

Accesso all’API

API Ninjas è un servizio API performante che offre varie API gratuite agli sviluppatori per migliorare le proprie applicazioni con funzionalità come dizionari, traduzione linguistica e altro ancora. Per questo tutorial utilizzeremo l’API del dizionario, che fornisce le definizioni delle parole. Dovrai registrarti per una chiave API da API Ninjas per accedere ai loro servizi.

Creazione della macro

Il nostro obiettivo è creare una macro che recuperi il valore della parola selezionata e recuperi la sua definizione da un’API esterna. Successivamente inseriremo la definizione nel documento.

Per prima cosa inizializziamo le variabili necessarie:

const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const word = oRange.GetText();

Qui, la variabile oDocument rappresenta il documento corrente, la variabile oRange contiene l’intervallo di testo selezionato e la variabile word memorizza il valore della parola selezionata.

Quindi utilizziamo AJAX per effettuare una richiesta all’API del dizionario. Sostituisci “your-api-key” con la tua chiave API attuale:

    success: function(result) {
        console.log(result);
        const text = result.definition;
        // Continue to the next step...
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});

Qui inviamo una richiesta GET all’endpoint API con la parola selezionata e la tua chiave API. Nel callback di successo, estraiamo da esso la proprietà di definizione.

Recuperata la definizione procediamo ad inserirla nel documento:

 success: function(result) {
        console.log(result);
    const text = result.definition; 
    const oParagraph = Api.CreateParagraph();
    oParagraph.AddText(text);
    oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
    }

In questa sezione creiamo un nuovo paragrafo utilizzando Api.CreateParagraph(), aggiungiamo il testo recuperato con oParagraph.AddText(text) e infine inseriamo il paragrafo in oDocument utilizzando oDocument.InsertContent().

L’intero codice macro è il seguente:

(function()
{
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const word = oRange.GetText();
$.ajax({
    method: 'GET',
    url: 'https://api.api-ninjas.com/v1/dictionary?word=' + word,
    headers: { 'X-Api-Key': 'your-api-key'},
    contentType: 'application/json',
    success: function(result) {
        console.log(result);
    const text = result.definition; 
    const oParagraph = Api.CreateParagraph();
    oParagraph.AddText(text);
    oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});
})();

Ora eseguiamo la nostra macro e vediamo come funziona!

Ci auguriamo che questa macro sia una preziosa aggiunta al tuo toolkit. L’utilizzo delle macro di ONLYOFFICE ti offre il vantaggio di una maggiore produttività, offrendoti soluzioni efficienti e automatizzate.

Mentre ti immergi nella creazione di macro, non perdere le opportunità offerte dall’API di ONLYOFFICE. Se hai domande o idee creative, condividile attraverso i commenti o contattandoci. Accogliamo con favore il tuo contributo e non vediamo l’ora di lavorare insieme! Buona fortuna!