Condividi tramite


Metodo IXpsOMObjectFactory::CreatePackageFromFile (xpsobjectmodel.h)

Apre un file di pacchetto XPS e restituisce un albero di oggetti documento XPS di cui è stata creata un'istanza.

Sintassi

HRESULT CreatePackageFromFile(
  [in]          LPCWSTR       filename,
  [in]          BOOL          reuseObjects,
  [out, retval] IXpsOMPackage **package
);

Parametri

[in] filename

Nome del file del pacchetto XPS.

[in] reuseObjects

Valore booleano che indica se il software deve 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 che contiene l'albero degli oggetti documento XPS risultante.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non solo, quelli nella tabella che segue. Per informazioni sui valori restituiti dell'API documento XPS non elencati in questa tabella, vedere Errori del documento XPS.

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

Questo metodo chiama l'API di creazione pacchetti . Per informazioni sui valori restituiti dell'API per la creazione di pacchetti, vedere Errori di creazione di pacchetti.

Commenti

Questo metodo non convalida il contenuto di tutte le 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 si tenta di caricare una pagina problematica in un pacchetto XPS, per restituire un errore.

Se si scrive un 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 è impostato il flag di ottimizzazione
 

Per informazioni sull'uso dell'interfaccia IXpsOMPackage in un programma, vedere Create a Blank XPS OM.For information about using IXpsOMPackage interface in a program, see Create a Blank XPS OM.

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

IXpsOMPageReference::GetPage

Errori di creazione pacchetti

XML Paper Specification

Errori del documento XPS