Uso delle interfacce IXpsOMDocument
In questo argomento vengono descritte le interfacce che forniscono l'accesso ai componenti a livello di documento di un OM XPS.
Nome interfaccia | Interfacce figlio logiche | Descrizione |
---|---|---|
IXpsOMDocument |
IXpsOMPageReference |
Rappresenta una singola parte FixedDocument e associa una raccolta di riferimenti di pagina. IXpsOMPageReferenceCollection è l'interfaccia della raccolta usata per scorrere le interfacce IXpsOMPageReference in un documento. |
IXpsOMDocumentStructureResource |
Nessuno |
Rappresenta la parte DocumentStructure. |
Esempi di codice
Gli esempi di codice in questa sezione illustrano come vengono usate alcune interfacce del documento in un programma.
Ottenere i riferimenti alla pagina di un documento
L'esempio di codice seguente ottiene un puntatore all'oggetto IXpsOMPageReferenceCollection che contiene l'elenco di interfacce IXpsOMPageReference per il documento a cui fa riferimento il parametro del documento .
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();
Ottenere la struttura del documento di un documento
L'esempio di codice seguente ottiene la risorsa contenente la struttura del documento.
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();