Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De pakketinterfaces vertegenwoordigen het hoogste niveau van de XPS OM, die overeenkomt met een XPS-documentbestand. Deze interfaces bevatten methoden die een XPS OM serialiseren naar een XPS-document of -stream en een XPS-pakket deserialiseren om een XPS OM te maken waarmee een programma toegang heeft tot de inhoud van een document.
| Interfacenaam | Logische onderliggende interfaces | Beschrijving |
|---|---|---|
|
IXpsOMPackage- |
IXpsOMDocumentSequence- IXpsOMCoreProperties- |
Het volledige XPS OM dat overeenkomt met het pakket dat het XPS-document bevat. |
|
IXpsOMPackageWriter |
Geen |
Maakt incrementele serialisatie van documentpagina's mogelijk voor een pakket. |
|
IXpsOMCoreProperties- |
Geen |
Hiermee opent u de metagegevens van het document. |
Codevoorbeelden
De volgende codevoorbeelden laten zien hoe sommige pakketinterfaces worden gebruikt door een programma. Tenzij anders vermeld, zijn alle cursieve items parameternamen.
- een XPS-document lezen in een XPS OM-
- een XPS OM naar een XPS-documentbestand schrijven
- De documentreeks van de XPS OM- openen
- De CoreProperties van het document openen
Een XPS-document lezen in een XPS OM
Vanuit een bestaand XPS-document waarvan de bestandsnaam is opgeslagen in xpsDocumentFilename, wordt in dit codevoorbeeld een XPS OM gemaakt waarnaar wordt verwezen door xpsPackage.
HRESULT hr = S_OK;
IXpsOMPackage *xpsPackage;
hr = xpsFactory->CreatePackageFromFile(
xpsDocumentFilename,
FALSE,
&xpsPackage);
// xpsPackage now contains a pointer to the IXpsOMPackage
// object that has been populated with the contents
// of the XPS document in xpsDocumentFilename.
Een XPS OM schrijven naar een XPS-documentbestand
In het volgende codevoorbeeld wordt de XPS OM geschreven waarnaar wordt verwezen door xpsPackage. In het voorbeeld wordt een XPS-document gemaakt in het bestand waarvan de naam is opgeslagen in fileName.
HRESULT hr = S_OK;
hr = xpsPackage->WriteToFile(
xpsDocumentFilename,
NULL, // LPSECURITY_ATTRIBUTES
FILE_ATTRIBUTE_NORMAL,
FALSE); // optimizeMarkupSize
Toegang tot de documentvolgorde van de XPS OM
In het volgende codevoorbeeld wordt een aanwijzer naar de IXpsOMDocumentSequence interface verkregen, die de documentreeks bevat van de XPS OM die wordt vertegenwoordigd door xpsPackage.
HRESULT hr = S_OK;
IXpsOMDocumentSequence *docSeq;
IXpsOMDocumentCollection *docs;
// 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);
De CoreProperties van het document openen
In het volgende codevoorbeeld wordt een aanwijzer naar de IXpsOMCoreProperties interface verkregen, zodat het programma toegang heeft tot de inhoud van het coreProperties-onderdeel. In het voorbeeld wordt ervan uitgegaan dat het document is gelezen in een XPS OM dat wordt vertegenwoordigd door xpsPackage.
HRESULT hr = S_OK;
IXpsOMCoreProperties *coreProps;
LPWSTR title;
// get the fixed document sequence of the package
hr = xpsPackage->GetCoreProperties(&coreProps);
// get the title property
hr = coreProps->GetTitle(&title);
// do something with the title property here...
// free the string when finished with it
CoTaskMemFree ( title );
coreProps->Release();