開発者向けONLYOFFICE Docs 8.1:APIアップデート

2024年06月25日著者:Denis

バージョン8.1の新機能リリースに伴い、エディター、ドキュメントビルダー、プラグインのAPIを更新し、Office APIセクションを追加しました。詳細は以下をご覧ください。

ONLYOFFICE Docs 8.1 for developers: API updates

PDFフォーム

バージョン8.1から、PDFフォームに完全に切り替えました。フォームを作成・編集するために他のフォーマットはもう必要ありません。つまり、これまでフォームテンプレートの作成に使われていた docxf フォーマットは非推奨となります。

これに関して、以下の API の更新をご確認ください:

  • docxf および oform フォーマットの documentType が pdf に変更されました。
  • 変換要求に pdf  field が追加されました。
  • WOPI discovery に formsubmit アクションが追加されました。
  • WOPI ホストページの form 要素に docs_api_config パラメータが追加されました。

フォーム送信

新しく追加された onSubmit イベントは、フォームが正常に送信されたときに呼び出されます。これにより、フォーム送信アクションをより直感的なものにすることができます。

下のコードサンプルでは、フォームが正常に送信されると、コンソールにメッセージが出力されます。例えば、「フォームの送信に成功しました」というヒントのようなものを表示することができます。

var onSubmit = function (event) {
    console.log("The form was submitted.");
};
var docEditor = new DocsAPI.DocEditor("placeholder", {
    "events": {
        "onSubmit": onSubmit,
        ...
    },
    ...
});

受信者のロール管理

デフォルトでは、「ロールの管理」機能が有効になっており、必要に応じてロールと色を柔軟に割り当てることができます。受信者ロールおよび関連するロールにマッチした色がフォームに必要でない場合、この機能を無効にすることができます。

これを行うには、editorConfig.customization.featuresパラメータに追加されたrolesフィールドを使用します。これはPDFフォームでロール設定を無効にするかどうかを定義します。このパラメータがfalseに設定されている場合、ロールマネージャは非表示になり、特定のロールに代わってフォームを表示することはできなくなります。この場合、「フォーム」タブの「ロールの管理」ボタンと「フォームの表示」ボタン、および右パネルのフィールドロール設定用ドロップダウンリストは表示されません。

拡張オートメーションAPI

外部からファイルを操作できるようにする Automation API に、いくつかの新しいメソッドが追加されました:

例えば、コンテキスト・メニューの項目を更新したい場合は、 updateContextMenuItem メソッドを使用します。ここでは、新しい項目を含む配列を引数として渡し、各項目に必要なすべてのパラメータを指定します。以下のコードサンプルでは、”onConvert” IDと “Convert to Markdown or HTML “テキストを持つ要素を渡しています。

var items: [
    {
        "id": "onConvert",
        "text": getMessage("Convert to Markdown or HTML")
    }
]
connector.updateContextMenuItem(items);

ご注意:Automation APIはONLYOFFICE Docs Developerの30日間トライアルに含まれていますので、無料でお試しいただけます。Automation APIを本番環境で使用する場合は、このオプションが含まれたライセンスを取得する必要があります。

カスタマイズ

エディタのインターフェイスを調整するには、新しく追加されたパラメータを使用します。

editorConfig.customization.layout.header.editModeパラメータは、モードを切り替えるボタンをヘッダに表示するかどうかを定義します。

ご注意:このAPIパラメータは、拡張Docs Developerライセンスをお持ちのユーザー様のみご利用いただけます。この機能にアクセスするには、リクエストをご送信ください

ONLYOFFICE Docs 8.1 for developers: API updates

editorConfig.customization.logoパラメータのvisibleフィールドは、ロゴ(エディタヘッダーの左上にある画像ファイル)の表示/非表示を設定します。また、モバイルエディタでも利用できるようになりました。

ONLYOFFICE Docs 8.1 for developers: API updates

信頼できるクラスタのためのシャードキー

前バージョンで導入されたWOPISrcクエリパラメータがブラウザからサーバへのリクエストに追加されました。これによりONLYOFFICEの複数の独立したインスタンスを作成することができます。WOPISrcによるロードバランシングリクエストは、共同編集が正しく機能することを保証します:同じドキュメントを編集している全てのユーザは、同じサーバからサービスを受けます。WOPIについては、インテグレータから送信されたパラメータが使用されます。Docs API では、新しい Shard key パラメータが使用されます。

Shardkey パラメータは、Document Command ServiceDocument Conversion ServiceDocument Builder Service にリクエストを送信する際に URL QueryString に追加されます。key フィールドは値として使用されます。たとえば、?shardkey=Khirz6zTPdfd7 のようになります。ボディにキーがない場合は、キーを送信する必要はありません(たとえば、getForgottenListコマンド)。

エディタ用APIのさらなる更新

ONLYOFFICE Docs Developerの最新版を入手してください:

今すぐダウンロード

プラグインのためのAPI強化

バージョン8.1から、プラグインはツールバーを変更することができます:独自のタブを作成してそれを埋めたり、標準タブにボタンを追加したり。これを行うには、AddToolbarMenuItemメソッドを使用します。

ONLYOFFICE Docs 8.1 for developers: API updates

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]]);

さらに、プラグインは複数のウィンドウだけでなく、複数の左パネルも作成できるようになりました。variations.menuパラメータはプラグインがどこに配置されるかを指定します。

ONLYOFFICE Docs 8.1 for developers: API updates

新しいプラグインメソッドには、以下のものがあります:

プラグインAPIの更新の完全なリストを確認してください。

ドキュメントビルダーのためのPythonフレームワーク

ONLYOFFICE Document Builderのために、Python Builder Frameworkが利用可能になりました。このフレームワークには、ライブラリ、クラス、関数のコレクションが含まれており、Pythonでドキュメント作成機能を持つアプリケーションを素早く開発することができます。

Office API

利便性とナビゲーションのしやすさのために、エディタを操作するためのJavaScriptライブラリを別のセクション – Office JavaScript API に移動しました。

ここでは、バージョン 8.1 用に多数の新しいメソッドも追加しました:

  • 日付フォーム
  • テキストプロパティの設定
  • 保護された範囲
  • 範囲の貼り付け/切り取り
  • 参照スタイル
  • ワークシート関数
  • カスタム関数
  • カーソルの移動

新しいメソッドの全リストをご覧ください。

ONLYOFFICEの無料アカウントを登録する

オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業