Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A interface IXpsOMPackageWriter cria um arquivo de documento XPS no qual os aplicativos podem gravar o conteúdo das interfaces IXpsOMPage de um OM XPS. A interface IXpsOMPackageWriter é mais útil quando o conteúdo do documento está sendo processado ou criado sequencialmente. Ao contrário dos métodos WriteToFile e WriteToStream da interface IXpsOMPackage , para que a interface IXpsOMPackageWriter não seja usada nem o FixedDocument inteiro nem o FixedDocumentSequence precisa ser concluído.
Visão geral
A interface IXpsOMPackageWriter grava uma página de cada vez, desde a primeira página de um documento XPS até a última. A interface pode ser usada para criar arquivos de documento XPS simples e também arquivos de documento XPS complexos que contêm mais de um FixedDocument no FixedDocumentSequence. Em arquivos de documento XPS complexos, os FixedDocuments também são criados em sequência, começando com o primeiro FixedDocument no FixedDocumentSequence. A interface IXpsOMPackageWriter não dá suporte à criação de conteúdo do documento em ordem aleatória. Use-o, por exemplo, para criar um relatório sequencial ou para executar o processamento em um filtro de driver onde o conteúdo do documento é enviado ao driver de forma sequencial.
Revisão de terminologia
Um arquivo de documento XPS é um pacote OPC (Open Packaging Conventions) que está em conformidade com a Especificação de Papel XML. Portanto, tecnicamente, a interface IXpsOMPackageWriter cria um pacote OPC, mas é um pacote OPC que está em conformidade com a Especificação de Papel XML. Por esse motivo, em discussões sobre documentos XPS, os termos de documento XPS e pacote geralmente são usados de forma intercambiável.
O pacote criado pela interface IXpsOMPackageWriter conterá os componentes de documento XPS necessários: fixedDocumentSequence, pelo menos um FixedDocument e pelo menos um FixedPage. O FixedDocumentSequence é criado quando a interface IXpsOMPackageWriter é instanciada. Um FixedDocument é criado sempre que IXpsOMPackageWriter::StartNewDocument é chamado, e uma FixedPage é criada sempre que IXpsOMPackageWriter::AddPage é chamado. Como a interface grava o conteúdo do documento sequencialmente, o método AddPage adiciona a página ao FixedDocument criado mais recentemente.
Usando a interface IXpsOMPackageWriter
O procedimento a seguir descreve como criar um arquivo de documento XPS usando a interface IXpsOMPackageWriter . O procedimento não descreve como criar uma instância de uma interface IXpsOMPage e seu conteúdo. Para obter mais informações sobre o IXpsOMPage e a adição de conteúdo a uma página, consulte interfaces de página OM do XPS e os tópicos listados na seção Ver Também.
Criando um documento
Instancie uma interface IXpsOMPackageWriter .
Isso cria um FixedDocumentSequence vazio no pacote.
- Para criar um documento XPS em um arquivo, chame IXpsOMObjectFactory::CreatePackageWriterOnFile.
- Para criar um documento XPS em um fluxo, chame IXpsOMObjectFactory::CreatePackageWriterOnStream.
Inicie um novo documento no pacote chamando IXpsOMPackageWriter::StartNewDocument.
Antes de adicionar uma página, chame IXpsOMPackageWriter::StartNewDocument para adicionar um FixedDocument ao FixedDocumentSequence que foi criado na etapa 1.
Adicionar conteúdo.
- Para adicionar um novo FixedPage ao documento, chame IXpsOMPackageWriter::AddPage, passando um ponteiro para a interface IXpsOMPage que tem o conteúdo do FixedPage que você deseja adicionar.
- Para criar um novo FixedDocument no FixedDocumentSequence, chame IXpsOMPackageWriter::StartNewDocument.
Feche o pacote e seu conteúdo chamando IXpsOMPackageWriter::Close.
Recursos avançados
Os métodos da interface IXpsOMPackageWriter também dão suporte à adição de recursos, miniaturas e tíquetes de impressão. Esses componentes de documento podem ser adicionados nos níveis de pacote, FixedDocumentSequence, FixedDocument e FixedPage. Para obter mais informações sobre como usar essa interface para impressão, consulte Imprimir um OM XPS.
Tópicos relacionados