Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Windows Presentation Foundation (WPF) offre un large éventail de fonctionnalités de document qui permettent de créer du contenu haute fidélité conçu pour être plus facilement accessible et lu que dans les générations précédentes de Windows. Outre les fonctionnalités améliorées et la qualité, WPF fournit également des services intégrés pour l’affichage, l’empaquetage et la sécurité des documents. Cette rubrique fournit une introduction aux types de documents WPF et à l’empaquetage de documents.
Types de documents
WPF divise les documents en deux catégories générales en fonction de leur utilisation prévue ; ces catégories de documents sont appelées « documents fixes » et « documents de flux ».
Les documents fixes sont destinés aux applications qui nécessitent une présentation précise « ce que vous voyez est ce que vous obtenez » (WYSIWYG), indépendamment du matériel d’affichage ou d’imprimante utilisé. Les utilisations courantes pour les documents fixes incluent la publication de bureau, le traitement de texte et la mise en page, où l’adhésion à la conception de page d’origine est essentielle. Dans le cadre de sa disposition, un document fixe conserve le positionnement positionnel précis des éléments de contenu indépendamment de l’appareil d’affichage ou d’impression utilisé. Par exemple, une page de document fixe affichée sur 96 ppp s’affiche exactement de la même façon lorsqu’elle est sortie sur une imprimante laser 600 ppp comme lorsqu’elle est sortie vers un phototypesetter de 4800 ppp. La mise en page reste la même dans tous les cas, tandis que la qualité du document s’optimise aux fonctionnalités de chaque appareil.
Par comparaison, les documents de flux sont conçus pour optimiser l’affichage et la lisibilité et sont mieux utilisés lorsque la facilité de lecture est le scénario de consommation de document principal. Au lieu d’être défini sur une disposition prédéfinie, les documents de flux ajustent et reflowent dynamiquement leur contenu en fonction de variables d’exécution telles que la taille de fenêtre, la résolution d’appareil et les préférences utilisateur facultatives. Une page web est un exemple simple d’un document de flux dans lequel le contenu de la page est mis en forme dynamiquement pour s’adapter à la fenêtre active. Les documents de flux optimisent l’affichage et l’expérience de lecture pour l’utilisateur, en fonction de l’environnement d’exécution. Par exemple, le même document de flux sera reformaté dynamiquement pour une lisibilité optimale sur un affichage haute résolution de 19 pouces ou un petit écran PDA de 2 x 3 pouces. En outre, les documents de flux ont plusieurs fonctionnalités intégrées, notamment la recherche, les modes d’affichage qui optimisent la lisibilité et la possibilité de modifier la taille et l’apparence des polices. Consultez Vue d’ensemble des documents de flux pour obtenir des illustrations, des exemples et des informations détaillées sur les documents de flux.
Contrôles de document et disposition du texte
Le .NET Framework fournit un ensemble de contrôles prédéfini qui simplifient l’utilisation de documents fixes, de documents de flux et de texte général dans votre application. L’affichage du contenu de document fixe est pris en charge à l’aide du contrôle DocumentViewer. L’affichage du contenu du document de flux est pris en charge par trois contrôles différents : FlowDocumentReader, FlowDocumentPageVieweret FlowDocumentScrollViewer qui correspondent à différents scénarios utilisateur (voir les sections ci-dessous). D’autres contrôles WPF fournissent une disposition simplifiée pour prendre en charge les utilisations générales du texte (voir Texte dans l’interface utilisateur, ci-dessous).
Correction du contrôle de document - DocumentViewer
Le contrôle DocumentViewer est conçu pour afficher le contenu FixedDocument. Le DocumentViewer contrôle fournit une interface utilisateur intuitive qui offre une prise en charge intégrée des opérations courantes, notamment la sortie d’impression, la copie dans le Presse-papiers, le zoom et les fonctionnalités de recherche de texte. Le contrôle permet d’accéder aux pages de contenu par le biais d’un mécanisme de défilement familier. Comme tous les contrôles WPF, DocumentViewer prend en charge le restyling complet ou partiel, ce qui permet au contrôle d’être intégré visuellement dans pratiquement n’importe quelle application ou environnement.
DocumentViewer est conçu pour afficher du contenu de manière en lecture seule ; la modification du contenu n’est ni possible ni prise en charge.
Contrôles de document de flux
Remarque
Pour plus d’informations sur les fonctionnalités de document de flux et sur la façon de les créer, consultez Vue d’ensemble du document de flux.
L’affichage du contenu du document de flux est pris en charge par trois contrôles : FlowDocumentReader, FlowDocumentPageVieweret FlowDocumentScrollViewer.
FlowDocumentReader
FlowDocumentReader inclut des fonctionnalités qui permettent à l’utilisateur de choisir dynamiquement entre différents modes d’affichage, notamment un mode d’affichage monopage (page à la fois), un mode d’affichage à deux pages à l’heure (format de lecture de livres) et un mode d’affichage continu (sans fond). Pour plus d’informations sur ces modes d’affichage, consultez FlowDocumentReaderViewingMode. Si vous n'avez pas besoin de pouvoir basculer dynamiquement entre différents modes d'affichage, FlowDocumentPageViewer et FlowDocumentScrollViewer offrent des visionneuses de contenu de flux plus légères qui sont fixes dans un mode d'affichage particulier.
FlowDocumentPageViewer et FlowDocumentScrollViewer
FlowDocumentPageViewer affiche le contenu en mode de visualisation une page à la fois, tandis que FlowDocumentScrollViewer affiche le contenu en mode de défilement continu. Les deux, FlowDocumentPageViewer et FlowDocumentScrollViewer, sont fixés à un mode d’affichage particulier. Comparez à FlowDocumentReader, qui inclut des fonctionnalités permettant à l'utilisateur de choisir dynamiquement entre différents modes d'affichage (comme spécifié par l'énumération FlowDocumentReaderViewingMode), au prix d'être plus gourmand en ressources que FlowDocumentPageViewer ou FlowDocumentScrollViewer.
Par défaut, une barre de défilement verticale est toujours affichée et une barre de défilement horizontale devient visible si nécessaire. L’interface utilisateur par défaut pour FlowDocumentScrollViewer n’inclut pas de barre d’outils ; toutefois, IsToolBarVisible propriété peut être utilisée pour activer une barre d’outils intégrée.
Texte dans l’interface utilisateur
Outre l’ajout de texte à des documents, le texte peut évidemment être utilisé dans l’interface utilisateur de l’application, comme les formulaires. WPF inclut plusieurs contrôles pour dessiner du texte à l’écran. Chaque contrôle est destiné à un scénario différent et possède sa propre liste de fonctionnalités et de limitations. En règle générale, l’élément TextBlock doit être utilisé lorsque la prise en charge limitée du texte est requise, par exemple une brève phrase dans une interface utilisateur. Label peut être utilisé lorsque la prise en charge minimale de texte est requise. Pour plus d’informations, consultez Vue d’ensemble de TextBlock.
Empaquetage de documents
Les System.IO.Packaging API fournissent un moyen efficace d’organiser les données d’application, le contenu de document et les ressources associées dans un seul conteneur simple à accéder, portable et facile à distribuer. Un fichier ZIP est un exemple de Package type capable de contenir plusieurs objets sous la forme d’une unité unique. Les API d’empaquetage fournissent une implémentation par défaut ZipPackage conçue à l’aide d’une norme Open Packaging Conventions avec une architecture de fichier XML et ZIP. Les API d’empaquetage WPF facilitent la création de packages, et permettent de stocker et d’accéder aux objets qu’ils contiennent. Un objet stocké dans un Package est appelé PackagePart « partie »). Les packages peuvent également inclure des certificats numériques signés qui peuvent être utilisés pour identifier l’originateur d’une partie et vérifier que le contenu d’un package n’a pas été modifié. Les packages incluent également une PackageRelationship fonctionnalité qui permet d’ajouter des informations supplémentaires à un package ou associée à des parties spécifiques sans réellement modifier le contenu des parties existantes. Les services de package prennent également en charge Microsoft Windows Rights Management (RM).
L’architecture du package WPF constitue la base d’un certain nombre de technologies clés :
Documents XPS conformes à la spécification de papier XML (XPS).
Documents au format XML ouvert Microsoft Office « 12 » (.docx).
Formats de stockage personnalisés pour votre propre conception d’application.
Basé sur les API d’empaquetage, un objet XpsDocument est conçu pour stocker des documents de contenu fixe WPF. Un XpsDocument est un document autonome qui peut être ouvert dans une visionneuse, affiché dans un contrôle d'affichage DocumentViewer, routé vers une file d'attente d'impression ou transféré directement à une imprimante compatible XPS.
Les sections suivantes fournissent des informations supplémentaires sur les API Package et XpsDocument proposées par WPF.
Composants de package
Les API d’empaquetage WPF permettent d’organiser les données et documents d’application en une seule unité portable. Un fichier ZIP est l’un des types de packages les plus courants et est le type de package par défaut fourni avec WPF. Package elle-même est une classe abstraite à partir de laquelle ZipPackage est implémentée à l’aide d’une architecture de fichier XML et ZIP standard ouverte. La Open méthode utilise ZipPackage pour créer et utiliser des fichiers ZIP par défaut. Un package peut contenir trois types d’éléments de base :
Élément | Descriptif |
---|---|
PackagePart | Contenu de l’application, données, documents et fichiers de ressources. |
PackageDigitalSignature | [Certificat X.509] pour l’identification, l’authentification et la validation. |
PackageRelationship | Ajout d’informations relatives au package ou à une partie spécifique. |
Parties du Paquet
Un PackagePart (« part ») est une classe abstraite qui fait référence à un objet stocké dans un Package. Dans un fichier ZIP, les parties de package correspondent aux fichiers individuels stockés dans le fichier ZIP. ZipPackagePart fournit l’implémentation par défaut pour les objets sérialisables stockés dans un ZipPackage. Comme un système de fichiers, les parties contenues dans le package sont stockées dans un répertoire hiérarchique ou dans une organisation de type dossier. À l’aide des API d’empaquetage WPF, les applications peuvent écrire, stocker et lire plusieurs PackagePart objets à l’aide d’un seul conteneur de fichiers ZIP.
PackageDigitalSignatures
Pour la sécurité, une PackageDigitalSignature (« signature numérique ») peut être associée à des parties au sein d’un package. A PackageDigitalSignature incorpore un [509] qui fournit deux fonctionnalités :
Identifie et authentifie l’originateur de la partie.
Vérifie que le composant n’a pas été modifié.
La signature numérique n’empêche pas la modification d’une partie, mais une vérification de validation par rapport à la signature numérique échoue si la partie est modifiée de quelque manière que ce soit. L’application peut ensuite prendre des mesures appropriées, par exemple bloquer l’ouverture du composant ou avertir l’utilisateur que le composant a été modifié et n’est pas sécurisé.
PackageRelationships
Une PackageRelationship (« relation ») fournit un mécanisme permettant d’associer des informations supplémentaires au package ou à une partie du package. Une relation est une installation au niveau du package qui peut associer des informations supplémentaires à un composant sans modifier le contenu du composant réel. L’insertion de nouvelles données directement dans le contenu de la partie n’est généralement pas pratique dans de nombreux cas :
Le type réel de la partie et son schéma de contenu n’est pas connu.
Même s’il est connu, le schéma de contenu peut ne pas fournir un moyen d’ajouter de nouvelles informations.
La partie peut être signée électroniquement ou chiffrée, empêchant toute modification.
Les relations de package fournissent un moyen détectable d’ajouter et d’associer des informations supplémentaires à des parties individuelles ou à l’ensemble du package. Les relations de package sont utilisées pour deux fonctions principales :
Définition des relations de dépendance d’une partie à une autre partie.
Définition de relations d’informations qui ajoutent des notes ou d’autres données liées au composant.
Un PackageRelationship offre un moyen rapide et découvrable de définir des dépendances et d’ajouter d’autres informations associées à une partie du package ou au package dans son ensemble.
Relations de dépendances
Les relations de dépendance sont utilisées pour décrire les dépendances qu’une partie effectue à d’autres parties. Par exemple, un package peut contenir une partie HTML qui inclut une ou plusieurs <balises d’image img> . Les balises d’image font référence aux images situées en tant qu’autres parties internes au package ou externes au package (telles que accessibles sur Internet). La création d’un PackageRelationship fichier HTML associé permet de découvrir et d’accéder aux ressources dépendantes rapidement et facilement. Une application de navigateur ou de visionneuse peut accéder directement aux relations de parties et commencer immédiatement à assembler les ressources dépendantes sans connaître le schéma ou analyser le document.
Relations d’informations
À l’instar d’une note ou d’une annotation, il PackageRelationship peut également être utilisé pour stocker d’autres types d’informations à associer à une partie sans avoir à modifier réellement le contenu de la partie proprement dite.
XPS Documents
Le document XPS (XML Paper Specification) est un package qui contient un ou plusieurs documents fixes, ainsi que toutes les ressources et informations requises pour le rendu. XPS est également le format de fichier natif du spouleur d'impression de Windows Vista. Un XpsDocument fichier est stocké dans un jeu de données ZIP standard et peut inclure une combinaison de composants XML et binaires, tels que des fichiers image et police. PackageRelationships est utilisé pour définir les dépendances entre le contenu et les ressources requises pour restituer entièrement le document. La conception XpsDocument offre une solution documentaire unique et haute fidélité qui permet plusieurs utilisations :
Lecture, écriture et stockage de contenu et de ressources de documents fixes sous la forme d’un fichier unique, portable et facile à distribuer.
Affichage de documents avec l’application Visionneuse XPS.
Sortie de documents dans le format de sortie du pool d’impression natif de Windows Vista.
Routage des documents directement vers une imprimante compatible XPS.
Voir aussi
- FixedDocument
- FlowDocument
- XpsDocument
- ZipPackage
- ZipPackagePart
- PackageRelationship
- DocumentViewer
- Texte
- Vue d’ensemble du document de flux
- Vue d’ensemble de l’impression
- Sérialisation et stockage des documents
.NET Desktop feedback