Compartir a través de


Trabajar con interfaces IXpsOMDocumentSequence

En este tema se describe cómo usar las interfaces que proporcionan acceso a FixedDocumentSequence, que es el nivel superior de la jerarquía de documentos en un OM XPS.

Nombre de la interfaz Interfaces secundarias lógicas Descripción
IXpsOMDocumentSequence
IXpsOMDocument
Agrupa un conjunto de FixedDocuments en una lista ordenada.
IXpsOMDocumentCollection
None
Colección de FixedDocuments en una secuencia de documentos XPS.

Ejemplo de código

En el ejemplo de código siguiente se obtiene un puntero a la interfaz IXpsOMDocumentSequence que contiene la secuencia de documentos del OM XPS representado por xpsPackage. A continuación, en el ejemplo se enumeran los documentos de la colección.

    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();