XMP Metadata Embedding
Embed searchable metadata in PDFs for enterprise discovery, SharePoint indexing, and document lifecycle tracking.
XMP metadata embedding makes your PDFs discoverable by enterprise search engines like SharePoint and ERP systems. Without XMP, PDFs remain invisible to metadata extraction and indexing systems.
Overview
XMP (Extensible Metadata Platform) is an open standard for embedding metadata inside PDFs. When enabled:
- Embeds searchable metadata in PDF
- Enables SharePoint/ERP document discovery
- Tracks document lifecycle and classification
- Adds minimal overhead (~3-5ms per render)
- Increases PDF size by 5-20KB depending on metadata
- Requires Premium or Enterprise license
Enterprise Search Ready
XMP metadata makes your PDFs first-class documents in SharePoint, ERP systems, and enterprise search solutions.
When to Enable
Enable XMP metadata when you need:
- PDFs discoverable in SharePoint search
- Document indexing in ERP systems
- Custom business properties searchable
- Document lifecycle tracking
- Compliance metadata attached to every PDF
Configuration
Enable in Template
Add to your templateSettings:
{
"vpdf": {
"templateSettings": {
"xmpMetadata": true
}
}
}Enable Per Render with Custom Properties
Override at render time and include business metadata:
{
"options": {
"features": {
"xmpMetadata": true
}
},
"xmpData": {
"documentId": "INV-2024-001",
"docType": "Invoice",
"customProperties": {
"vendor": "Acme Corp",
"vendorId": "VENDOR-12345",
"amount": "1500.00",
"dueDate": "2024-05-22",
"department": "Procurement",
"status": "approved"
}
}
}Metadata Fields
Core Fields
| Field | Purpose | Example |
|---|---|---|
documentId | Business identifier | INV-2024-001 |
docType | Document classification | Invoice, Report, Contract |
templateName | Source template | Invoice.vpdf |
generatedAt | Render timestamp (ISO 8601) | 2024-04-22T10:30:00Z |
Custom Properties
Add unlimited business-specific key-value pairs:
{
"xmpData": {
"customProperties": {
"vendor": "Acme Corp",
"vendorId": "VENDOR-12345",
"amount": "1500.00",
"currency": "USD",
"dueDate": "2024-05-22",
"department": "Procurement",
"costCenter": "CC-1002",
"classification": "CONFIDENTIAL",
"retentionYears": "7"
}
}
}All custom properties become searchable in enterprise systems.
SharePoint Integration
Enable Metadata Search
- Create a Managed Metadata column in SharePoint
- Map to the XMP custom property
- Query in search:
vendor:"Acme Corp" AND amount:>1000Example: Vendor-Based Search
Template metadata:
{
"xmpData": {
"docType": "Invoice",
"customProperties": {
"vendorId": "VENDOR-12345",
"vendorName": "Acme Corp",
"amount": "1500.00",
"dueDate": "2024-05-22"
}
}
}SharePoint search query:
vendorId:"VENDOR-12345" dueDate:>2024-05-15Best Practices
Do
- Include all relevant business identifiers
- Use consistent property names across documents
- Add classification and retention information
- Combine with Section 508 for complete compliance
- Test queries before deployment
Don't
- Embed sensitive personal information (PII)
- Use non-ASCII characters without encoding
- Create more than 100 custom properties per document
- Encrypt PDFs (prevents metadata extraction)
- Use special XML characters without escaping
Performance
| Metric | Value |
|---|---|
| Metadata overhead | +3-5ms |
| PDF size increase | +5-20KB |
| Search indexing time | <1 second |
| License requirement | Business+ |
| Custom properties limit | Unlimited (practical: <100) |
Common Questions
Q: What happens if I don't provide custom properties?
A: Core metadata is always embedded. Custom properties are optional. You get at minimum:
- Document ID
- Document type
- Template name
- Generation timestamp
Q: Can I use XMP without Section 508?
A: Yes. Each feature is independent:
{
"options": {
"features": {
"section508Accessibility": false,
"xmpMetadata": true, // Only this
"explainDocument": false
}
}
}Q: How do I update metadata for existing PDFs?
A: Regenerate the PDF with updated metadata in the payload. XMP is embedded at render time.
Q: Are custom properties encrypted?
A: No. XMP metadata is readable to anyone with PDF access. Don't include sensitive data - use only business identifiers.
Q: Will this slow down my renders?
A: Minimal impact (~3-5ms). Batch operations scale linearly with no overhead cliff.
Troubleshooting
Metadata Not Embedded
Problem: Custom properties don't appear in SharePoint search
Check:
- Verify XMP feature is enabled in template
- Confirm custom properties are provided in payload
- Verify license includes XMP Metadata
- Check PDF actually contains XMP data
SharePoint Not Indexing
Problem: Managed properties don't return search results
Check:
- Verify XMP was embedded (use PDF tool to inspect)
- Check SharePoint managed properties are mapped correctly
- Reindex SharePoint library: Library Settings → Reindex
- Wait 10-15 minutes for indexing to complete
- Test with exact property value first
Property Values Not Searchable
Problem: Custom properties indexed but not returning results
Check:
- Use exact values in search query
- URL-encode special characters in queries
- Use proper date format: YYYY-MM-DD
- Try simpler queries to test one property at a time