Genera e inserta definiciones de palabras con la macro de ONLYOFFICE

24 agosto 2023By Sergey

Añadir definiciones claras a los documentos puede mejorar significativamente su calidad general. Con las macros de ONLYOFFICE, automatizar estas tareas es muy fácil. En esta entrada de blog te mostraremos cómo crear una macro que extrae definiciones de palabras de la API externa y las inserta sin problemas en tu documento.

Genera e inserta definiciones de palabras con la macro de ONLYOFFICE

Acceso a la API

API Ninjas es un potente servicio de API que ofrece varias API gratuitas para que los desarrolladores mejoren sus aplicaciones con funciones como diccionarios, traducción de idiomas y mucho más. Para este tutorial, utilizaremos la API de diccionario, que proporciona definiciones de palabras. Tendrás que registrarte para obtener una clave API de API Ninjas para acceder a sus servicios.

Creación de la macro

Nuestro objetivo es crear una macro que obtenga el valor de la palabra seleccionada y recupere su definición de una API externa. A continuación, insertaremos la definición en el documento.

En primer lugar, inicializamos las variables necesarias:

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

Aquí la variable oDocument representa el documento actual, la variable oRange contiene el rango de texto seleccionado y la variable word almacena el valor de la palabra seleccionada.

Luego usamos AJAX para hacer una solicitud a la API del diccionario. Reemplaza “your-api-key” por tu clave API real:

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

Aquí enviamos una solicitud GET al punto final de la API con la palabra seleccionada y tu clave API. Después, extraemos la propiedad de definición de la misma.

Con la definición recuperada, procedamos a insertarla en el documento:

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

En esta sección, creamos un nuevo párrafo usando Api.CreateParagraph(), le añadimos el texto obtenido con oParagraph.AddText(text), y finalmente insertamos el párrafo en el oDocument usando oDocument.InsertContent().

El código completo de la macro es el siguiente:

(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);
    }
});
})();

Ahora vamos a ejecutar nuestra macro y ver cómo funciona:

Esperamos que esta macro te resulte útil. Las macros de ONLYOFFICE te ofrecen la ventaja de una mayor productividad, proporcionándole soluciones eficientes y automatizadas.

Mientras te sumerjas en la creación de macros, no te pierdas las oportunidades que te ofrece la API de ONLYOFFICE. Si alguna vez tienes preguntas o ideas ingeniosas, compártelas a través de los comentarios o poniéndote en contacto con nosotros. Agradecemos tus comentarios y esperamos poder trabajar juntos. Te deseamos mucha suerte en tus esfuerzos exploratorios.