# Présentation de l’interface utilisateur

> Configurez le canevas PDF, les contrôles d’édition, la locale et le worker de miniatures.

- Human documentation: [https://docs.univer.ai/fr-FR/guides/pdfs/ui/overview](https://docs.univer.ai/fr-FR/guides/pdfs/ui/overview)

- Agent Markdown: [https://docs.univer.ai/fr-FR/guides/pdfs/ui/overview.md](https://docs.univer.ai/fr-FR/guides/pdfs/ui/overview.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [pdfs/ui/overview.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/pdfs/ui/overview.fr-FR.mdx)

---

`@univerjs-pro/pdfs-ui` monte les unités PDF dans l’espace de travail Univer standard et est fourni sous licence Univer Office SDK.

## Responsabilités des packages

| Package                     | Responsabilité                                                                                                                    |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `@univerjs-pro/pdfs`        | Enregistre l’unité `UNIVER_PDF`, le modèle de document et les commandes PDF persistantes.                                         |
| `@univerjs-pro/pdfs-ui`     | Monte le canevas du navigateur, le rail de miniatures et le pied de page. Ses contrôles d’édition locale sont activés par défaut. |
| `@univerjs-pro/pdfs-editor` | Déclare les dépendances de l’éditeur collaboratif. Il ne monte pas l’interface PDF et ne contrôle pas `editor.enabled`.           |

`UniverPdfsUIPlugin` dépend de `UniverLicensePlugin` et de `UniverPdfsPlugin`. Terminez d’abord la configuration PDF sous licence, puis enregistrez le plugin d’interface.

## Enregistrer le plugin d’interface

```ts
import { UniverPdfsUIPlugin } from '@univerjs-pro/pdfs-ui'
import PdfsUIFrFR from '@univerjs-pro/pdfs-ui/locale/fr-FR'

import '@univerjs-pro/pdfs-ui/lib/index.css'

univer.registerPlugin(UniverPdfsUIPlugin)
```

Fusionnez `PdfsUIFrFR` avec les locales transmises à `new Univer(...)`. Ce pack traduit le ruban, l’inspecteur, les menus contextuels et le rail de pages propres au PDF.

## Modes visionneuse et éditeur

Le plugin monte toujours le rail de miniatures, le canevas PDF et le pied de page. L’édition est activée par défaut et enregistre en plus le ruban, les menus contextuels, l’inspecteur, le presse-papiers, les commandes d’insertion ainsi que les actions et contrôleurs d’édition.

Utilisez le mode lecture seule lorsque l’application ne doit pas exposer ces contrôles :

```ts
univer.registerPlugin(UniverPdfsUIPlugin, {
  editor: { enabled: false },
})
```

Cette option modifie l’interface montée ainsi que les contrôleurs et services propres à l’édition. Ce n’est pas une règle d’autorisation et elle ne modifie pas un instantané PDF enregistré.

## Worker de miniatures

`thumbnailWorkerURL` accepte une chaîne, une `URL` ou un `Worker` existant. Le module référencé doit démarrer le runtime exporté :

```ts title="pdf-thumbnail-worker.ts"
import { startPdfPageThumbnailWorker } from '@univerjs-pro/pdfs-ui'

startPdfPageThumbnailWorker()
```

```ts
univer.registerPlugin(UniverPdfsUIPlugin, {
  thumbnailWorkerURL: new URL('./pdf-thumbnail-worker.js', import.meta.url),
})
```

Le worker exige un contexte Worker dédié. S’il n’est pas configuré, si le navigateur ne fournit pas les API nécessaires ou si une page dépend d’une ressource réservée au thread principal, les miniatures sont rendues sur le thread principal.

## Limite de l’API publique

L’interface appelle des commandes et services PDF en interne. Un bouton du ruban n’implique pas une méthode publique équivalente. Consultez le [guide de la Facade PDF](https://docs.univer.ai/fr-FR/guides/pdfs/getting-started/facade.md) pour l’édition programmatique prise en charge, [Import et export](https://docs.univer.ai/fr-FR/guides/pdfs/features/import-export.md) pour la conversion et [Impression](https://docs.univer.ai/fr-FR/guides/pdfs/features/print.md) pour l’impression dans le navigateur.

## Ordre des menus et disposition en grille

Utilisez [`order`, `gridLayout` et `updateMenuConfig()`](https://docs.univer.ai/fr-FR/guides/pdfs/features/core.md#menu-order-and-grid-layout) pour régler l’ordre des onglets, groupes et éléments, leur disposition en grille et les mises à jour à l’exécution. Le guide renvoie également aux options Facade des menus personnalisés.
