Common XPS Document Programming Tasks
This page lists some of the programming tasks that are commonly performed with the XPS Document API.
Common XPS Document Tasks
The following code examples illustrate some of the programming tasks that are commonly performed when the XPS Document API is used for working with an XPS OM.
Code examples are not intended to be complete and working programs. The code examples that are referenced on this page, for example, do not perform parameter checking, error checking, or error handling. Use these examples as a starting point, and then add the code necessary to create a robust application. For more information about HRESULT return values and error handling strategies, see Error Handling in COM.
Before XPS OM interfaces can be used, COM must be initialized in the thread, as shown in the following example code.
HRESULT hr; hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
For clarity, these code examples use a very simple XPS OM, one that might not be complex enough for your application. As a case in point, in the code examples that add content to a page, the visual elements of a page are added directly to the page's list of visual objects; in practice, however, you might want to group visual objects into canvas objects, so that multiple objects could be acted upon as a group. Thus, to enable support of the same content for more than one page size, you could group the visual content of a page into a single canvas object, and then apply a transform to the canvas to scale it to the current page size.