Partilhar via


Método IXpsOMObjectFactory::CreatePackageFromStream (xpsobjectmodel.h)

Abre um fluxo que contém um pacote XPS e retorna uma árvore de objetos de documento XPS instanciada.

Sintaxe

HRESULT CreatePackageFromStream(
  [in]          IStream       *stream,
  [in]          BOOL          reuseObjects,
  [out, retval] IXpsOMPackage **package
);

Parâmetros

[in] stream

O fluxo que contém um pacote XPS.

[in] reuseObjects

O valor booliano que indica que o software deve tentar otimizar a árvore de objetos do documento compartilhando objetos idênticos em todas as propriedades e filhos.

Value Meaning
TRUE
O software tentará otimizar a árvore de objetos.
FALSE
O software não tentará otimizar a árvore de objetos.

[out, retval] package

Um ponteiro para a nova interface IXpsOMPackage que contém a árvore de objetos de documento XPS resultante.

Valor de retorno

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter informações sobre valores retornados da API de documento XPS que não estão listados nesta tabela, consulte Erros de documento XPS.

Código de retorno Description
S_OK
O método foi bem-sucedido.
E_POINTER
o fluxo ou o pacote é NULL.
 

Esse método chama a API de Empacotamento . Para obter informações sobre os valores retornados da API de Empacotamento, consulte Erros de Empacotamento.

Observações

Esse método não valida o conteúdo de recursos baseados em fluxo que ele carrega do fluxo para os objetos do OM XPS. Em vez disso, o aplicativo deve validar esses recursos antes de usá-los.

Esse método não desserializa as páginas do documento; ele só desserializa o pacote XPS até as partes de referência da página. As páginas reais podem ser desserializadas conforme necessárias, chamando o método IXpsOMPageReference::GetPage . Como as páginas não são desserializadas quando GetPage é chamado, é possível que esse método retorne S_OK ou, se for feita uma tentativa de carregar uma página problemática em um pacote XPS, retorne um erro.

Se você escrever um OM XPS imediatamente após ler um pacote XPS nele, parte do conteúdo original poderá ser perdido ou alterado.

Algumas das alterações que podem ocorrer nesse caso são listadas na tabela a seguir:

Recurso de documento Ação
Assinaturas digitais Removido do documento
Parte DiscardControl Removido do documento
Partes de documento estrangeiras Removido do documento
Marcação de FixedPage Modificado do original
Marcação do dicionário de recursos Modificado do original se o sinalizador de otimização estiver definido
 

Para obter informações sobre como usar a interface IXpsOMPackage em um programa, consulte Criar um OM XPS em branco.

Requirements

Requirement Value
Cliente mínimo suportado Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo compatível Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
Header xpsobjectmodel.h

Consulte também

Criar um OM XPS em branco

IXpsOMObjectFactory

IXpsOMPackage

Erros de empacotamento

Especificação de papel XML

Erros de documento XPS