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 |
---|---|
|
Il software tenterà di ottimizzare l'albero degli oggetti. |
|
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 |
---|---|
|
Il metodo è riuscito. |
|
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 |