Méthode IXpsOMObjectFactory ::CreatePackageFromStream (xpsobjectmodel.h)
Ouvre un flux qui contient un package XPS et retourne une arborescence d’objets de document XPS instanciée.
Syntaxe
HRESULT CreatePackageFromStream(
[in] IStream *stream,
[in] BOOL reuseObjects,
[out, retval] IXpsOMPackage **package
);
Paramètres
[in] stream
Flux qui contient un package XPS.
[in] reuseObjects
Valeur booléenne qui indique que le logiciel tente d’optimiser l’arborescence d’objets de document en partageant des objets identiques dans toutes les propriétés et tous les enfants.
Valeur | Signification |
---|---|
|
Le logiciel tente d’optimiser l’arborescence d’objets. |
|
Le logiciel ne tente pas d’optimiser l’arborescence d’objets. |
[out, retval] package
Pointeur vers la nouvelle interface IXpsOMPackage qui contient l’arborescence d’objets de document XPS résultante.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles du tableau qui suit. Pour plus d’informations sur les valeurs de retour de l’API de document XPS qui ne sont pas répertoriées dans ce tableau, consultez Erreurs de document XPS.
Code de retour | Description |
---|---|
|
S_OK |
|
stream ou package a la valeur NULL. |
Cette méthode appelle l’API d’empaquetage . Pour plus d’informations sur les valeurs de retour de l’API d’empaquetage, consultez Erreurs d’empaquetage.
Remarques
Cette méthode ne valide pas le contenu des ressources basées sur le flux qu’elle charge à partir du flux dans les objets du modèle modèle XPS. Au lieu de cela, l’application doit valider ces ressources avant de les utiliser.
Cette méthode ne désérialise pas les pages de document ; il désérialise uniquement le package XPS jusqu’aux parties de référence de page. Les pages réelles peuvent être désérialisées à mesure qu’elles sont nécessaires, en appelant la méthode IXpsOMPageReference ::GetPage . Étant donné que les pages ne sont pas désérialisées lorsque GetPage est appelé, il est possible pour cette méthode de retourner S_OK ou, si une tentative de chargement d’une page problématique dans un package XPS est effectuée, de retourner une erreur.
Si vous écrivez un modèle objet XPS immédiatement après y avoir lu un package XPS, une partie du contenu d’origine peut être perdue ou modifiée.
Certaines des modifications qui peuvent se produire dans un tel cas sont répertoriées dans le tableau qui suit :
Fonctionnalité de document | Action |
---|---|
Signatures numériques | Supprimé du document |
Composant DiscardControl | Supprimé du document |
Parties de documents étrangers | Supprimé du document |
Balisage FixedPage | Modifié à partir de l’origine |
Balisage du dictionnaire de ressources | Modifié à partir de l’origine si l’indicateur d’optimisation est défini |
Pour plus d’informations sur l’utilisation de l’interface IXpsOMPackage dans un programme, consultez Créer un modèle objet XPS vide.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | xpsobjectmodel.h |