When a document is displayed in PrizmDoc Viewer, a Viewing Session is created. A Viewing Session is a temporary resource for converting and delivering your file to the browser. This can be resource-intensive if done on-demand every time. There are some methods to improve performance:
- Viewing Packages (pre-conversion)
- Hybrid Viewing (client-side rendering)
- Caching Strategies
Viewing Packages
A Viewing Package contains pre-converted, browser-ready content that speeds up viewing. If you know in advance which documents your users will access repeatedly, you can pre-convert them so that you can bypass the on-demand conversion each time the document is requested and therefore reducing the loading times for the end user.
How to Create:
1. POST request to /v2/viewingPackageCreators with a unique documentId.
2. If needed, PUT the source file to /v2/viewingPackageCreators/{processId}/SourceFile.
3. GET status until process is complete.
4. Use the same documentId in a new viewing session, which will use the pre-converted content.
Benefits include faster load times, reduced server load, and freeing up server resources to handle more requests.
Documentation:
Hybrid Viewing
Hybrid Viewing off-loads most PDF rendering to the browser, which helps reduce server processing. For PDFs, you can just deliver the PDF directly to the browser for rendering. For non-PDF documents, you can pre-convert them to PDF using PrizmDoc Server, then serve the PDF versions to the client.
Note: Hybrid Viewing and PDF-only viewing packages require a Metered License, Offline Metered License, or OEM License for PAS. Please contact support@accusoft.com if you have questions regarding your license.
How to use:
1. Create a Viewing Package with packageType = pdf
This generates only the PDF version instead of a full set of raster/SVG data, making the package smaller and faster to create.
2. Create a Viewing Session with allowedClientFileFormats = pdf
The viewer will request only the PDF from PAS and the client/browser handles the rendering.
Benefits include faster document viewing, lower server resources, and reduced storage.
Documentation:
- Get Started With Hybrid Viewing
- License & Create PDF Viewing Packages
- Create On-Demand Viewing Packages
Caching Stategies & Server Configuration
PrizmDoc Server caches both the original document and the converted artifacts to improve performance on repeat viewings.
-
Session & Cache Lifetimes: Configure the viewing.sessionLifeTime and viewing.cacheLifeTime options in prizm-services-config.yml
- viewing.sessionLifeTime controls how long a Viewing Session remains usable for a given user.
- viewing.cacheLifeTime controls how long the converted content remains on disk for reuse.
- serverCaching: Set in the POST to /viewingSession JSON body to control whether new sessions reuse prior cached data or convert from scratch.
-
Cache location
- In high-traffic environments, placing the cache on faster storage (SSD) or shared memory (/dev/shm on Linux) significantly improves performance and reduces server I/O bottlenecks.
Documentation:
Other Considerations:
- Use the latest version of Prizmdoc: new releases often contain optimization improvements and bug fixes.
- Clean up cache periodically