Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Documents dans WPF

Windows Presentation Foundation (WPF) offre une large gamme de fonctionnalités liées aux documents qui permettent de créer du contenu de grande qualité conçu pour être accédé et lu plus facilement que sur les générations précédentes de Windows. En plus d'une amélioration des capacités et de la qualité, WPF fournit également des services intégrés pour l'affichage, le conditionnement et la sécurité des documents. Cette rubrique fournit une introduction sur les types et le conditionnement des documents WPF.

Cette rubrique comprend les sections suivantes.

WPF divise les documents en deux grandes catégories basées sur leur utilisation prévue ; ces catégories de documents sont appelées « documents fixes » et « documents dynamiques ».

Les documents fixes sont prévus pour les applications qui requièrent une présentation WYSIWYG ("What You See Is What You Get, "tel écrit, tel écran") précise, indépendamment du matériel d'affichage ou d'impression utilisé. Les documents fixes sont principalement utilisés pour la Publication Assistée par Ordinateur (PAO),le traitement de texte et la présentation d'un formulaire, où le respect de la conception de la page d'origine est essentiel. Dans le cadre de sa disposition, un document fixe conserve l'emplacement de position précis des éléments de contenu indépendamment du périphérique d'affichage ou d'impression utilisé. Par exemple, un document fixe affiché en 96 points par pouce (ppp) apparaît de la même manière que lorsqu'il est imprimé sur une imprimante laser 600 ppp ou une photocomposeuse 4800 ppp. Dans tous les cas, la disposition de la page reste la même, pendant que la qualité du document s'optimise selon les capacités de chaque périphérique.

En comparaison, les documents dynamiques sont conçus pour optimiser l'affichage et la lisibilité et trouvent leur meilleure utilisation lorsque la facilité de lecture est le scénario principal de consommation du document. Au lieu d'avoir une disposition prédéfinie, ces documents ajustent et refluent dynamiquement leur contenu en fonction des variables d'exécution telles que la taille de la fenêtre, la résolution du périphérique et les préférences de l'utilisateur (en option). Une page Web est un exemple simple de page dynamique où le contenu est mis en forme dynamiquement pour s'adapter à la fenêtre active. Les documents dynamiques optimisent l'expérience d'affichage et de lecture pour l'utilisateur, en fonction de l'environnement au moment de l'exécution. Par exemple, le même document dynamique se remettra en forme dynamiquement pour une lisibilité optimale sur un écran haute résolution de 19 pouces ou un petit écran d'ANP de 2x3 pouces. En outre, les documents dynamiques possèdent plusieurs fonctionnalités intégrées, par exemple la recherche, les modes d'affichage, qui optimisent la lisibilité et permettent de changer la taille et l'apparence des polices. Consultez Vue d'ensemble des documents dynamiques pour des illustrations, des exemples et plus d'informations sur les documents dynamiques.

Le .NET Framework fournit un ensemble de contrôles pré-conçus qui simplifient l'utilisation de documents fixes et dynamiques et de documents de texte dans votre application. L'affichage du contenu d'un document fixe est pris en charge à l'aide du contrôle DocumentViewer. L'affichage du contenu d'un document dynamique est pris en charge par trois contrôles différents : FlowDocumentReader, FlowDocumentPageViewer et FlowDocumentScrollViewer qui mappent sur différents scénarios utilisateur (voir les sections ci-dessous). D'autres contrôles WPF fournissent une disposition simplifiée pour la prise en charge les utilisations générales de texte (voir Texte dans l'interface utilisateur ci-dessous).

ms748388.collapse_all(fr-fr,VS.110).gifContrôle de document fixe - DocumentViewer

Le contrôle DocumentViewer est conçu pour afficher le contenu d'un FixedDocument. Le contrôle DocumentViewer fournit une interface utilisateur intuitive qui fournit une prise en charge intégrée pour les opérations courantes telles que la sortie imprimante, la copie dans le Presse-papiers, le zoom et les fonctions de recherche de texte. Le contrôle fournit l'accès 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 la modification complète ou partielle du style, qui permet au contrôle d'être intégré visuellement dans pratiquement n'importe quelle application ou environnement.

DocumentViewer est conçu pour afficher le contenu en lecture seule, l'édition ou la modification de contenu n'est pas disponible ni pris en charge.

ms748388.collapse_all(fr-fr,VS.110).gifContrôles de document dynamique

Remarque : pour plus d'informations sur les fonctionnalités des documents dynamiques et sur la manière de les créer, consultez Vue d'ensemble des documents dynamiques.

L'affichage du contenu d'un document fixe est pris en charge par trois contrôles : FlowDocumentReader, FlowDocumentPageViewer et FlowDocumentScrollViewer.

ms748388.collapse_all(fr-fr,VS.110).gifFlowDocumentReader

FlowDocumentReader inclut des fonctionnalités qui permettent à l'utilisateur de choisir dynamiquement entre plusieurs modes d'affichage : mode d'affichage page unique (page par page), deux pages à la fois (format livre ouvert) et mode d'affichage défilement continu (sans marge inférieure). Pour plus d'informations sur les modes d'affichage, consultez FlowDocumentReaderViewingMode. Si vous n'avez pas besoin de basculer dynamiquement entre les différents modes d'affichage, FlowDocumentPageViewer et FlowDocumentScrollViewer fournissent des versions plus allégées d'afficheurs de contenu dynamique qui sont réglées sur un mode d'affichage particulier.

ms748388.collapse_all(fr-fr,VS.110).gifFlowDocumentPageViewer et FlowDocumentScrollViewer

FlowDocumentPageViewer affiche le contenu en mode page par page, alors que FlowDocumentScrollViewer affiche le contenu en mode de défilement continu. FlowDocumentPageViewer et FlowDocumentScrollViewer correspondent chacun à un mode d'affichage particulier. En revanche, FlowDocumentReader inclut des fonctionnalités qui permettent à l'utilisateur de choisir dynamiquement entre plusieurs modes d'affichage (tels que ceux fournis par l'énumération FlowDocumentReaderViewingMode), mais qui en font une application qui consomment beaucoup plus de 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 apparaît si nécessaire. L'interface utilisateur par défaut pour FlowDocumentScrollViewer n'inclut pas de barre d'outils ; toutefois, vous pouvez utiliser la propriété IsToolBarVisible pour activer une barre d'outils intégrée.

ms748388.collapse_all(fr-fr,VS.110).gifTexte dans l'interface utilisateur

En plus d'ajouter du texte aux documents, vous pouvez bien évidemment utiliser du texte dans l'interface utilisateur de l'application, notamment dans les formulaires. WPF inclut plusieurs contrôles pour dessiner le texte à l'écran. Chaque contrôle est ciblé sur un scénario différent et dispose de sa propre liste de fonctionnalités et limitations. En général, l'élément TextBlock doit être utilisé lorsqu'une prise en charge de texte limitée est requise, par exemple pour une courte phrase dans une interface utilisateur (UI). Label peut être utilisé lorsqu'une prise en charge de texte minimale est requise. Pour plus d'informations, consultez Vue d'ensemble de TextBlock.

Les API System.IO.Packaging offrent un moyen efficace d'organiser les données d'application, le contenu de document et les ressources associées dans un conteneur unique facile d'accès, portable et facile à distribuer. Un fichier ZIP est un exemple d'un type de Package capable de contenir plusieurs objets dans une seule unité. Les API de conditionnement fournissent une implémentation ZipPackage par défaut conçue pour utiliser une norme Open Packaging Conventions avec une architecture de fichiers XML et ZIP. Les API de conditionnement WPF simplifient la création de packages, ainsi que le stockage et l'accès aux objets s'y trouvant. Un objet stocké dans un Package est référencé sous le nom de PackagePart ("partie"). Les packages peuvent également inclure des certificats signés numériquement pouvant être utilisés pour identifier le créateur d'une partie, et pour valider que les contenus d'un package n'ont pas été modifiés. Les packages comprennent également une fonctionnalité de PackageRelationship qui permet d'ajouter des informations supplémentaires à un package ou d'associer avec des parties spécifiques sans modifier réellement le contenu des parties existantes. Les services de package prennent aussi en charge Gestion des droits (RM, Rights Management) Microsoft Windows.

L'architecture de package WPF sert de base à de nombreuses technologies clés :

  • Documents XPS conformes au type XML Paper Specification (XPS).

  • Documents au format Microsoft Office « 12 » Open XML (.docx).

  • Formats de stockage personnalisés pour votre propre conception d'application.

En fonction des APIs de packaging, un XpsDocument est spécialement conçu pour stocker du contenu de documents fixes WPF. Un XpsDocument est un document autonome qui peut être ouvert dans une visionneuse, affiché dans un contrôle DocumentViewer, routé vers un spoule d'impression, ou envoyé directement sur une imprimante compatible avec le format XPS.

Les sections suivantes fournissent des informations supplémentaires sur les API Package et XpsDocument fournies avec WPF.

ms748388.collapse_all(fr-fr,VS.110).gifComposants d'un package

Les APIs de conditionnement WPF permettent d'organiser les données et documents d'une application dans une seule unité portable. Un fichier ZIP est l'un des types de package les plus courants et il s'agit du type de package par défaut fourni avec WPF. Package proprement dit est une classe abstraite à partir de laquelle ZipPackage est implémenté à l'aide d'une architecture de fichiers ZIP et XML standard ouverte. La méthode Open utilise ZipPackage pour créer et utiliser les fichiers ZIP par défaut. Un package peut contenir trois types d'éléments de base :

PackagePart

Contenu d'application, données, documents et fichiers de ressources.

PackageDigitalSignature

Certificat X.509 pour l'identification, l'authentification et la validation.

PackageRelationship

Des informations ajoutées relatives au package ou à une partie spécifique.

ms748388.collapse_all(fr-fr,VS.110).gifPackageParts

Une PackagePart (« partie ») est une classe abstraite qui fait référence à un objet stocké dans un Package. Dans un fichier ZIP, les éléments du package correspondent aux fichiers individuels stockés dans le fichier. ZipPackagePart fournit l'implémentation par défaut pour les objets sérialisables stockés dans un ZipPackage. Similaire à un système de fichiers, les parties contenues dans le package sont triées en répertoires hiérarchiques ou « de type dossier ». En utilisant les APIs de conditionnement WPF, les applications peuvent écrire, stocker et lire plusieurs objets PackagePart à l'aide d'un conteneur de fichier ZIP unique.

ms748388.collapse_all(fr-fr,VS.110).gifPackageDigitalSignatures

Pour des raisons de sécurité, une PackageDigitalSignature (« signature numérique ») peut être associée aux parties dans un package. Une PackageDigitalSignature incorpore un 509 qui fournit deux fonctionnalités :

  1. Identifie et authentifie l'expéditeur de la partie.

  2. Valide que la partie n'a pas été modifiée.

La signature numérique n'empêche pas la modification de la partie, mais un contrôle de validation contre la signature numérique échoue si la partie est modifiée d'une façon ou d'une autre. L'application exécute alors l'action appropriée : par exemple, bloquer l'ouverture de la partie, ou notifier l'utilisateur que la partie a été modifiée et n'est pas sécurisée.

ms748388.collapse_all(fr-fr,VS.110).gifPackageRelationships

Une PackageRelationship ("relation") fournit un mécanisme permettant d'associer des informations supplémentaires avec le package ou une partie du package. Une relation est une fonctionnalité de package qui peut associer des informations supplémentaires avec une partie sans modifier le contenu actuel de la partie. L'insertion directe de nouvelles données dans le contenu de la partie n'est généralement pas très pratique dans de nombreux cas :

  • Le type actuel de la partie et son schéma de contenu ne sont pas connus.

  • Même s'il est connu, le schéma de contenu peut ne pas fournir de moyen d'ajouter des informations supplémentaires.

  • La partie peut être signée numériquement 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 avec des parties individuelles ou le package complet. Les relations de package sont utilisées pour deux fonctions principales :

  1. Définir les relations de dépendance d'une partie à l'autre.

  2. Définir des relations d'information qui ajoutent des notes ou d'autres données relatives à la partie.

Une PackageRelationship fournit un moyen rapide et détectable de détection des dépendances et d'ajout d'informations associées à tout ou partie du package.

ms748388.collapse_all(fr-fr,VS.110).gifRelations de dépendance

Les relations de dépendance sont utilisées pour décrire les dépendances qu'une partie crée sur d'autres parties. Par exemple, un package peut contenir une partie HTML comprenant une ou plusieurs balises d'image <img>. Les balises d'image font référence à des images situées sur d'autres parties internes ou externes au package (comme étant accessibles sur Internet). La création d'une PackageRelationship associée avec un fichier HTML accélère et facilite la découverte et l'accès des ressources dépendantes. Une application de navigation ou de visionnage peut accéder directement aux relations de parties et commencer immédiatement l'assemblage des ressources dépendantes sans connaître le schéma ou analyser le document.

ms748388.collapse_all(fr-fr,VS.110).gifRelations d'informations

Similaire à une note ou annotation, une PackageRelationship peut également être utilisée pour stocker d'autres types d'informations à associer à une partie, sans avoir besoin de réellement modifier le contenu de la partie même.

Un document XML Paper Specification (XPS) est un package qui contient un ou plusieurs documents fixes avec toutes les ressources et informations nécessaires pour le rendu. XPS est également le format de fichier de spoule d'impression Windows Vista natif. Un XpsDocument est stocké dans le dataset ZIP standard et peut comprendre une combinaison de composants XML et binaires, tels que des fichiers d'image et de police. Des PackageRelationships sont utilisés pour définir les dépendances entre le contenu et les ressources nécessaires pour afficher le document. La conception du XpsDocument offre une solution haute fidélité de document unique prenant en charge plusieurs utilisations :

  • Lecture, écriture et stockage de contenu et de ressources de document fixe en tant que fichier unique, portable et facile à distribuer.

  • Affichage de documents avec l'application de visionneuse XPS.

  • Copie de documents au format de sortie natif du spoule d'impression de Windows Vista.

  • Routage direct de documents vers une imprimante compatible avec le format XPS.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.