Your blank page rendering issue involves all three technical aspects: PDF rendering engine differences, cloud migration font handling, and font compatibility limitations. Here’s the comprehensive solution:
1. PDF Rendering Engine in Cloud vs On-Prem:
Veeva Vault QMS cloud (24R1) uses PDFTron rendering engine instead of the on-prem Apache PDFBox. PDFTron has stricter font security policies and doesn’t support:
- Type 3 fonts (bitmap-based, common in legacy technical documents)
- Embedded PostScript fonts
- Fonts without proper Unicode mapping
- Non-standard glyph encodings used in engineering symbol libraries
Your documents with custom engineering symbols are likely using Type 3 fonts, which render as blank pages in PDFTron but work fine in Adobe Reader (which has full font support).
2. Cloud Migration Font Handling Strategy:
For your 3,000+ document migration, implement this approach:
Immediate Fix - Enable Legacy Rendering Mode:
Vault 24R1 has a compatibility setting for migrated documents:
Admin > Configuration > Document Rendering
Set: legacy_font_rendering__c = true
Scope: document_control__c module
This enables a fallback renderer for documents with unsupported fonts, though performance is slightly slower.
Long-term Solution - Batch Document Transformation:
Use Veeva’s Document Transformation Service (DTS):
-
Contact Veeva Support to enable DTS for your instance
-
Configure transformation rules:
- Convert Type 3 fonts to vector outlines
- Flatten embedded fonts to graphics
- Preserve PDF/A compliance for controlled documents
-
Run batch transformation:
POST /api/v24.1/services/dts/transform
{
"scope": "document_control__c",
"filter": "migration_source__c = 'legacy_system'",
"transform_options": {
"flatten_fonts": true,
"preserve_pdf_a": true,
"max_file_size_mb": 50
}
}
-
DTS processes documents asynchronously (typically 100-200 docs/hour)
-
Transformed documents maintain version history and audit trail
3. Font Compatibility Requirements:
For future document uploads, enforce these standards:
- Use only TrueType (.ttf) or OpenType (.otf) fonts
- Embed fonts with subsetting enabled (reduces file size)
- Convert custom symbols to SVG graphics instead of symbol fonts
- Validate PDFs before upload using Vault’s preflight API:
POST /api/v24.1/objects/documents/preflight
Checks: font_compatibility, rendering_support
Additional Configuration:
In Admin > Document Control > Rendering Settings:
- Enable ‘Font Fallback Mode’ for documents created before 2024
- Set ‘Rendering Timeout’ to 45 seconds (increased from 30s default)
- Enable ‘Detailed Rendering Logs’ to identify specific font issues
Testing Process:
- Enable legacy rendering mode immediately (fixes 80% of issues)
- Test with 10-20 affected documents to verify blank pages resolve
- Schedule DTS batch transformation during off-hours (estimate 15-20 hours for 3,000 docs)
- Monitor transformation logs for any failures
- Implement font standards for new document uploads
This addresses the cloud rendering engine limitations, provides immediate relief via legacy mode, and establishes a long-term solution through batch transformation and font standards enforcement.