Configure regional settings including measurement units, rulers, guides, and grid for the PDF Web Viewer. The index.IUnitsAndGuidesConfig interface provides comprehensive localization options.
Configure measurement units and visual guides for the document canvas.
Set the default measurement unit for the viewer:
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.millimeters,
},
});
Available units:
enum Units {
unit, // Generic unit
inch, // Inches
millimeters, // Millimeters
centimeters, // Centimeters
point, // Points (default, 72 points = 1 inch)
}
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
// Metric system (millimeters)
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.millimeters,
},
});
// Imperial system (inches)
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.inch,
},
});
// Desktop publishing (points)
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.point,
},
});
Control ruler visibility when opening documents:
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.millimeters,
showRulersWhenOpeningDocuments: true, // Show rulers by default
},
});
Default: false (rulers hidden)
Set the color for alignment guides:
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.centimeters,
showRulersWhenOpeningDocuments: true,
guidesColor: '#0000FF', // Blue alignment guides
},
});
Default: '#0000FF' (blue)
Configure the document grid using the index.IGridConfig interface:
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.point,
grid: {
lineColor: '#CCCCCC', // Grid line color
subdivisions: 3, // Number of subdivisions
offsetTop: 0, // Top offset in points
offsetLeft: 0, // Left offset in points
width: 72, // Grid width (72 points = 1 inch)
height: 72, // Grid height (72 points = 1 inch)
},
},
});
lineColor: Hex color string for grid lines
'#000000' (black)subdivisions: Number of grid subdivisions
3offsetTop: Vertical offset in points
0offsetLeft: Horizontal offset in points
0width: Grid cell width in points
72 (1 inch)height: Grid cell height in points
72 (1 inch)Update units and guides configuration at runtime:
const viewer = editor.ui.pdfWebElement;
// Change to metric units
viewer.setUnitsAndGuides({
units: Units.millimeters,
showRulersWhenOpeningDocuments: true,
});
// Update grid settings
viewer.setUnitsAndGuides({
units: Units.centimeters,
grid: {
lineColor: '#FF0000',
width: 50,
height: 50,
},
});
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.millimeters,
showRulersWhenOpeningDocuments: true,
guidesColor: '#0000FF',
grid: {
lineColor: '#CCCCCC',
subdivisions: 4,
width: 10, // 10mm grid
height: 10,
},
},
});
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.inch,
showRulersWhenOpeningDocuments: true,
guidesColor: '#00FF00',
grid: {
lineColor: '#DDDDDD',
subdivisions: 8,
width: 72, // 1 inch = 72 points
height: 72,
},
},
});
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.point,
showRulersWhenOpeningDocuments: false,
},
});
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.point,
showRulersWhenOpeningDocuments: true,
guidesColor: '#FF00FF',
grid: {
lineColor: '#E0E0E0',
subdivisions: 6,
width: 36, // Half inch (36 points)
height: 36,
},
},
});
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
unitsAndGuides: {
units: Units.inch,
},
});
const viewer = editor.ui.pdfWebElement;
// User switches to European region
function switchToMetric() {
viewer.setUnitsAndGuides({
units: Units.centimeters,
showRulersWhenOpeningDocuments: true,
grid: {
lineColor: '#CCCCCC',
width: 10, // 1cm in points (≈28.35 points)
height: 10,
},
});
}
// User switches to US region
function switchToImperial() {
viewer.setUnitsAndGuides({
units: Units.inch,
showRulersWhenOpeningDocuments: true,
grid: {
lineColor: '#DDDDDD',
width: 72, // 1 inch = 72 points
height: 72,
},
});
}
Combine with language settings for complete regional configuration:
import { PdfEditor, Units } from '@avanquest/pdf-web-viewer';
const editor = await PdfEditor({
license: 'YOUR_LICENSE_KEY',
container: document.getElementById('pdf-container'),
// German language
languageConfig: {
code: 'de',
},
// Metric units
unitsAndGuides: {
units: Units.centimeters,
showRulersWhenOpeningDocuments: true,
guidesColor: '#0000FF',
grid: {
lineColor: '#CCCCCC',
subdivisions: 5,
width: 10,
height: 10,
},
},
});
const viewer = editor.ui.pdfWebElement;
// Switch to French region
viewer.setLanguage({ code: 'fr' });
viewer.setUnitsAndGuides({ units: Units.millimeters });
// Switch to Japanese region
viewer.setLanguage({ code: 'ja' });
viewer.setUnitsAndGuides({ units: Units.point });