Condividi tramite


Uso delle interfacce IXpsOMDocumentSequence

In questo argomento viene descritto come usare le interfacce che forniscono l'accesso a FixedDocumentSequence, ovvero il livello principale della gerarchia di documenti in un file XPS OM.

Nome interfaccia Interfacce figlio logiche Descrizione
IXpsOMDocumentSequence
IXpsOMDocument
Raggruppa un set di FixedDocuments in un elenco ordinato.
IXpsOMDocumentCollection
Nessuno
Raccolta di FixedDocuments in una sequenza di documenti XPS.

Esempio di codice

Nell'esempio di codice seguente viene ottenuto un puntatore all'interfaccia IXpsOMDocumentSequence che contiene la sequenza di documento dell'om XPS rappresentato da xpsPackage. Nell'esempio vengono quindi enumerati i documenti nella raccolta.

    HRESULT                         hr = S_OK;

    IXpsOMDocumentSequence          *docSeq;
    IXpsOMDocumentCollection        *docs;
    IXpsOMDocument                  *doc;

    UINT32  numDocs = 0;
    UINT32  thisDoc = 0;

    // get the fixed document sequence of the package
    hr = xpsPackage->GetDocumentSequence(&docSeq);

    // get the collection of fixed documents in 
    //  the fixed document sequence
    hr = docSeq->GetDocuments(&docs);

    // walk the collection of documents;
    hr = docs->GetCount(&numDocs);
    thisDoc = 0;
    while (thisDoc < numDocs) {
        hr = docs->GetAt(thisDoc, &doc);
 
        // use this doc for something

        // release this doc and then go to the next one
        doc->Release();
        thisDoc++;
    }
    // release the document collection and
    // the document sequence
    docs->Release();
    docSeq->Release();