Export DPI Multiplier
Control the pixel density (resolution multiplier) of exported PDF pages. Trade off between sharpness and file size to suit your use case.
Export DPI Multiplier
The exportDpiMultiplier property controls the render resolution of each page when a PDF is exported. It acts as a scale multiplier applied on top of the base render scale, so the final rasterised canvas dimensions grow quadratically — a value of 2 renders each page at four times the pixel area of 1.
Supported Values
| Value | Label | Description |
|---|---|---|
1.0 | Standard | Web-resolution raster. Smallest file size; text may appear slightly soft when zoomed in. |
1.5 | Balanced ⭐ | The recommended sweet spot. Noticeably sharper text with a modest file size increase. |
2.0 | High Quality | Print-ready sharpness. Best visual results; file size increases significantly. |
2.0+ | Ultra | For specialised print or archival workflows. Very large files and high memory usage. |
Performance Warning: Because pixel area scales quadratically, doubling exportDpiMultiplier
from 1 to 2 produces a canvas that is 4× larger in memory. For documents with many pages
(10+), high multipliers can significantly increase export time and risk out-of-memory errors on
low-end or mobile devices. The default value of 2 is a safe maximum for general use.
Prop
Type
Implementation
import { PDFAtelier } from '@innosoft/pdf-atelier-react';
export default function ExportDpiExample() {
return (
<PDFAtelier
src="/document.pdf"
license="YOUR_LICENSE_KEY"
exportDpiMultiplier={1.5}
showSave={true}
/>
);
}Preset Examples:
// Smallest file — good for previews or email attachments
<PDFAtelier src="/document.pdf" exportDpiMultiplier={1} license="..." />
// Balanced quality (recommended default)
<PDFAtelier src="/document.pdf" exportDpiMultiplier={1.5} license="..." />
// Print-quality export
<PDFAtelier src="/document.pdf" exportDpiMultiplier={2} license="..." />import { Component } from '@angular/core';
import { PdfAtelierWrapper } from '@innosoft/pdf-atelier-angular';
@Component({
standalone: true,
selector: 'app-export-dpi',
imports: [PdfAtelierWrapper],
template: `
<pdf-atelier-wrapper
[src]="pdfSrc"
[license]="licenseKey"
[exportDpiMultiplier]="dpiMultiplier"
[showSave]="true"
></pdf-atelier-wrapper>
`,
})
export class ExportDpiComponent {
pdfSrc = '/document.pdf';
licenseKey = 'YOUR_LICENSE_KEY';
dpiMultiplier = 1.5;
}Dynamic Quality Selector Example:
@Component({
selector: 'app-quality-selector',
imports: [PdfAtelierWrapper, CommonModule],
template: `
<div class="quality-controls">
<label>Export Quality:</label>
<select (change)="onQualityChange($event)">
<option value="1">Standard (smallest)</option>
<option value="1.5" selected>Balanced</option>
<option value="2">High Quality (print)</option>
</select>
</div>
<pdf-atelier-wrapper
[src]="pdfSrc"
[license]="licenseKey"
[exportDpiMultiplier]="dpiMultiplier"
[showSave]="true"
></pdf-atelier-wrapper>
`,
})
export class QualitySelectorComponent {
pdfSrc = '/document.pdf';
licenseKey = 'YOUR_LICENSE_KEY';
dpiMultiplier = 1.5;
onQualityChange(event: Event) {
this.dpiMultiplier = parseFloat((event.target as HTMLSelectElement).value);
}
}<script setup lang="ts">
import PdfAtelierWrapper from '@innosoft/pdf-atelier-vue';
import { ref } from 'vue';
const pdfSrc = '/document.pdf';
const licenseKey = 'YOUR_LICENSE_KEY';
const dpiMultiplier = ref(1.5);
</script>
<template>
<PdfAtelierWrapper
:src="pdfSrc"
:license="licenseKey"
:exportDpiMultiplier="dpiMultiplier"
:showSave="true"
/>
</template>Device-Aware Quality Example:
<script setup lang="ts">
import PdfAtelierWrapper from '@innosoft/pdf-atelier-vue';
import { computed } from 'vue';
const pdfSrc = '/document.pdf';
const licenseKey = 'YOUR_LICENSE_KEY';
// Use lower DPI on mobile to avoid OOM errors
const dpiMultiplier = computed(() =>
window.innerWidth < 768 ? 1 : 1.5
);
</script>
<template>
<PdfAtelierWrapper
:src="pdfSrc"
:license="licenseKey"
:exportDpiMultiplier="dpiMultiplier"
:showSave="true"
/>
</template><!DOCTYPE html>
<html>
<head>
<script type="module">
import '@innosoft/pdf-atelier-core';
</script>
</head>
<body>
<!-- Balanced quality export -->
<pdf-atelier
src="/document.pdf"
license="YOUR_LICENSE_KEY"
export-dpi-multiplier="1.5"
show-save="true"
></pdf-atelier>
</body>
</html>JavaScript Control Example:
<pdf-atelier
id="pdfViewer"
src="/document.pdf"
license="YOUR_LICENSE_KEY"
show-save="true"
></pdf-atelier>
<script type="module">
import '@innosoft/pdf-atelier-core';
const viewer = document.getElementById('pdfViewer');
// Choose resolution tier based on device capability
const isLowEndDevice = navigator.hardwareConcurrency <= 2;
viewer.exportDpiMultiplier = isLowEndDevice ? 1 : 1.5;
</script>Use Cases
1. Email Attachments / Preview Exports
Use a lower multiplier so the exported file is quick to generate and small enough to attach:
<PDFAtelier src="/document.pdf" license="YOUR_LICENSE_KEY" exportDpiMultiplier={1} />2. Print-Ready Archival
For contracts, reports, or documents intended for professional printing:
<PDFAtelier src="/document.pdf" license="YOUR_LICENSE_KEY" exportDpiMultiplier={2} />3. Adaptive Quality by Device
Automatically lower the multiplier on mobile to keep memory consumption safe:
const dpi = window.innerWidth < 768 ? 1 : 1.5;
return (
<PDFAtelier
src="/document.pdf"
license="YOUR_LICENSE_KEY"
exportDpiMultiplier={dpi}
/>
);4. User-Selectable Export Quality
Let power-users pick their own quality tier at export time:
const [dpi, setDpi] = useState(1.5);
return (
<>
<select onChange={(e) => setDpi(parseFloat(e.target.value))}>
<option value="1">Standard</option>
<option value="1.5">Balanced</option>
<option value="2">High Quality</option>
</select>
<PDFAtelier src="/document.pdf" license="YOUR_LICENSE_KEY" exportDpiMultiplier={dpi} />
</>
);Notes
exportDpiMultiplierapplies only during export — it has no effect on the on-screen rendering quality.- Memory usage grows as
multiplier². Prefer values ≤2for documents with more than 10 pages. - The property does not persist across sessions; set it programmatically each time if you need persistence based on user preference.
