開発者向けONLYOFFICE Docs 8.1:APIアップデート
バージョン8.1の新機能リリースに伴い、エディター、ドキュメントビルダー、プラグインのAPIを更新し、Office APIセクションを追加しました。詳細は以下をご覧ください。
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 に、いくつかの新しいメソッドが追加されました:
- addContextMenuItem – コンテキストメニューに項目を追加するため
- addToolbarMenuItem – ツールバーメニューに項目を追加するため
- updateContextMenuItem – コンテキスト・メニューの項目を指定された項目で更新するため
例えば、コンテキスト・メニューの項目を更新したい場合は、 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ライセンスをお持ちのユーザー様のみご利用いただけます。この機能にアクセスするには、リクエストをご送信ください。
editorConfig.customization.logoパラメータのvisibleフィールドは、ロゴ(エディタヘッダーの左上にある画像ファイル)の表示/非表示を設定します。また、モバイルエディタでも利用できるようになりました。
信頼できるクラスタのためのシャードキー
前バージョンで導入されたWOPISrcクエリパラメータがブラウザからサーバへのリクエストに追加されました。これによりONLYOFFICEの複数の独立したインスタンスを作成することができます。WOPISrcによるロードバランシングリクエストは、共同編集が正しく機能することを保証します:同じドキュメントを編集している全てのユーザは、同じサーバからサービスを受けます。WOPIについては、インテグレータから送信されたパラメータが使用されます。Docs API では、新しい Shard key パラメータが使用されます。
Shardkey パラメータは、Document Command Service、Document Conversion Service、Document Builder Service にリクエストを送信する際に URL QueryString に追加されます。key フィールドは値として使用されます。たとえば、?shardkey=Khirz6zTPdfd7 のようになります。ボディにキーがない場合は、キーを送信する必要はありません(たとえば、getForgottenListコマンド)。
エディタ用APIのさらなる更新
- 変換APIに-10エラーコード(size limit exceeded)が追加されました。
- editorConfig.customization.hideRightMenu パラメータのデフォルト値が true に変更されました。
- editorConfig.customization.layout.toolbar.home.mailmergeフィールドは非推奨です。代わりにeditorConfig.customization.layout.toolbar.collaboration.mailmergeフィールドを使用してください(メールマージボタンがCollaborationタブに移動したため)。
- editorConfig.customization.goback.requestCloseフィールドは廃止予定です。代わりにeditorConfig.customization.closeフィールドを使用してください。
ONLYOFFICE Docs Developerの最新版を入手してください:
プラグインのためのAPI強化
バージョン8.1から、プラグインはツールバーを変更することができます:独自のタブを作成してそれを埋めたり、標準タブにボタンを追加したり。これを行うには、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]]);
さらに、プラグインは複数のウィンドウだけでなく、複数の左パネルも作成できるようになりました。variations.menuパラメータはプラグインがどこに配置されるかを指定します。
新しいプラグインメソッドには、以下のものがあります:
プラグインAPIの更新の完全なリストを確認してください。
ドキュメントビルダーのためのPythonフレームワーク
ONLYOFFICE Document Builderのために、Python Builder Frameworkが利用可能になりました。このフレームワークには、ライブラリ、クラス、関数のコレクションが含まれており、Pythonでドキュメント作成機能を持つアプリケーションを素早く開発することができます。
Office API
利便性とナビゲーションのしやすさのために、エディタを操作するためのJavaScriptライブラリを別のセクション – Office JavaScript API に移動しました。
ここでは、バージョン 8.1 用に多数の新しいメソッドも追加しました:
- 日付フォーム
- テキストプロパティの設定
- 保護された範囲
- 範囲の貼り付け/切り取り
- 参照スタイル
- ワークシート関数
- カスタム関数
- カーソルの移動
新しいメソッドの全リストをご覧ください。