Read an XPS Document into an XPS OM
Describes how to read an existing XPS document from a file into an XPS OM.
To create an XPS OM from an XPS document, call the IXpsOMObjectFactory::CreatePackageFromFile method.
Before using these code examples in your program, read the disclaimer in Common XPS Document Programming Tasks.
Code Example
The following code example assumes that the initialization described in Initialize an XPS OM has succeeded.
IXpsOMPackage *package = NULL;
hr = xpsFactory->CreatePackageFromFile(
xpsDocumentFilename,
FALSE,
&package);
// package now contains a pointer to the IXpsOMPackage
// object that has been populated with the contents
// of the XPS document in xpsDocumentFilename.
// When finished with the package, release the object.
if (NULL != package) package->Release();
To create an XPS OM from an XPS document that is stored as a stream, call IXpsOMObjectFactory::CreatePackageFromStream.
Remarks
If you write an XPS OM immediately after you have read an XPS package into it, some of the original content might be lost or changed.
Some of the changes that can occur in such case are listed in the table that follows:
Document feature | Action |
---|---|
Digital signatures |
Removed from the document |
DiscardControl part |
Removed from the document |
Foreign document parts |
Removed from the document |
FixedPage markup |
Modified from the original |
Resource dictionary markup |
Modified from the original, if Optimization flag is set |
Related topics
Next Steps
Used in This Section
For More Information