Compartilhar via


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

Abre um fluxo que contém um pacote XPS e retorna uma árvore de objeto 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.

Valor Significado
VERDADE
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.

Retornar valor

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 Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
stream ou package é 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.

Comentários

Esse método não valida o conteúdo de nenhum recurso baseado 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 fixedPage Modificado do original
Marcação do dicionário de recursos Modificado de 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.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte 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]
Plataforma de Destino Windows
Cabeçalho xpsobjectmodel.h

Confira também

Criar um OM XPS em branco

IXpsOMObjectFactory

IXpsOMPackage

Erros de empacotamento

Especificação de Papel XML

Erros de documento XPS