Utilisation de l’interface IXpsOMPackageWriter
L’interface IXpsOMPackageWriter crée un fichier de document XPS dans lequel les applications peuvent écrire le contenu des interfaces IXpsOMPage d’un modèle OM XPS. L’interface IXpsOMPackageWriter est particulièrement utile lorsque le contenu du document est traité ou créé de manière séquentielle. Contrairement aux méthodes WritetoFile et WriteToStream de l’interface IXpsOMPackage , pour que l’interface IXpsOMPackageWriter soit utilisée, l’intégralité du FixedDocument et du FixedDocumentSequence ne doit pas être terminée.
Vue d’ensemble
L’interface IXpsOMPackageWriter écrit une page à la fois, de la première page d’un document XPS au dernier. L’interface peut être utilisée pour créer des fichiers de document XPS simples, ainsi que des fichiers de document XPS complexes contenant plus d’un FixedDocument dans le FixedDocumentSequence. Dans les fichiers de document XPS complexes, les FixedDocuments sont également créés en séquence, en commençant par le premier FixedDocument dans le FixedDocumentSequence. L’interface IXpsOMPackageWriter ne prend pas en charge la création de contenu de document dans un ordre aléatoire. Utilisez-la, par exemple, pour créer un rapport séquentiel ou pour effectuer un traitement dans un filtre de pilote de périphérique dans lequel le contenu du document est transmis au pilote en séquence.
Revue terminologique
Un fichier de document XPS est un package OPC (Open Packaging Conventions) qui est conforme à la spécification Paper XML. Techniquement, l’interface IXpsOMPackageWriter crée un package OPC, mais il s’agit d’un package OPC conforme à la spécification Paper XML. C’est pourquoi, dans les discussions sur les documents XPS, les termes document XPS et package sont souvent utilisés indifféremment.
Le package créé par l’interface IXpsOMPackageWriter contient les composants de document XPS requis : un FixedDocumentSequence, au moins un FixedDocument et au moins un FixedPage. Le FixedDocumentSequence est créé lors de l’instanciation de l’interface IXpsOMPackageWriter . Un FixedDocument est créé chaque fois que IXpsOMPackageWriter :: StartNewDocument est appelé, et un FixedPage est créé chaque fois que IXpsOMPackageWriter :: AddPage est appelé. Étant donné que l’interface écrit le contenu du document de manière séquentielle, la méthode AddPage ajoute la page au dernier créé.
Utilisation de l’interface IXpsOMPackageWriter
La procédure suivante décrit comment créer un fichier de document XPS à l’aide de l’interface IXpsOMPackageWriter . La procédure ne décrit pas comment instancier une interface IXpsOMPage et son contenu. Pour plus d’informations sur IXpsOMPage et l’ajout de contenu à une page, consultez interfaces de page OM XPS et les rubriques figurant dans la section Voir aussi.
Création d’un document
Instanciez une interface IXpsOMPackageWriter .
Cela crée un FixedDocumentSequence vide dans le package.
- Pour créer un document XPS dans un fichier, appelez IXpsOMObjectFactory :: CreatePackageWriterOnFile.
- Pour créer un document XPS dans un flux, appelez IXpsOMObjectFactory :: CreatePackageWriterOnStream.
Démarrez un nouveau document dans le package en appelant IXpsOMPackageWriter :: StartNewDocument.
Avant d’ajouter une page, appelez IXpsOMPackageWriter :: StartNewDocument pour ajouter un FixedDocument au FixedDocumentSequence créé à l’étape 1.
Ajoutez du contenu.
- Pour ajouter un nouvel FixedPage au document, appelez IXpsOMPackageWriter :: AddPage, en lui transmettant un pointeur vers l’interface IXpsOMPage dont vous souhaitez ajouter le contenu de FixedPage.
- Pour créer un FixedDocument dans le FixedDocumentSequence, appelez IXpsOMPackageWriter :: StartNewDocument.
Fermez le package et son contenu en appelant IXpsOMPackageWriter :: Close.
Fonctionnalités avancées
Les méthodes de l’interface IXpsOMPackageWriter prennent également en charge l’ajout de ressources, de miniatures et de tickets d’impression. Ces composants de document peuvent être ajoutés aux niveaux package, FixedDocumentSequence, FixedDocument et FixedPage. Pour plus d’informations sur l’utilisation de cette interface pour l’impression, consultez imprimer un modèle OM XPS.