Uso de la interfaz IXpsOMPackageWriter
La interfaz IXpsOMPackageWriter crea un archivo de documento XPS en el que las aplicaciones pueden escribir el contenido de las interfaces IXpsOMPage de un OM XPS. La interfaz IXpsOMPackageWriter es más útil cuando el contenido del documento se procesa o crea secuencialmente. A diferencia de los métodos WriteToFile y WriteToStream de la interfaz IXpsOMPackage, para que la interfaz IXpsOMPackageWriter pueda utilizarse no es necesario que elemento FixedDocument completo ni FixedDocumentSequence estén terminados.
Información general
La interfaz IXpsOMPackageWriter escribe una página a la vez, desde la primera página de un documento XPS hasta la última. La interfaz se puede usar para crear archivos de documento XPS simples y también archivos de documento XPS complejos que contienen más de un FixedDocument en FixedDocumentSequence. En archivos de documento XPS complejos, los elementos FixedDocuments también se crean en secuencia, empezando por el primer FixedDocument en FixedDocumentSequence. La interfaz IXpsOMPackageWriter no admite la creación de contenido del documento en orden aleatorio. Úselo, por ejemplo, para crear un informe secuencial o para realizar el procesamiento en un filtro de controlador de dispositivo donde el contenido del documento se envía al controlador en secuencia.
Revisión de terminología
Un archivo de documento XPS es un paquete OPC (Open Packaging Conventions) que se ajusta a la especificación XML Paper Specification. Por lo tanto, técnicamente, la interfaz IXpsOMPackageWriter crea un paquete OPC, pero es un paquete OPC que se ajusta a la especificación XML Paper Specification. Por este motivo, en los debates sobre los documentos XPS, los términos documento y paquete XPS a menudo se usan indistintamente.
El paquete creado por la interfaz IXpsOMPackageWriter contendrá los componentes de documento XPS necesarios: un FixedDocumentSequence, al menos un FixedDocument y al menos un FixedPage. Se crea un FixedDocumentSequence cuando se crea una instancia de la interfaz IXpsOMPackageWriter. Se crea un FixedDocument cada vez que se llama a IXpsOMPackageWriter::StartNewDocument y se crea un FixedPage cada vez que se llama a IXpsOMPackageWriter::AddPage. Dado que la interfaz escribe el contenido del documento secuencialmente, el método AddPage agrega la página al FixedDocument creado más recientemente.
Uso de la interfaz IXpsOMPackageWriter
En el procedimiento siguiente se describe cómo crear un archivo de documento XPS mediante la interfaz IXpsOMPackageWriter. El procedimiento no describe cómo crear una instancia de una interfaz IXpsOMPage y su contenido. Para obtener más información sobre IXpsOMPage y agregar contenido a una página, vea Interfaces de página de OM XPS y los temas enumerados en la sección Ver también.
Creación de un documento
Cree una instancia de una interfaz IXpsOMPackageWriter.
Esto crea un elemento FixedDocumentSequence vacío en el paquete.
- Para crear un documento XPS en un archivo, llame a IXpsOMObjectFactory::CreatePackageWriterOnFile.
- Para crear un documento XPS en una secuencia, llame a IXpsOMObjectFactory::CreatePackageWriterOnStream.
Inicie un nuevo documento en el paquete llamando a IXpsOMPackageWriter::StartNewDocument.
Antes de agregar una página, llame a IXpsOMPackageWriter::StartNewDocument para agregar un FixedDocument al FixedDocumentSequence que se creó en el paso 1.
Agregue contenido.
- Para agregar un nuevo FixedPage al documento, llame a IXpsOMPackageWriter::AddPage y pase un puntero a la interfaz IXpsOMPage que tenga el contenido de FixedPage que desea agregar.
- Para crear un nuevo FixedDocument en FixedDocumentSequence, llame a IXpsOMPackageWriter::StartNewDocument.
Cierre el paquete y su contenido llamando a IXpsOMPackageWriter::Close.
Características avanzadas
Los métodos de la interfaz IXpsOMPackageWriter también admiten la adición de recursos, miniaturas e incidencias de impresión. Estos componentes de documento se pueden agregar en los niveles Package, FixedDocumentSequence, FixedDocument y FixedPage. Para obtener más información sobre el uso de esta interfaz para imprimir, vea Impresión de un OM XPS.
Temas relacionados