ONLYOFFICE Docs 8.1 für Entwickler: API-Aktualisierungen
Zusammen mit der Veröffentlichung der neuen Funktionen in Version 8.1 haben wir die API für die Editoren, den Document Builder und die Plugins aktualisiert und den Abschnitt Office API hinzugefügt. Alle Details finden Sie unten.
PDF-Formulare
Ab der Version 8.1 haben wir komplett auf PDF-Formulare umgestellt. Um ein Formular zu erstellen und zu bearbeiten, benötigen die Benutzer keine anderen Formate mehr. Das bedeutet, dass unser docxf-Format, das bisher für die Erstellung von Formularvorlagen verwendet wurde, nun veraltet ist.
Bitte beachten Sie in diesem Zusammenhang die folgenden API-Updates:
- documentType der Formate docxf und oform wird in pdf geändert;
- pdf field wurde der Konvertierungsanfrage hinzugefügt;
- formsubmit wird der WOPI-Ermittlung hinzugefügt;
- der Parameter docs_api_config wurde dem Formularelement der WOPI-Host-Seite hinzugefügt.
Übermittlung des Formulars
Das neu hinzugefügte Ereignis onSubmit wird aufgerufen, wenn das Formular erfolgreich abgeschickt wurde. Es kann die Formularübermittlung für die Benutzer intuitiver gestalten.
Im folgenden Codebeispiel wird nach dem erfolgreichen Absenden des Formulars eine Meldung auf der Konsole ausgegeben. Sie können zum Beispiel so etwas wie einen Hinweis für Benutzer anzeigen: Ihr Formular wurde erfolgreich übermittelt.
var onSubmit = function (event) {
console.log("The form was submitted.");
};
var docEditor = new DocsAPI.DocEditor("placeholder", {
"events": {
"onSubmit": onSubmit,
...
},
...
});
Verwaltung der Empfängerrollen
Falls Empfängerrollen und rollenkonforme Farben für Ihre Formulare nicht erforderlich sind, können Sie die Option Rollen verwalten deaktivieren.
Verwenden Sie dazu das Feld roles, das dem Parameter editorConfig.customization.features hinzugefügt wurde. Es legt fest, ob die Rolleneinstellungen in PDF-Formularen deaktiviert werden sollen oder nicht. Wenn der Parameter auf false gesetzt ist, wird der Rollenmanager ausgeblendet und die Anzeige des Formulars im Namen einer bestimmten Rolle ist deaktiviert. In diesem Fall werden die Schaltflächen Rollen verwalten und Formular anzeigen auf der Registerkarte Formulare sowie die Dropdown-Liste zur Einstellung der Feldrolle im rechten Bereich nicht angezeigt.
Erweiterte Automatisierungs-API
Automatisierungs-API, die es ermöglicht, mit Dateien von außen zu interagieren, bietet mehrere neue Methoden:
- addContextMenuItem – um dem Kontextmenü einen Eintrag hinzuzufügen;
- addToolbarMenuItem – um ein Element zum Menü der Symbolleiste hinzuzufügen;
- updateContextMenuItem – um einen Eintrag im Kontextmenü mit den angegebenen Einträgen zu aktualisieren.
Wenn Sie z. B. die Elemente des Kontextmenüs aktualisieren möchten, verwenden Sie die Methode updateContextMenuItem. Übergeben Sie hier ein Array mit neuen Elementen als Argument und geben Sie alle erforderlichen Parameter für jedes Element an. Im folgenden Codebeispiel übergeben wir ein Element mit der ID “onConvert” und dem Text “Convert to Markdown or HTML”.
var items: [
{
"id": "onConvert",
"text": getMessage("Convert to Markdown or HTML")
}
]
connector.updateContextMenuItem(items);
Hinweis: Die Automatisierungs-API ist in der 30-Tage-Testversion von ONLYOFFICE Docs Developer enthalten, so dass Sie sie kostenlos testen können. Wenn Sie planen, Automation API für die Produktion zu verwenden, müssen Sie eine Lizenz mit dieser Option erwerben.
Personalisierung
Verwenden Sie die neu hinzugefügten Parameter, um die Oberfläche des Editors anzupassen.
Der Parameter editorConfig.customization.layout.header.editMode legt fest, ob in der Kopfzeile eine Schaltfläche zum Umschalten der Modi angezeigt werden soll oder nicht.
Hinweis: Dieser API-Parameter ist nur für Benutzer mit der erweiterten Docs Developer Lizenz verfügbar.
Das Feld visible des Parameters editorConfig.customization.logo zeigt oder verbirgt das Logo (Bilddatei in der oberen linken Ecke des Editor-Headers). Außerdem ist es jetzt auch für die mobilen Editoren verfügbar.
Shard-Schlüssel für ein zuverlässiges Cluster
Der in der Vorgängerversion eingeführte Abfrageparameter WOPISrc wird zu den Anfragen des Browsers an den Server hinzugefügt. Damit können Sie mehrere unabhängige Instanzen von ONLYOFFICE erstellen. Die Lastausgleichsanfragen mit WOPISrc stellen sicher, dass die kollaborative Bearbeitung korrekt funktioniert: alle Benutzer, die das gleiche Dokument bearbeiten, werden vom gleichen Server bedient. Für WOPI wird der vom Integrator gesendete Parameter verwendet. Für Docs API wird der neue Shard-Key-Parameter verwendet.
Der Parameter shardkey wird dem URL QueryString hinzugefügt, wenn Anfragen an den Document Command Service, Document Conversion Service oder Document Builder Service gesendet werden. Das Schlüsselfeld wird als Wert verwendet. Zum Beispiel: ?shardkey=Khirz6zTPdfd7. Wenn der Textkörper keinen Schlüssel enthält, brauchen Sie ihn nicht zu senden (z. B. im Befehl getForgottenList).
Weitere API-Updates für die Editoren
- Der Fehlercode -10 (Größenbegrenzung überschritten) wurde der Konvertierungs-API hinzugefügt.
- Der Standardwert des Parameters editorConfig.customization.hideRightMenu wurde auf true geändert (d.h. das rechte Menü wird beim ersten Laden ausgeblendet).
- Das Feld editorConfig.customization.layout.toolbar.home.mailmerge ist veraltet, bitte verwenden Sie stattdessen das Feld editorConfig.customization.layout.toolbar.collaboration.mailmerge (da der Seriendruck-Button auf die Registerkarte Zusammenarbeit verschoben wurde).
- Das Feld editorConfig.customization.goback.requestClose ist veraltet. Bitte verwenden Sie stattdessen das Feld editorConfig.customization.close.
Holen Sie sich die neueste Version von ONLYOFFICE Docs Developer:
API-Erweiterungen für Plugins
Ab Version 8.1 können Plugins die Symbolleiste verändern: eigene Registerkarten erstellen und füllen, Schaltflächen zu den Standard-Registerkarten hinzufügen. Verwenden Sie dazu die Methode AddToolbarMenuItem.
var oToolbarMenuItem = {
"id": "MeaningItem",
"type": "button",
"text": "Meaning",
"hint": "Meaning",
"icons": "resources/light/icon.png",
"disabled": false,
"enableToggle": false,
"lockInViewMode": false,
"separator": true,
"split": true,
"items": [
{
"id": "onMeaningT",
"text": "Explain text in comment"
},
{
"id": "onFixSpelling",
"text": "Fix spelling & grammar"
},
{
"id": "onMakeLonger",
"text": "Make longer"
},
{
"id": "onMakeShorter",
"text": "Make shorter"
}
]
};
var oToolbarMenuTab = {
"id": "ChatGPT",
"text": "AI Assistant",
"items": [oToolbarMenuItem]
};
var oToolbarMenuMainItem = {
"guid": "asc.{9DC93CDB-B576-4F0C-B55E-FCC9C48DD007}",
"tabs": [oToolbarMenuTab]
};
window.Asc.plugin.executeMethod ("AddToolbarMenuItem", [[oToolbarMenuMainItem]]);
Außerdem können Plugins jetzt nicht nur mehrere Fenster, sondern auch mehrere linke Felder erstellen. Der Parameter variations.menu gibt an, wo das Plugin platziert wird – auf dem rechten oder linken Panel.
Unter den neuen Plugin-Methoden finden Sie:
Lesen Sie die die vollständige Liste der API-Updates für Plugin.
Python-Framework für Document Builder
Für ONLYOFFICE Document Builder ist jetzt ein Python Builder Framework verfügbar. Es enthält eine Sammlung von Bibliotheken, Klassen und Funktionen, die die schnelle Entwicklung von Anwendungen in Python mit Funktionen zur Dokumentenerstellung erheblich erleichtern.
Office-API
Um Ihnen die Navigation zu erleichtern, haben wir die JavaScript-Bibliothek für die Arbeit mit den Editoren in einen separaten Abschnitt verschoben – Office JavaScript API.
Hier haben wir auch zahlreiche neue Methoden für die Version 8.1 hinzugefügt, einschließlich derer für:
- Datumsformulare;
- Einstellen von Texteigenschaften;
- geschützte Bereiche;
- Einfügen/Ausschneiden von Bereichen;
- Referenzstile;
- Arbeitsblattfunktion;
- benutzerdefinierte Funktion;
- Bewegen eines Cursors.
Lesen Sie die vollständige Liste der neuen Methoden.