Arbeiten mit IXpsOMDocument-Schnittstellen
In diesem Thema werden die Schnittstellen beschrieben, die Zugriff auf die Komponenten auf Dokumentebene eines XPS OM bieten.
| Schnittstellenname | Logische untergeordnete Schnittstellen | BESCHREIBUNG |
|---|---|---|
| IXpsOMDocument |
IXpsOMPageReference |
Stellt einen einzelnen FixedDocument-Teil dar und bindet eine Auflistung von Seitenverweisen. IXpsOMPageReferenceCollection ist die Sammlungsschnittstelle, die zum Iterieren der IXpsOMPageReference-Schnittstellen in einem Dokument verwendet wird. |
| IXpsOMDocumentStructureResource |
Keine |
Stellt den DocumentStructure-Teil dar. |
Codebeispiele
Die Codebeispiele in diesem Abschnitt veranschaulichen, wie einige der Dokumentschnittstellen in einem Programm verwendet werden.
Hier finden Sie die Seitenverweise eines Dokuments.
Das folgende Codebeispiel ruft einen Zeiger auf die IXpsOMPageReferenceCollection ab, die die Liste der IXpsOMPageReference-Schnittstellen für das Dokument enthält, auf das der doc-Parameter verweist.
HRESULT hr = S_OK;
IXpsOMPageReferenceCollection *pages;
IXpsOMPageReference *pageRef;
IXpsOMPage *page;
UINT32 numPageRefs = 0;
UINT32 thisPageRef = 0;
// get the doc contents
hr = doc->GetPageReferences(&pages);
// walk the collection of page references
hr = pages->GetCount(&numPageRefs);
thisPageRef = 0;
while (thisPageRef < numPageRefs) {
// get this page reference
hr = pages->GetAt(thisPageRef, &pageRef);
// get the page content of this page reference
hr = pageRef->GetPage (&page);
// use the page
// free this page & page reference and go to next
page->Release();
pageRef->Release();
thisPageRef++;
}
pages->Release();
Dokumentstruktur eines Dokuments
Das folgende Codebeispiel ruft die Ressource ab, die die Dokumentstruktur enthält.
HRESULT hr = S_OK;
IXpsOMDocumentStructureResource *docStruct;
IStream *docStructResStream;
// doc is passed in as an argument
// get the doc contents
hr = doc->GetDocumentStructureResource(&docStruct);
hr = docStruct->GetStream ( &docStructResStream );
// access the document structure resource
// contents by reading from the stream
docStructResStream->Release();
docStruct->Release();