APIまとめ:ONLYOFFICE Docsの最新アップデート

2025年07月22日著者:Denis

カスタマイズオプションの更新からSDKやAI駆動のマクロ生成まで、これらのアップデートはあらゆる開発者とインテグレータの生産性と創造性を高めることを目的としています。以下は新機能の詳細な内訳です。

ONLYOFFICE Docs向けの最新APIアップデート

Docs統合における新機能

ONLYOFFICEエディタを独自のアプリやサービスに統合するためのSDKをアップデートしました。最新のJavaおよびPHP SDKにはフォーマットサポートの強化、新しい構成オプション、そして新規のビューアタイプ「Diagram」が追加されています。詳しく見ていきましょう。

Java SDK 1.6.0

最新版のJava SDKはMaven Centralで公開中で、以下を提供します:

  • 新ビューアタイプ:Diagram。エディタ9.0で導入されたONLYOFFICE Diagramビューアを初期化可能になりました。
  • 新しい構成フィールド。エディタ9.0に対応し、初期化時の制御がさらに細かくなりました。
  • サポートフォーマットリストの更新。最新の文書、スプレッドシート、プレゼンテーション、フォーム、ダイアグラムファイルタイプに対応しています。
  • 依存関係の更新。既知の脆弱性を含むコンポーネントをすべてアップデートし、セキュリティと安定性を向上させました。

PHP SDK 1.3.0

最新版のPHP SDKはPackagistで公開中で、以下をサポートします:

  • 新ビューアタイプ:Diagram。フローチャートやマインドマップに最適なONLYOFFICE Diagramビューアを統合できます。
  • ファイル形式.odgと.mdのビューイングサポート。オープンフォーマットとMarkdownファイルの互換性が拡大しました。
  • xlsbファイルの編集サポート。Excelバイナリワークブックの編集機能を統合できます。
  • 新規空ファイルテンプレート。言語 Catalan(ca-ES)、Czech(cs-CZ)、Danish(da-DK)、Hungarian(hu-HU)、Indonesian(id-ID)、Romanian(ro-RO)、Albanian(sq-AL)、Urdu(ur-PK) が追加されました。
  • 最小対応エディタバージョン:8.0。完全な互換性のためにONLYOFFICE Docsインスタンスを最新にしてください。

すべての開発者の皆様に、これらの新機能を活用しONLYOFFICE Docs 8.0以上との互換性を維持するために最新SDKへの更新を推奨します。

Docs APIの新機能

カスタマイズFAQの追加。よくある質問にさらに回答を追加し、あまり知られていないカスタマイズオプションについて解説しています。

New Office API examples。多様なユースケースをサポートするため、新しいドキュメント作成サンプルを導入しました。

  • 2列レイアウト。パンフレットやレポートのようなプロ仕様ドキュメントを簡単に生成します。
  • 横向きレイアウト。幅広い表やグラフに最適な横向きページを作成します。
  • テキスト透かし。「Confidential」などの半透明透かしを自動挿入し、ドキュメントのセキュリティを維持します。
  • イベント招待状。既定の寸法とカスタムメッセージで招待状をデザインします。

プラグインとマクロの新機能

マクロカスタマイズの更新。バージョン9.0.3ではcustomization.macrosパラメータの動作を改善しました。macros:falseを設定するとマクロ機能が完全に無効化され、ユーザーはマクロを実行・追加・編集できず、Viewタブからマクロボタンが非表示になります。

const config = {
  editorConfig: {
    customization: {
      macros:false,
    }
  }
};

AI駆動のマクロ生成。AIを用いたマクロ開発により、手作業の手間を大幅に削減できます。バージョン9.0以降、AIプラグインはテキスト記述からマクロテンプレートを生成可能です。詳しくはこちら

テキスト記述からマクロを生成

さらに、VBAコードをONLYOFFICE JavaScriptベースのマクロに自動変換できます。

以下はAIで変換したVBAマクロの例です:

選択セルの値を変更するマクロの例:

(function(){
    // Get the active sheet
    var activeSheet = Api.GetActiveSheet();
    
    // Select cell A1
    activeSheet.GetRange("A1").Select();
    
    // Set the value of the selected cell to "Hello World"
    activeSheet.GetRange("A1").SetValue("Hello World");
})();

セルの値を変更する例マクロ

非同期計算。関数内部で任意のリクエストを処理できる非同期カスタム関数を追加できます。世界銀行指標計算のサンプルをご覧ください。

世界銀行指標を計算する非同期関数例

新しいマクロサンプル。PDFエディタやプレゼンテーションエディタ、スプレッドシートエディタ向けの様々なサンプルを追加しました。実行方法もご確認ください。

プレースホルダー設定マクロの例コード:

(function () {
    let key="MyKey";
    let placeholderText="Placeholder";
    let doc=Api.GetDocument();

    doc.GetAllForms()
        .filter(field=>field.GetFormType()==="comboBoxForm"&&field.GetFormKey()===key)
        .forEach(field=>field.SetPlaceholderText(placeholderText));
})();

プレースホルダーを設定するマクロ例

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

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