CODEのユーザーインターフェースをカスタマイズして特定のツールバーを非表示にする方法

簡潔に言うと、 CODEでは、コンパクト表示またはタブ表示の設定でツールバー全体のスタイルを変更できます。ノートブックのタブやコマンドを非表示にするには、WOPIホストのPostMessage APIを使用する方法がサポートされています。ビューアの通常のメニューでは、個々のコマンドをすべてのユーザーに対して完全に削除することはできません。管理者はサーバーのデフォルトのインターフェースモードを設定できますが、CODEを組み込んだホストはセッションレベルの非表示または表示メッセージを送信できます。

アクセス権限に合った方法を選択してください。ドキュメントの表示領域を広げたい場合は、ツールバーを折りたたむか、コンパクト表示に切り替えてください。WOPI統合でヘルプタブや書式設定コマンドを省略する必要がある場合は、エディターの準備が完了した後に該当するPostMessageを送信してください。印刷、ダウンロード、編集などの操作を禁止したい場合は、関連するWOPI機能または権限も使用してください。ボタンを非表示にしても表示は変わりますが、認証は変わりません。

適切なカスタマイズを選択してください

あなたが変えたいことこの方法を使用してくださいそれが何に影響を与えるか
デフォルトではコンパクトメニューまたはタブ付きノートブックバーを使用するuser_interface.modeサーバー設定で設定しますそのCODEデプロイメントのデフォルトインターフェースモード
一時的に文書のためのスペースを広く確保するUI からノートブックバーを折りたたむか、送信しますCollapse_Notebookbarタブボタンを非表示にします。ユーザーは再び展開できます。
ノートブックバーのタブ(ヘルプなど)を非表示にする送信Hide_NotebookTabWOPI埋め込みエディタセッションのタブ1つ
エディターUI全体で1つのコマンドを非表示にする送信Hide_Commandそのコマンドのメニュー、ツールバー、およびコンテキストメニューのエントリ
特定のツールバーボタンのみを非表示にするHide_ButtonボタンIDとともに送信ツールバーボタンは1つ。IDはUIやリリースによって異なる場合があります。

関連するSDKマニュアルでは、Hide_NotebookTab24.04.11.1およびHide_Command24.04.11.2以降で利用可能とされています。CODEリリースパッケージとインテグレータービルドは異なる場合があるため、APIメッセージに依存する前に、実際に実行しているサーバーのバージョンを確認してください。

コンパクト表示とタブ表示のデフォルト設定を変更します。

コンパクト表示では、メニューと小型のツールバーが使用されます。タブ表示では、コントロールがノートブックバーのタブにグループ化されます。サーバー設定は でuser_interface.mode、サポートされている値は と ですcompact。やtabbedなどの古いラベルは、これらの名前に置き換えられたため、非推奨となっています。classicnotebookbar

ブラウザベースのドキュメントエディタは、サンプルページの上にコンパクトなメニュー行と細い書式設定ツールバーを表示します。
例として、コンパクト表示を示します。このエディタでは、メニュー行と、ドキュメント上部の狭い書式設定ツールバーが使用されます。

管理者が制御するデフォルト設定にするには、次のセクション<mode>内の既存のエントリを編集します。<user_interface>coolwsd.xml

<user_interface>
  <mode type="string" desc="Controls the user interface style. The 'default' means: Take the value from ui_defaults, or decide for one of compact or tabbed (default|compact|tabbed)" default="default">tabbed</mode>
</user_interface>

compactコンパクトメニューには、代わりにを使用してくださいtabbed。実際の構成ファイルでは、2つ目のモードエントリを追加するのではなく、既存のモードエントリを変更してください。正確な構成パスと再起動手順は、CODEがパッケージ、コンテナ、または他のプラットフォームのいずれでインストールされているかによって異なります。そのデプロイメントの構成方法に従い、必要に応じてサービスを再起動またはリロードし、新しいドキュメントセッションを開いてデフォルト設定を確認してください。

これはデフォルトのインターフェースモードを設定するものであり、特定のコマンドを非表示にするものではありません。サーバーの保存済みUI状態構成によっては、ユーザーまたはインテグレーターが保存したインターフェース設定が優先される場合があります。ブラウザが繰り返し別のビューで再起動する場合は、サーバー設定をさらに変更する前に、新しいセッションをテストし、インテグレーターのユーザー設定の動作を確認してください。

コマンドを削除せずにツールバーを折りたたむ

単にドキュメントのスペースを広げることが目的であれば、タブ付きノートブックバーを折りたたむだけで通常は十分です。SDKのCollapse_Notebookbarメッセージはノートブックバーのボタンを非表示にしますが、タブ名は表示されたままなので、ユーザーはコントロールを再び展開できます。同じメッセージは、コンパクト表示のボタンバーも非表示にします。これは元に戻せる表示変更であり、編集機能を無効にするものではありません。

文書エディタでは、グループ化された書式設定コントロールの上に、「ホーム」、「挿入」、「レイアウト」、「校閲」、「表示」、「ヘルプ」の各タブが配置されたタブ付きノートブックバーが表示されます。
ノートブックバーのタブとグループ化された書式設定コントロールが表示された、タブ付き表示の例。

サポートされているインターフェースでは、タブストリップを操作することでノートブックバーを折りたたんだり展開したりできます。クリックまたはダブルクリックの動作は、表示状態やリリース状態によって異なる場合があります。折りたたまれたバーを元に戻す必要がある場合は、タブ名を表示したまま、使用しているCODEビルドでその操作をテストしてください。

WOPI統合でタブまたはコマンドを1つ非表示にする

セッションごとの非表示には、iframe に CODE を埋め込み、メッセージを送信できるホスト アプリケーションが必要です。これは、に貼り付けることができる汎用的な設定ではありませんcoolwsd.xml。PostMessage API はMessageId、、タイムスタンプ、およびオプションのを含むメッセージを使用しますValues。WOPI ホストは、エディタ コマンドを送信する前に準備完了の交換を完了する必要があります。ホスト ページの WOPI を設定しPostMessageOrigin、ブラウザ メッセージ ターゲットとして正確な CODE iframe オリジンを使用します。ワイルドカード ターゲット オリジンは使用しないでください。

ホストが適切なApp_LoadingStatus準備完了イベントを受信して​​送信した後Host_PostmessageReady、非表示メッセージを送信できます。たとえば、次の呼び出しは、開いているエディタセッションのヘルプ タブと下線コマンドを非表示にします。

const frame = document.getElementById("collaboraFrame");
const collaboraOrigin = "https://office.example.com";

function sendToCollabora(MessageId, Values = {}) {
  frame.contentWindow.postMessage({
    MessageId,
    SendTime: Date.now(),
    Values
  }, collaboraOrigin);
}

// Call after the WOPI PostMessage readiness exchange.
sendToCollabora("Hide_NotebookTab", { id: "Help" });
sendToCollabora("Hide_Command", { id: ".uno:Underline" });
タブ付きエディターには、「ホーム」、「挿入」、「レイアウト」、「校閲」、「表示」が表示され、「ヘルプ」タブは非表示になっています。
ヘルプタブを非表示にし、その他のノートブックバータブを表示した状態の、タブ付き表示の例。
エディタのツールバーには下線コントロールは表示されませんが、他の書式設定コントロールは表示されます。ホストコードペインには、.uno:Underline に対して Hide_Command メッセージが表示されます。
WOPIホストのカスタマイズ例:下線付きのコマンドは非表示になっていますが、ツールバーの残りの部分は表示されたままです。

office.example.comご自身のCODE iframeの送信元に置き換えてください。この例はメッセージの構成を示しています。ホストの実際のiframeライフサイクルに組み込み、応答する前に受信メッセージの送信元を検証してください。CODEのドキュメントには、それ以前に送信されたホストメッセージはHost_PostmessageReady無視される可能性があると記載されています。

どのメッセージを使うべきですか?

  • Hide_NotebookTabタブビューでタブ全体に使用する場合。これはタブidIDです(例:)Help。Show_NotebookTab変更を元に戻すと、表示メッセージが届くまでタブはセッション中非表示のままになります。
  • Hide_Commandメニュー、ツールバー、コンテキストメニューからコマンドを非表示にしたい場合に使用します。IDの例は です.uno:Underline。Show_Commandはそれを反転します。このコマンドをこれらのすべての画面から削除することが目的の場合にのみ使用してください。
  • Hide_ButtonコマンドのすべてのUIエントリではなく、単一のボタンを非表示にしたい場合に使用します。そのIDはツールバーボタンのIDであり、必ずしもUNOコマンド名ではありません。Collaboraのドキュメントによると、これらのIDは通常安定していますが、保証されているわけではありません。ご使用のビルドとデバイスのフォームファクタに合わせて、ソースコードと照らし合わせて確認してください。
  • Hide_Menubarこれはメニューバー全体を非表示にします。コマンドごとの制御ではなく、ノートブックバーのタブを非表示にする操作とは異なりますのでご注意ください。

postMessage API は統合ホスト向けです。Nextcloud、ownCloud、またはその他のプラットフォームを使用している場合は、カスタムホストコードを作成する前に、そのコネクタがサポートされている設定を公開しているかどうかを確認してください。エディタページに CSS を挿入することは避けてください。リリース間で不安定になりやすく、コントロールを視覚的に隠すだけです。

変更内容がご使用のユースケースに合致するか確認してください。

ユーザーと同じブラウザ、ドキュメントの種類、権限、およびCODEリリースを使用してテストドキュメントを開きます。選択したモードを確認し、意図したタブまたはコマンドのみが非表示になっていることを確認し、対応するメッセージの表示またはツールバーの展開アクションをテストします。統合がWriter、Calc、およびImpressの3つすべてに対応している場合は、それぞれについてこの手順を繰り返します。使用可能なコマンドとツールバーIDは、モジュール間で必ずしも同一ではありません。

非表示コントロールがまだ表示される場合は、ホストが送信したメッセージのHost_PostmessageReady内容、WOPIPostMessageOriginおよび iframe のターゲットオリジンが正しいこと、メッセージで想定される ID とスペルが使用されていることを確認してください。また、サーバーのバージョンをドキュメントに記載されている機能ベースラインと比較してください。視覚的に非表示にしても、コマンドが基となるドキュメントエンジンから削除されたり、セキュリティ制限が確立されたりすることはありません。アクセス制御には、WOPI のアクセス許可とバックエンドポリシーを使用してください。

公式資料

コメントを残す

Microsoft Wordで画像を移動する方法

Microsoft Wordで画像を移動する方法

Wordで画像をドラッグする方法、テキストの折り返しを選択する方法、段落内に画像を保持する方法、ページ上に画像を固定する方法、そして画像が移動しない場合のトラブルシューティング方法を学びましょう。

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelにチェックボックスを挿入する方法:2つの簡単な方法

Excelのセル内ツールを使ってチェックボックスを挿入する方法、数式を使ってチェックされた項目の数を数える方法、古いデスクトップ版でリンクされたフォームコントロールを追加する方法を学びましょう。

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelで文字を自動入力する方法:AからZ、そしてその先へ

Excelでフィルハンドル関数、SEQUENCE関数、または再利用可能なカスタムリストを使用して、AからZまでのアルファベット、小文字、またはZを超えるラベルを生成します。

Excelで取り消し線を引く方法:ショートカットと手順

Excelで取り消し線を引く方法:ショートカットと手順

Windows、Mac、Web版Excelで取り消し線を引く方法、セルの一部に書式を設定する方法、値を削除せずに行を削除する方法を学びましょう。

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessとは?そのデータベースツールはどのように機能するのか?

Microsoft Accessは、関連レコードの保存、クエリの作成、データ入力フォームの作成、レポートの生成を行うためのWindowsデータベースアプリケーションです。その仕組みと最適な活用シーンについて解説します。

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を変更する

Word 2010でグリッド線の高さと幅を調整する方法、表示される線の頻度を変更する方法、および下地となる水平方向と垂直方向の描画グリッドの間隔を設定する方法を学びましょう。

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Office Outlook 2010 のインポートとエクスポート: PST ファイルを使用してデータを移動する

Outlook 2010にPSTファイルをインポートする方法、またはメール、連絡先、カレンダー、タスクをエクスポートする方法を学びましょう。正しいメニューに従い、フォルダの欠落や重複を避けてください。

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Nucleus Kernelを使用してOutlook PSTファイルのパスワードを復元する

Kernelが提供する最新の手順では、忘れてしまったOutlook PSTファイルのパスワードを復元する方法を解説します。正しいファイルの特定方法、バックアップの作成方法、ツールの制限事項の確認方法などが含まれています。

PowerPointスライドにライブWebページを挿入する方法

PowerPointスライドにライブWebページを挿入する方法

LiveWebアドインを使用すると、WebサイトをPowerPointスライドに配置し、サイズや更新動作を設定し、プレゼンテーション前に互換性を確認できます。

Access 2010データベースをフォームで開く方法

Access 2010データベースをフォームで開く方法

Access 2010データベースアプリケーションを、データ入力フォームに直接開くように設定し、オブジェクトリストを非表示にし、メニューを制限し、共有前に設定を確認します。