# カスタムコンポーネント

- Human documentation: [https://docs.univer.ai/ja-JP/guides/pdfs/ui/components](https://docs.univer.ai/ja-JP/guides/pdfs/ui/components)

- Agent Markdown: [https://docs.univer.ai/ja-JP/guides/pdfs/ui/components.md](https://docs.univer.ai/ja-JP/guides/pdfs/ui/components.md)

- Requested language: `ja-JP`

- Content language: `ja-JP`

- Documentation version: `1.1.0`

- Source: [pdfs/ui/components.ja-JP.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/pdfs/ui/components.ja-JP.mdx)

---

`UniverPdfsUIPlugin` は Univer の標準ワークベンチ領域を使って PDF インターフェースを構成します。

| モード                    | PDF UI プラグインがマウントするコンポーネント                                         |
| ---------------------- | ------------------------------------------------------------------ |
| 常時                     | 左サイドバーのページサムネイルレール、コンテンツ領域の PDF Canvas、PDF フッター。                   |
| `editor.enabled: true` | リボンとコンテキストメニュー、プロパティインスペクター、クリップボード連携、挿入コントロール、エディター専用メニューコンポーネント。 |

`editor.enabled` を `false` にするとビューアー領域は維持され、編集専用のコンポーネントとサービスは登録されません。

## PDF コンポーネントの境界

PDF Canvas、サムネイルレール、フッター、インスペクター、テーブルピッカー、ツールモードラベルで使われる React ビューとコンポーネント識別子は内部実装です。`@univerjs-pro/pdfs-ui` のルートエントリからは公開されず、サポート対象の置換スロットでもありません。

内部キーを推測またはコピーして、`univerAPI.registerComponent` でこれらのビューを置換しないでください。PDF の動作を制御する場合は [PDF Facade ガイド](https://docs.univer.ai/ja-JP/guides/pdfs/getting-started/facade.md)のサポート対象 API を使います。

## PDF の隣にアプリケーション UI を追加する

共有 UI Facade では、アプリケーションコンポーネントを登録して通常の Univer サイドバーやダイアログに表示できます。これは周囲のアプリケーションを拡張するもので、PDF プラグインのコンポーネントを置換するものではありません。

```tsx
const registration = univerAPI.registerComponent(
  'pdf-help-panel',
  () => <div>PDF workflow help</div>,
)

const sidebar = univerAPI.openSidebar({
  id: 'pdf-help',
  header: { title: 'PDF help' },
  children: { label: 'pdf-help-panel' },
  width: 320,
})

// 拡張が不要になったとき：
sidebar.dispose()
registration.dispose()
```

UI Facade の読み込み後にコンポーネントを登録し、拡張を削除するときは両方のハンドルを破棄してください。
