Erzeugen und Einfügen von Wortbedeutungen mit dem ONLYOFFICE-Makro

24 August 2023By Vlad

Das Hinzufügen klarer Bedeutungen zu Ihren Dokumenten kann deren Gesamtqualität erheblich verbessern. Mit ONLYOFFICE-Makros wird die Automatisierung dieser Aufgaben zum Kinderspiel. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie ein Makro erstellen, das Wortdefinitionen aus der externen API abruft und sie nahtlos in Ihr Dokument einfügt.

Generate and insert word definitions with ONLYOFFICE macro

Zugriff auf die API

API Ninjas ist ein leistungsstarker API-Dienst, der verschiedene kostenlose APIs für Entwickler anbietet, um ihre Anwendungen mit Funktionen wie Wörterbüchern, Sprachübersetzung und mehr zu verbessern. In diesem Tutorial werden wir die Dictionary-API verwenden, die Wortdefinitionen bereitstellt. Sie müssen sich für einen API-Schlüssel bei den API Ninjas anmelden, um auf ihre Dienste zugreifen zu können.

Erstellung eines Makros

Unser Ziel ist es, ein Makro zu erstellen, das den Wert des ausgewählten Wortes abruft und seine Definition von einer externen API abruft. Anschließend fügen wir die Definition in das Dokument ein.

Zunächst initialisieren wir die erforderlichen Variablen:

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

Dabei steht die Variable oDocument für das aktuelle Dokument, die Variable oRange für den ausgewählten Textbereich und die Variable word für den Wert des ausgewählten Worts.

Dann verwenden wir AJAX, um eine Anfrage an die Wörterbuch-API zu stellen. Ersetzen Sie “your-api-key” durch Ihren tatsächlichen API-Schlüssel:

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

Hier senden wir eine GET-Anfrage an den API-Endpunkt mit dem ausgewählten Wort und Ihrem API-Schlüssel. Im Erfolgs-Callback extrahieren wir die Definitions-Eigenschaft daraus.

Nachdem die Definition abgerufen wurde, fügen wir sie in das Dokument ein:

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

In diesem Abschnitt erstellen wir einen neuen Absatz mit Api.CreateParagraph(), fügen den abgerufenen Text mit oParagraph.AddText(text) hinzu und fügen den Absatz schließlich mit oDocument.InsertContent() in oDocument ein.

Der gesamte Makrocode:

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

Führen wir nun unser Makro aus und sehen wir, wie es funktioniert!

Wir hoffen, dass Sie dieses Makro als wertvolle Ergänzung zu Ihrem Toolkit betrachten. Die Verwendung von ONLYOFFICE-Makros bietet Ihnen den Vorteil einer höheren Produktivität und ermöglicht Ihnen effiziente und automatisierte Lösungen.

Während Sie sich in die Makroerstellung vertiefen, sollten Sie die Möglichkeiten der ONLYOFFICE-API nicht verpassen. Wenn Sie Fragen oder Ideen haben, teilen Sie uns diese bitte in den Kommentaren mit oder wenden Sie sich an uns. Wir freuen uns über Ihre Anregungen und auf eine mögliche Zusammenarbeit! Wir wünschen Ihnen viel Erfolg bei Ihren Erkundungen!