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