Condividi tramite


Metodo IXpsOMPackageWriter::StartNewDocument (xpsobjectmodel.h)

Apre e inizializza un nuovo FixedDocument nel valore FixedDocumentSequence del pacchetto.

Sintassi

HRESULT StartNewDocument(
  [in] IOpcPartUri                            *documentPartName,
  [in] IXpsOMPrintTicketResource              *documentPrintTicket,
  [in] IXpsOMDocumentStructureResource        *documentStructure,
  [in] IXpsOMSignatureBlockResourceCollection *signatureBlockResources,
  [in] IXpsOMPartUriCollection                *restrictedFonts
);

Parametri

[in] documentPartName

Puntatore a un'interfaccia IOpcPartUri contenente il nome della parte del nuovo documento.

[in] documentPrintTicket

Puntatore a un'interfaccia IXpsOMPrintTicketResource contenente il ticket di stampa a livello di documento. Se non è disponibile un ticket di stampa a livello di documento per questo pacchetto, questo parametro può essere impostato su NULL. Vedere anche la sezione Note.

[in] documentStructure

Puntatore a un'interfaccia IXpsOMDocumentStructureResource che contiene la risorsa della struttura del documento iniziale, se la risorsa è disponibile; se non è disponibile, questo parametro può essere impostato su NULL.

[in] signatureBlockResources

Puntatore a un'interfaccia IXpsOMSignatureBlockResourceCollection che contiene una raccolta di firme digitali da collegare al documento. Se non sono presenti firme digitali da collegare, questo parametro può essere impostato su NULL.

[in] restrictedFonts

Puntatore a un'interfaccia IXpsOMPartUriCollection contenente i tipi di carattere che devono avere relazioni di carattere limitate scritte per loro. I dati del tipo di carattere non vengono scritti fino a quando non viene chiamato AddResource o Close .

Se il documento non contiene tipi di carattere con restrizioni, questo parametro può essere impostato su NULL.

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.
XPS_E_UNAVAILABLE_PACKAGE
Si è verificato un errore grave e il contenuto di XPS OM potrebbe non essere recuperabile. Alcuni componenti dell'OM XPS potrebbero comunque essere utilizzabili, ma solo dopo che sono stati verificati. Poiché lo stato di XPS OM non può essere stimato dopo la restituzione di questo errore, tutti i componenti dell'OM XPS devono essere rilasciati ed eliminati.
XPS_E_UNEXPECTED_RESTRICTED_FONT_RELATIONSHIP
La raccolta di caratteri con restrizioni passata in restrictedFonts contiene un tipo di carattere senza restrizioni.
 

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

Commenti

Questo metodo deve essere chiamato prima che AddPage possa essere chiamato per scrivere il contenuto di un'interfaccia IXpsOMPage .

Immediatamente dopo l'istanza dell'interfaccia IXpsOMPackageWriter , il pacchetto contiene solo una parte fissa della sequenza di documenti vuota. La prima volta che questo metodo viene chiamato, una parte FixedDocument viene aggiunta alla parte Fixed Document Sequence e il metodo AddPage aggiungerà pagine alla parte FixedDocument. Ogni volta che questo metodo viene chiamato dopo la prima volta, la parte FixedDocument corrente viene chiusa e una nuova parte FixedDocument viene aperta e aggiunta alla parte Sequenza documento fissa. Tutte le chiamate successive al metodo AddPage aggiungono pagine alla parte FixedDocument aperta di recente. Questa interfaccia non supporta l'aggiunta di pagine alle parti FixedDocument chiuse.

Se documentPrintTicket contiene un puntatore NULL e il writer del pacchetto è stato creato con l'interleaving impostato su XPS_INTERLEAVING_ON, questo metodo crea un ticket di stampa vuoto a livello di documento, se non esiste già. Ogni volta che questo metodo viene chiamato con un puntatore NULL in documentPrintTicket, aggiunge una relazione dal nuovo documento al ticket di stampa vuoto. Questa operazione consente di offrire un consumo di streaming più efficiente del pacchetto.

Se documentPrintTicket contiene un puntatore NULL e il writer di pacchetti è stato creato con l'interleaving impostato su XPS_INTERLEAVING_OFF, non viene creato alcun ticket di stampa vuoto.

Nota La creazione di un nuovo documento nel pacchetto non crea automaticamente un'anteprima per il documento XPS. Per creare un'anteprima del documento XPS, usare l'interfaccia IXpsOMThumbnailGenerator .
 

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

IOpcPartUri

IXpsOMDocumentStructureResource

IXpsOMPackageWriter

IXpsOMPackageWriter3D

IXpsOMPrintTicketResource

IXpsOMSignatureBlockResourceCollection

Errori di creazione pacchetti

Uso dell'interfaccia IXpsOMPackageWriter

XML Paper Specification

Errori del documento XPS