Partager via


Méthode IXpsOMObjectFactory ::CreatePackageWriterOnFile (xpsobjectmodel.h)

Ouvre un fichier permettant d’écrire le contenu d’un om XPS dans un package XPS.

Syntaxe

HRESULT CreatePackageWriterOnFile(
  [in]          LPCWSTR                   fileName,
  [in]          LPSECURITY_ATTRIBUTES     securityAttributes,
  [in]          DWORD                     flagsAndAttributes,
  [in]          BOOL                      optimizeMarkupSize,
  [in]          XPS_INTERLEAVING          interleaving,
  [in]          IOpcPartUri               *documentSequencePartName,
  [in]          IXpsOMCoreProperties      *coreProperties,
  [in]          IXpsOMImageResource       *packageThumbnail,
  [in]          IXpsOMPrintTicketResource *documentSequencePrintTicket,
  [in]          IOpcPartUri               *discardControlPartName,
  [out, retval] IXpsOMPackageWriter       **packageWriter
);

Paramètres

[in] fileName

Nom du fichier à créer.

[in] securityAttributes

Structure SECURITY_ATTRIBUTES , qui contient deux membres distincts mais associés :

  • lpSecurityDescriptor : descripteur de sécurité facultatif
  • bInheritHandle : valeur booléenne qui détermine si le handle retourné peut être hérité par les processus enfants
Si lpSecurityDescriptor a la valeur NULL, un descripteur de sécurité par défaut est attribué au fichier ou à l’appareil associé au handle retourné.

Pour plus d’informations sur securityAttributes, consultez CreateFile.

[in] flagsAndAttributes

Spécifie les paramètres et les attributs du fichier à créer. Pour la plupart des fichiers, la valeur FILE_ATTRIBUTE_NORMAL peut être utilisée.

Pour plus d’informations sur ce paramètre, consultez CreateFile .

[in] optimizeMarkupSize

Valeur booléenne qui indique si le balisage du document sera optimisé pour la taille lorsque le contenu du modèle d’activité XPS sera écrit dans le package XPS.

Valeur Signification
VRAI
L’enregistreur de package essaiera d’optimiser le balisage pour une taille minimale.
FAUX
L’enregistreur de package n’essaiera d’effectuer aucune optimisation.

[in] interleaving

Spécifie si le contenu du modèle de gestion XPS sera entrelacé lorsqu’il sera écrit dans le fichier.

[in] documentSequencePartName

Interface IOpcPartUri qui contient le nom de partie de la séquence de document dans le nouveau fichier.

[in] coreProperties

Interface IXpsOMCoreProperties qui contient les propriétés principales du document à attribuer au nouveau fichier. Ce paramètre peut être défini sur NULL.

[in] packageThumbnail

Interface IXpsOMImageResource qui contient l’image miniature à affecter au nouveau fichier. Ce paramètre peut être défini sur NULL.

[in] documentSequencePrintTicket

Interface IXpsOMPrintTicketResource qui contient le ticket d’impression au niveau du package à affecter au nouveau fichier. Ce paramètre peut être défini sur NULL.

[in] discardControlPartName

Interface IOpcPartUri qui contient le nom de la partie de contrôle ignorer. Ce paramètre peut être défini sur NULL.

[out, retval] packageWriter

Pointeur vers la nouvelle interface IXpsOMPackageWriter créée par cette méthode.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, celles de la table 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
S_OK
E_POINTER
filename, documentSequencePartName ou packageWriter a la valeur NULL.
XPS_E_NO_CUSTOM_OBJECTS
coreProperties, documentSequencePrintTicket ou packageThumbnail ne pointe pas vers une implémentation d’interface reconnue. L’implémentation personnalisée des interfaces d’API document XPS n’est pas prise en charge.
 

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

Le fichier est ouvert et initialisé et l’interface IXpsOMPackageWriter retournée est ensuite utilisée pour écrire des types de contenu, des relations de package, des propriétés principales, des ressources de séquence de documents et des relations de séquence de documents.

Si documentSequencePrintTicket a la valeur NULL et que la valeur de l’entrelacement est XPS_INTERLEAVING_ON, cette méthode crée un ticket d’impression vide au niveau du travail et ajoute une relation au ticket d’impression vide. Cela permet de fournir une consommation de streaming plus efficace du package.

Si documentSequencePrintTicket a la valeur NULL et que la valeur de l’entrelacement est XPS_INTERLEAVING_OFF, aucun ticket d’impression vide n’est créé.

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 Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête xpsobjectmodel.h

Voir aussi

CreateFile

IXpsOMCoreProperties

IXpsOMImageResource

IXpsOMObjectFactory

IXpsOMPackageWriter

IXpsOMPrintTicketResource

Erreurs d’empaquetage

SECURITY_ATTRIBUTES

XML Paper Specification

Erreurs de document XPS