Méthode IXpsOMPackageWriter ::StartNewDocument (xpsobjectmodel.h)

Ouvre et initialise un nouveau FixedDocument dans le FixedDocumentSequence du package.

Syntaxe

HRESULT StartNewDocument(
  [in] IOpcPartUri                            *documentPartName,
  [in] IXpsOMPrintTicketResource              *documentPrintTicket,
  [in] IXpsOMDocumentStructureResource        *documentStructure,
  [in] IXpsOMSignatureBlockResourceCollection *signatureBlockResources,
  [in] IXpsOMPartUriCollection                *restrictedFonts
);

Paramètres

[in] documentPartName

Pointeur vers une interface IOpcPartUri qui contient le nom de partie du nouveau document.

[in] documentPrintTicket

Pointeur vers une interface IXpsOMPrintTicketResource qui contient le ticket d’impression au niveau du document. S’il n’existe aucun ticket d’impression au niveau du document pour ce package, ce paramètre peut être défini sur NULL. Voir aussi Notes.

[in] documentStructure

Pointeur vers une interface IXpsOMDocumentStructureResource qui contient la ressource de structure de document initiale, si la ressource est disponible ; s’il n’est pas disponible, ce paramètre peut être défini sur NULL.

[in] signatureBlockResources

Pointeur vers une interface IXpsOMSignatureBlockResourceCollection qui contient une collection de signatures numériques à attacher au document. S’il n’y a pas de signatures numériques à attacher, ce paramètre peut être défini sur NULL.

[in] restrictedFonts

Pointeur vers une interface IXpsOMPartUriCollection qui contient les polices qui doivent avoir des relations de police restreintes écrites pour elles. Les données de police ne sont pas écrites tant que AddResource ou Close n’est pas appelé.

Si le document ne contient pas de polices restreintes, ce paramètre peut être défini sur NULL.

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
XPS_E_UNAVAILABLE_PACKAGE
Une erreur grave s’est produite et le contenu du modèle d’exploitation XPS peut être irrécupérable. Certains composants du modèle d’exploitation XPS peuvent toujours être utilisables, mais seulement après avoir été vérifiés. Étant donné que l’état du modèle d’utilisation XPS ne peut pas être prédit une fois cette erreur retournée, tous les composants du modèle d’utilisation XPS doivent être libérés et ignorés.
XPS_E_UNEXPECTED_RESTRICTED_FONT_RELATIONSHIP
La collection de polices restreintes transmise dans restrictedFonts contient une police sans restriction.
 

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 doit être appelée avant qu’AddPage puisse être appelé pour écrire le contenu d’une interface IXpsOMPage .

Immédiatement après l’instanciation de l’interface IXpsOMPackageWriter , le package contient uniquement une partie de séquence de document fixe vide. La première fois que cette méthode est appelée, un composant FixedDocument est ajouté au composant Fixed Document Sequence et la méthode AddPage ajoute des pages à ce composant FixedDocument. Chaque fois que cette méthode est appelée après la première fois, le composant FixedDocument actuel est fermé et un nouveau composant FixedDocument est ouvert et ajouté au composant Fixed Document Sequence. Tous les appels suivants à la méthode AddPage ajoutent des pages au composant FixedDocument le plus récemment ouvert. Cette interface ne prend pas en charge l’ajout de pages à des parties FixedDocument fermées.

Si documentPrintTicket contient un pointeur NULL et que l’enregistreur de package a été créé avec l’entrelacement défini sur XPS_INTERLEAVING_ON, cette méthode crée un ticket d’impression vide au niveau du document, s’il n’en existe pas déjà un. Chaque fois que cette méthode est appelée avec un pointeur NULL dans documentPrintTicket, elle ajoute une relation du nouveau document au ticket d’impression vide. Cela permet de fournir une consommation de streaming plus efficace du package.

Si documentPrintTicket contient un pointeur NULL et que l’enregistreur de package a été créé avec l’entrelacement défini sur XPS_INTERLEAVING_OFF, aucun ticket d’impression vide n’est créé.

Note La création d’un document dans le package ne crée pas automatiquement une miniature pour le document XPS. Pour créer une miniature du document XPS, utilisez l’interface IXpsOMThumbnailGenerator .
 

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

IOpcPartUri

IXpsOMDocumentStructureResource

IXpsOMPackageWriter

IXpsOMPackageWriter3D

IXpsOMPrintTicketResource

IXpsOMSignatureBlockResourceCollection

Erreurs d’empaquetage

Utilisation de l’interface IXpsOMPackageWriter

XML Paper Specification

Erreurs de document XPS