Following the release of our NiXPS v1.0 application, we've been working on finishing the first release of our NiXPS library.
The library offers a convenient C++ interface to read an XPS file, modify it in various ways, potentially combining it with other XPS files, and write it back out.
The NiXPS application uses the same underlying technology, so all modifications that are possible with the application, are possible via the API:
- page & document manipulations like: page extraction, merging, splitting, etc...
- resource handling: extract images or fonts, replace them, etc...
- page content modifications: access to the xml of a page, of a document, etc...
- and a lot more...
Efficiency and choice were 2 of our main development goals.
This results in a library that is extremely efficient in reading and processing XPS. We went to great lengths to prevent unnecessary processing, and tried to ensure modifications are performed as local as possible, so the XPS file is only modified in places where it is necessary. Blazingly-fast-with-a-laser-like-focus
kind of describes it ;-).
And regarding choice: XPS is Windows, but also Mac here @ NiXPS. Fully cross platform from the start. Other platforms are in the works.
You can apply for an evaluation version here
, the documentation of the api can be consulted here