Le catalogue des fonctionnalités Doconut officiel répertorie l'impression depuis le navigateur et l'export PDF comme des capacités du visualiseur. Contrôler l'accès à ces fonctions nécessite toujours deux décisions distinctes : si Doconut propose l'action correspondante et si l'application hôte autorise cette opération pour l'utilisateur et le document actuels.

Pour connaître les contrôles exacts pris en charge par votre version installée, commencez par la documentation Doconut et les exemples fournis sur la page officielle de téléchargement Doconut. Ne copiez pas de clés de configuration ou de code source provenant d’une version non liée ou d’un article non vérifié.
1. Définir d'abord la politique d'impression
Notez qui peut imprimer et dans quelles conditions avant de modifier la barre d’outils. Une politique utile répond à des questions telles que :
- L’impression est‑elle autorisée pour chaque visualiseur, uniquement pour certains rôles ou pour des documents spécifiques ?
- La décision dépend‑elle du locataire, du statut du dossier, de la classification du document ou de son expiration ?
- Un filigrane est‑il requis sur la sortie imprimable ?
- Les événements d’impression doivent‑ils être audités ?
- Un utilisateur peut‑il imprimer une révision plus ancienne du document ?
- Que se passe‑t‑il lorsque les permissions changent pendant que l’aperçu est ouvert ?
Évitez un booléen global lorsqu’une règle réelle est contextuelle. Modélisez l’impression comme une opération distincte afin qu’elle puisse être autorisée indépendamment de la visualisation et du téléchargement.
2. Séparer l’état de l’interface de l’autorisation
La page hôte peut décider d’afficher un contrôle d’impression après avoir reçu le résultat d’une autorisation détenue par l’application. Cela améliore la clarté pour les utilisateurs qui ne peuvent pas imprimer.
Cependant, masquer un contrôle n’est pas une frontière d’autorisation. Un utilisateur peut toujours appeler directement un point de terminaison connu, rejouer une requête antérieure ou invoquer l’impression du navigateur sur le contenu visible. Chaque route serveur qui produit une sortie imprimable doit appliquer la même politique.
Utilisez des états distincts dans l’interface :
| État | Comportement du visualiseur | Comportement du serveur |
|---|---|---|
| Impression autorisée | Afficher l'action d'impression prise en charge | Autoriser et créer la sortie demandée |
| Impression refusée | Masquer ou désactiver l'action avec une explication claire | Retourner une réponse « forbidden » |
| Politique inconnue | Garder l'action indisponible pendant le chargement des permissions | Ne pas créer de sortie |
| Session expirée | Demander à l’utilisateur de se réauthentifier | Rejeter la requête périmée |
3. Protéger le point de terminaison d’impression
Protégez l’opération d’application qui déclenche l’impression ou renvoie la sortie imprimable. La décision d’autorisation doit tenir compte de l’appartenance au locataire, de la propriété, de la classification, de l’état du workflow et de la révision du document. Résolvez le document côté serveur plutôt que d’accepter un chemin ou une URL de stockage fourni par le client.
Si votre application imprime via une route spécifique au visualiseur au lieu de créer un PDF, appliquez la même autorisation avant d’appeler cette route.
4. Configurer la version du visualiseur installée
Une fois la règle serveur définie, configurez l’interface Doconut en utilisant exactement l’option documentée pour le paquet et les fichiers d’exemple fournis avec votre version. Les démos en direct Doconut vous permettent d’observer le comportement du visualiseur avant de vous engager dans une intégration particulière. Vérifiez :
- Où l’option est‑elle définie : configuration serveur, modèle de vue ou initialisation client.
- Si elle masque un élément de la barre d’outils, désactive une action ou affecte la sortie générée.
- Si la valeur s’applique par instance du visualiseur ou globalement.
- Si l’impression et l’export sont des opérations distinctes.
- Si une mise à jour a changé le nom de l’option ou la valeur par défaut.
Considérez l’exemple officiel comme la source de vérité. Un nom de propriété qui semble plausible ne suffit pas à prouver que le visualiseur installé le reconnaît.
5. Gérer honnêtement l’impression du navigateur
Un paramètre du visualiseur ne peut garantir que les informations visibles ne seront jamais imprimées ou capturées. Le navigateur peut imprimer la page hôte, et les utilisateurs peuvent prendre des captures d’écran ou des photographies. L’interception du clavier et le CSS spécifique à l’impression peuvent améliorer l’expérience attendue, mais ils restent contournables côté client.
Si la page hôte ne doit pas produire une copie papier utile, votre application peut utiliser sa propre présentation spécifique à l’impression pour remplacer l’aperçu par un message explicatif. Gardez ce comportement de la page hôte séparé des contrôles documentés du visualiseur Doconut.
Ne décrivez pas cela comme une protection du document. Utilisez le rendu côté serveur, l’autorisation, les exportations contrôlées et les filigranes visibles lorsque votre évaluation des risques exige une dissuasion plus forte.
6. Garder le téléchargement, l’export et l’impression séparés
Les utilisateurs et les développeurs traitent souvent ces actions comme un seul commutateur « lecture‑seule », mais elles représentent des flux de données différents :
- Visualiser affiche le contenu rendu.
- Télécharger renvoie la source ou un autre fichier stocké.
- Exporter crée un format dérivé.
- Imprimer produit une représentation imprimable ou déclenche l’impression du navigateur.
Autorisez chaque opération explicitement. Un utilisateur qui ne peut pas imprimer peut néanmoins être autorisé à télécharger, ou inversement. Votre barre d’outils doit refléter les décisions du serveur plutôt que les définir.
7. Ajouter des événements d’audit utiles
Si l’impression est sensible, enregistrez la décision sans consigner le document lui‑même. Un événement peut inclure l’utilisateur, le locataire, l’identifiant du document, la révision, le résultat de la politique, l’horodatage et l’ID de corrélation.
Enregistrez à la fois les tentatives réussies et refusées. Si le service d’impression crée un fichier temporaire, consignez également si son nettoyage a été effectué. Gardez les chemins de fichiers, les jetons, les titres de documents contenant des données personnelles et le contenu imprimable hors des journaux de routine.
8. Tester au‑delà du bouton manquant
La barre d’outils n’est que la première assertion. Ajoutez des tests pour l’ensemble de l’opération :
Utilisateur autorisé
- L’action d’impression prévue est visible.
- La requête d’impression réussit pour un document autorisé.
- La révision correcte est utilisée.
- Les marquages requis apparaissent sur la sortie générée.
- L’événement d’audit enregistre le succès.
Utilisateur non autorisé
- L’action est absente ou désactivée.
- Une requête directe vers la route d’impression renvoie une réponse « forbidden ».
- Modifier l’ID du document ne contourne pas la règle.
- Une URL copiée d’une session autorisée ne peut pas être réutilisée de manière inappropriée.
- Le refus ne révèle pas si un autre locataire possède le document.
Changements d’état
- La permission révoquée pendant une session est appliquée à la prochaine requête d’impression.
- Une session expirée ne peut pas imprimer.
- Un document supprimé ou remplacé produit une erreur contrôlée.
- La sortie d’impression temporaire suit la règle de rétention configurée.
L’automatisation du navigateur peut vérifier l’état visible et le code de réponse. Les tests d’intégration doivent valider l’évaluation de la politique et l’autorisation au niveau du document de façon indépendante.
Questions fréquentes
Masquer le bouton d’impression empêche‑t‑il le raccourci d’impression du navigateur ?
Non. Cela ne supprime l’action du visualiseur que si le visualiseur installé implémente ce comportement. L’impression du navigateur et la capture d’écran nécessitent une considération séparée et ne peuvent pas être entièrement empêchées par du code côté client.
La permission d’impression doit‑elle être incluse dans l’URL de visualisation ?
Privilégiez une décision d’autorisation côté serveur liée à l’utilisateur authentifié, au document et à l’opération. Si une référence temporaire transporte les permissions, limitez‑la strictement, protégez‑la des journaux et des référents, et revalidez les actions sensibles.
Désactiver l’impression suffit‑il pour les documents confidentiels ?
Non. C’est un contrôle d’utilisabilité ou de dissuasion. Les flux confidentiels nécessitent également une protection du stockage, une autorisation au niveau de l’objet, des exportations contrôlées, des règles de rétention, une surveillance et un modèle de risque résiduel accepté.
Conclusion
Une implémentation fiable du contrôle d’impression Doconut commence côté serveur et se termine dans l’interface. Définissez la politique, protégez l’opération, configurez uniquement l’option documentée pour votre visualiseur installé, expliquez le résultat aux utilisateurs et testez les requêtes directes ainsi que la visibilité de la barre d’outils. Utilisez la page officielle des fonctionnalités, la documentation, les téléchargements et les démos comme sources d’implémentation plutôt que de recréer le code produit dans l’article.