PDF Generation Template Editor
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.
The (0, 0) point is located at the top left of the page in WebViewer. The x axis extends horizontally to the right and the y axis extends vertically downward.
The conversions are done by the current display mode, which you get with documentViewer.getDisplayModeManager().getDisplayMode(). Window coordinates are relative to the top left of the viewer element (documentViewer.getViewerElement()).
const pageNumber = 1;
const pagePoint = {
x: 0,
y: 0
};
const displayMode = documentViewer.getDisplayModeManager().getDisplayMode();
const windowPoint = displayMode.pageToWindow(pagePoint, pageNumber);
// { x: 47, y: 64 }const pageNumber = 1;
const windowPoint = {
x: 47,
y: 64
};
const displayMode = documentViewer.getDisplayModeManager().getDisplayMode();
const pagePoint = displayMode.windowToPage(windowPoint, pageNumber);
// { pageNumber: 1, x: 0, y: 0 }const getMouseLocation = e => {
const rect = documentViewer.getViewerElement().getBoundingClientRect();
return {
x: e.clientX - rect.left,
y: e.clientY - rect.top
};
}
const handleClick = (e) => {
const displayMode = documentViewer.getDisplayModeManager().getDisplayMode();
let windowCoordinates = getMouseLocation(e);
const page = displayMode.getSelectedPages(windowCoordinates, windowCoordinates);
const clickPageNumber = (page.first !== null) ? page.first : documentViewer.getCurrentPage();
const pagePoint = displayMode.windowToPage(windowCoordinates, clickPageNumber);
}
documentViewer.addEventListener('click', handleClick);