Gere e insira definições de palavras com a macro ONLYOFFICE

24 agosto 2023By Klaibson

Adicionar definições claras aos seus documentos pode melhorar significativamente a sua qualidade geral. Com as macros do ONLYOFFICE, automatizar essas tarefas se torna muito fácil. Nesta postagem do blog, mostraremos como criar uma macro que extrai definições de palavras da API externa e as insere perfeitamente em seu documento.

Gere e insira definições de palavras com a macro ONLYOFFICE

Acessando a API

API Ninjas é um serviço de API poderoso que oferece várias APIs gratuitas para desenvolvedores aprimorarem seus aplicativos com recursos como dicionários, tradução de idiomas e muito mais. Para este tutorial, usaremos o dictionary API, que fornece definições de palavras. Você precisará se inscrever para obter uma chave de API dos API Ninjas para acessar seus serviços.

Construindo a macro

Nosso objetivo é criar uma macro que busque o valor da palavra selecionada e recupere sua definição de uma API externa. Em seguida, inseriremos a definição no documento.

Primeiro, inicializamos as variáveis necessárias:

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

Aqui, a variável oDocument representa o documento atual, a variável oRange contém o intervalo de texto selecionado e a variável word armazena o valor da palavra selecionada.

Em seguida, usamos AJAX para fazer uma solicitação à API do dicionário. Substitua ‘your-api-key’ pela sua chave de 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);
    }
});

Aqui, enviamos uma solicitação GET para o endpoint da API com a palavra selecionada e sua chave de API. No retorno de chamada de sucesso, extraímos dele a propriedade de definição.

Com a definição recuperada, vamos inseri-la no documento:

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

Nesta seção, criamos um novo parágrafo usando Api.CreateParagraph(), adicionamos o texto buscado a ele com oParagraph.AddText(text) e, por fim, inserimos o parágrafo no oDocument usando oDocument.InsertContent().

Todo o código da macro é o seguinte:

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

Agora vamos executar nossa macro e ver como funciona!

Esperamos sinceramente que você considere esta macro uma adição valiosa ao seu kit de ferramentas. Adotar macros do ONLYOFFICE oferece a vantagem de maior produtividade, capacitando você com soluções eficientes e automatizadas.

Ao mergulhar na criação de macros, não perca as oportunidades oferecidas pela API ONLYOFFICE. Se você tiver dúvidas ou ideias inventivas, compartilhe-as através dos comentários ou por chegando até nós. Agradecemos sua opinião e esperamos o potencial de trabalharmos juntos! Boa sorte em seus empreendimentos exploratórios!