Condividi tramite


Metodo IXpsOMObjectFactory::CreatePackageFromStream (xpsobjectmodel.h)

Apre un flusso che contiene un pacchetto XPS e restituisce un albero degli oggetti documento XPS creato in un'istanza.

Sintassi

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

Parametri

[in] stream

Flusso che contiene un pacchetto XPS.

[in] reuseObjects

Valore booleano che indica che il software consiste nel tentare di ottimizzare l'albero degli oggetti documento condividendo oggetti identici in tutte le proprietà e gli elementi figlio.

Valore Significato
VERO
Il software tenterà di ottimizzare l'albero degli oggetti.
FALSE
Il software non tenterà di ottimizzare l'albero degli oggetti.

[out, retval] package

Puntatore alla nuova interfaccia IXpsOMPackage contenente l'albero degli oggetti documento XPS risultante.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a quelli della tabella che segue. Per informazioni sui valori restituiti dall'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_POINTER
stream o package è NULL.
 

Questo metodo chiama l'API Creazione pacchetti . Per informazioni sui valori restituiti dall'API packaging, vedere Errori di creazione di pacchetti.

Commenti

Questo metodo non convalida il contenuto di risorse basate su flusso caricate dal flusso negli oggetti di XPS OM. L'applicazione deve invece convalidare queste risorse prima di usarle.

Questo metodo non deserializza le pagine del documento; deserializza solo il pacchetto XPS fino alle parti di riferimento della pagina. Le pagine effettive possono essere deserializzate in base alle esigenze, chiamando il metodo IXpsOMPageReference::GetPage . Poiché le pagine non vengono deserializzate quando viene chiamato GetPage , è possibile che questo metodo restituisca S_OK o, se viene eseguito un tentativo di caricare una pagina problematica in un pacchetto XPS, per restituire un errore.

Se si scrive un file XPS OM immediatamente dopo aver letto un pacchetto XPS in esso, alcuni dei contenuti originali potrebbero essere persi o modificati.

Alcune delle modifiche che possono verificarsi in questo caso sono elencate nella tabella seguente:

Funzionalità documento Azione
Firme digitali Rimosso dal documento
Parte DiscardControl Rimosso dal documento
Parti del documento esterno Rimosso dal documento
Markup FixedPage Modificato dall'originale
Markup del dizionario risorse Modificato dall'originale se il flag di ottimizzazione è impostato
 

Per informazioni sull'uso dell'interfaccia IXpsOMPackage in un programma, vedere Creare un OM XPS vuoto.

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione xpsobjectmodel.h

Vedi anche

Creare un file XPS OM vuoto

IXpsOMObjectFactory

IXpsOMPackage

Errori di creazione pacchetti

XML Paper Specification

Errori del documento XPS