ngx-extended-pdf-viewer
Version:
Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.
115 lines • 14.5 kB
JavaScript
const _isIE11 = typeof window === 'undefined' ? false : !!window.MSInputMethodContext && !!document.documentMode;
const isEdge = typeof navigator === 'undefined' || /Edge\/\d./i.test(navigator.userAgent);
const needsES5 = typeof ReadableStream === 'undefined' || typeof Promise['allSettled'] === 'undefined';
export const pdfjsVersion = '4.0.730';
export const pdfjsBleedingEdgeVersion = '4.0.844';
export function getVersionSuffix(folder) {
if (folder?.includes('bleeding-edge')) {
return pdfjsBleedingEdgeVersion;
}
return pdfjsVersion;
}
export function assetsUrl(url, postfixIfPathIsRelativ = '') {
if (url.includes('://')) {
// the assets folder is on an absolute path (like https://example.com/assets)
return url;
}
return `./${url + postfixIfPathIsRelativ}`;
}
const AnnotationMode = {
DISABLE: 0,
ENABLE: 1,
ENABLE_FORMS: 2,
ENABLE_STORAGE: 3,
};
const AnnotationEditorType = {
DISABLE: -1,
NONE: 0,
FREETEXT: 3,
INK: 15,
};
function getDefaultLanguage() {
if (typeof navigator !== 'undefined') {
return navigator?.language || 'en-US';
}
return 'en-US';
}
export let pdfDefaultOptions = {
needsES5: _isIE11 || isEdge || needsES5,
annotationEditorMode: 0,
annotationMode: 2,
defaultZoomDelay: 400,
cursorToolOnLoad: 0,
defaultUrl: '',
defaultZoomValue: undefined,
disableHistory: false,
disablePageLabels: false,
enablePermissions: false,
docBaseUrl: '',
enablePrintAutoRotate: true,
externalLinkRel: 'noopener noreferrer nofollow',
externalLinkTarget: 0,
historyUpdateUrl: false,
ignoreDestinationZoom: false,
imageResourcesPath: './images/',
maxCanvasPixels: 16777216,
forcePageColors: false,
pageColorsBackground: 'Canvas',
pageColorsForeground: 'CanvasText',
pdfBugEnabled: false,
printResolution: 150,
rangeChunkSize: 65536,
removePageBorders: false,
renderer: 'canvas',
renderForms: true,
enableXfa: true,
fontExtraProperties: false,
sidebarViewOnLoad: -1,
scrollModeOnLoad: -1,
spreadModeOnLoad: -1,
textLayerMode: 1,
useOnlyCssZoom: false,
// viewerCssTheme: 0, // not supported by ngx-extended-pdf-viewer
viewOnLoad: 0,
cMapPacked: true,
cMapUrl: () => `${assetsUrl(pdfDefaultOptions.assetsFolder, '/..')}/cmaps/`,
disableAutoFetch: false,
disableFontFace: false,
disableRange: false,
disableStream: true,
isEvalSupported: true,
isOffscreenCanvasSupported: true,
maxImageSize: -1,
pdfBug: false,
postMessageTransfers: true,
verbosity: 1,
workerPort: null,
assetsFolder: 'assets',
_internalFilenameSuffix: '.min',
sandboxBundleSrc: () => pdfDefaultOptions.needsES5
? `./pdf.sandbox-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}-es5${pdfDefaultOptions._internalFilenameSuffix}.mjs`
: `./pdf.sandbox-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}${pdfDefaultOptions._internalFilenameSuffix}.mjs`,
workerSrc: () => pdfDefaultOptions.needsES5
? `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.worker-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}-es5.mjs`
: `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.worker-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}.mjs`,
standardFontDataUrl: () => `${assetsUrl(pdfDefaultOptions.assetsFolder, '/..')}/standard_fonts/`,
// options specific to ngx-extended-pdf-viewer (as opposed to being used by pdf.js)
doubleTapZoomFactor: 'page-width',
doubleTapZoomsInHandMode: true,
doubleTapZoomsInTextSelectionMode: false,
doubleTapResetsZoomOnSecondDoubleTap: false,
enableScripting: true,
defaultCacheSize: 50,
passwordPrompt: undefined,
locale: getDefaultLanguage(),
activateWillReadFrequentlyFlag: false,
};
if (typeof window !== 'undefined') {
if (window.pdfDefaultOptions) {
pdfDefaultOptions = window.pdfDefaultOptions;
}
else {
window.pdfDefaultOptions = pdfDefaultOptions;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWRlZmF1bHQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvb3B0aW9ucy9wZGYtZGVmYXVsdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU8sTUFBTyxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBTyxRQUFTLENBQUMsWUFBWSxDQUFDO0FBQy9ILE1BQU0sTUFBTSxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRixNQUFNLFFBQVEsR0FBRyxPQUFPLGNBQWMsS0FBSyxXQUFXLElBQUksT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssV0FBVyxDQUFDO0FBRXZHLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsU0FBUyxDQUFDO0FBQ2xELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFjO0lBQzdDLElBQUksTUFBTSxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNyQyxPQUFPLHdCQUF3QixDQUFDO0tBQ2pDO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVyxFQUFFLHNCQUFzQixHQUFHLEVBQUU7SUFDaEUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLDZFQUE2RTtRQUM3RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsT0FBTyxLQUFLLEdBQUcsR0FBRyxzQkFBc0IsRUFBRSxDQUFD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UyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsdUJBQXVCLE1BQU07SUFDcEksU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUNkLGlCQUFpQixDQUFDLFFBQVE7UUFDeEIsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVO1FBQ2xJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsZUFBZSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTTtJQUNsSSxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUVoRyxtRkFBbUY7SUFDbkYsbUJBQW1CLEVBQUUsWUFBWTtJQUNqQyx3QkFBd0IsRUFBRSxJQUFJO0lBQzlCLGlDQUFpQyxFQUFFLEtBQUs7SUFDeEMsb0NBQW9DLEVBQUUsS0FBSztJQUMzQyxlQUFlLEVBQUUsSUFBSTtJQUNyQixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLE1BQU0sRUFBRSxrQkFBa0IsRUFBRTtJQUM1Qiw4QkFBOEIsRUFBRSxLQUFLO0NBQ3RDLENBQUM7QUFFRixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxJQUFVLE1BQU8sQ0FBQyxpQkFBaUIsRUFBRTtRQUNuQyxpQkFBaUIsR0FBUyxNQUFPLENBQUMsaUJBQWlCLENBQUM7S0FDckQ7U0FBTTtRQUNDLE1BQU8sQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztLQUNyRDtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgX2lzSUUxMSA9IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gZmFsc2UgOiAhISg8YW55PndpbmRvdykuTVNJbnB1dE1ldGhvZENvbnRleHQgJiYgISEoPGFueT5kb2N1bWVudCkuZG9jdW1lbnRNb2RlO1xuY29uc3QgaXNFZGdlID0gdHlwZW9mIG5hdmlnYXRvciA9PT0gJ3VuZGVmaW5lZCcgfHwgL0VkZ2VcXC9cXGQuL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbmNvbnN0IG5lZWRzRVM1ID0gdHlwZW9mIFJlYWRhYmxlU3RyZWFtID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgUHJvbWlzZVsnYWxsU2V0dGxlZCddID09PSAndW5kZWZpbmVkJztcblxuZXhwb3J0IGNvbnN0IHBkZmpzVmVyc2lvbiA9ICc0LjAuNzMwJztcbmV4cG9ydCBjb25zdCBwZGZqc0JsZWVkaW5nRWRnZVZlcnNpb24gPSAnNC4wLjg0NCc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVyc2lvblN1ZmZpeChmb2xkZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChmb2xkZXI/LmluY2x1ZGVzKCdibGVlZGluZy1lZGdlJykpIHtcbiAgICByZXR1cm4gcGRmanNCbGVlZGluZ0VkZ2VWZXJzaW9uO1xuICB9XG4gIHJldHVybiBwZGZqc1ZlcnNpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NldHNVcmwodXJsOiBzdHJpbmcsIHBvc3RmaXhJZlBhdGhJc1JlbGF0aXYgPSAnJyk6IHN0cmluZyB7XG4gIGlmICh1cmwuaW5jbHVkZXMoJzovLycpKSB7XG4gICAgLy8gdGhlIGFzc2V0cyBmb2xkZXIgaXMgb24gYW4gYWJzb2x1dGUgcGF0aCAobGlrZSBodHRwczovL2V4YW1wbGUuY29tL2Fzc2V0cylcbiAgICByZXR1cm4gdXJsO1xuICB9XG4gIHJldHVybiBgLi8ke3VybCArIHBvc3RmaXhJZlBhdGhJc1JlbGF0aXZ9YDtcbn1cblxuY29uc3QgQW5ub3RhdGlvbk1vZGUgPSB7XG4gIERJU0FCTEU6IDAsXG4gIEVOQUJMRTogMSxcbiAgRU5BQkxFX0ZPUk1TOiAyLFxuICBFTkFCTEVfU1RPUkFHRTogMyxcbn07XG5cbmNvbnN0IEFubm90YXRpb25FZGl0b3JUeXBlID0ge1xuICBESVNBQkxFOiAtMSxcbiAgTk9ORTogMCxcbiAgRlJFRVRFWFQ6IDMsXG4gIElOSzogMTUsXG59O1xuXG5mdW5jdGlvbiBnZXREZWZhdWx0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIG5hdmlnYXRvcj8ubGFuZ3VhZ2UgfHwgJ2VuLVVTJztcbiAgfVxuICByZXR1cm4gJ2VuLVVTJztcbn1cblxuZXhwb3J0IGxldCBwZGZEZWZhdWx0T3B0aW9ucyA9IHtcbiAgbmVlZHNFUzU6IF9pc0lFMTEgfHwgaXNFZGdlIHx8IG5lZWRzRVM1LFxuICBhbm5vdGF0aW9uRWRpdG9yTW9kZTogMCxcbiAgYW5ub3RhdGlvbk1vZGU6IDIsXG4gIGRlZmF1bHRab29tRGVsYXk6IDQwMCwgLy8gbWlsbGlzZWNvbmRzXG4gIGN1cnNvclRvb2xPbkxvYWQ6IDAsXG4gIGRlZmF1bHRVcmw6ICcnLFxuICBkZWZhdWx0Wm9vbVZhbHVlOiB1bmRlZmluZWQsXG4gIGRpc2FibGVIaXN0b3J5OiBmYWxzZSxcbiAgZGlzYWJsZVBhZ2VMYWJlbHM6IGZhbHNlLFxuICBlbmFibGVQZXJtaXNzaW9uczogZmFsc2UsXG4gIGRvY0Jhc2VVcmw6ICcnLFxuICBlbmFibGVQcmludEF1dG9Sb3RhdGU6IHRydWUsXG4gIGV4dGVybmFsTGlua1JlbDogJ25vb3BlbmVyIG5vcmVmZXJyZXIgbm9mb2xsb3cnLFxuICBleHRlcm5hbExpbmtUYXJnZXQ6IDAsXG4gIGhpc3RvcnlVcGRhdGVVcmw6IGZhbHNlLFxuICBpZ25vcmVEZXN0aW5hdGlvblpvb206IGZhbHNlLFxuICBpbWFnZVJlc291cmNlc1BhdGg6ICcuL2ltYWdlcy8nLFxuICBtYXhDYW52YXNQaXhlbHM6IDE2Nzc3MjE2LFxuICBmb3JjZVBhZ2VDb2xvcnM6IGZhbHNlLFxuICBwYWdlQ29sb3JzQmFja2dyb3VuZDogJ0NhbnZhcycsXG4gIHBhZ2VDb2xvcnNGb3JlZ3JvdW5kOiAnQ2FudmFzVGV4dCcsXG4gIHBkZkJ1Z0VuYWJsZWQ6IGZhbHNlLFxuICBwcmludFJlc29sdXRpb246IDE1MCxcbiAgcmFuZ2VDaHVua1NpemU6IDY1NTM2LFxuICByZW1vdmVQYWdlQm9yZGVyczogZmFsc2UsXG4gIHJlbmRlcmVyOiAnY2FudmFzJyxcbiAgcmVuZGVyRm9ybXM6IHRydWUsXG4gIGVuYWJsZVhmYTogdHJ1ZSxcbiAgZm9udEV4dHJhUHJvcGVydGllczogZmFsc2UsXG4gIHNpZGViYXJWaWV3T25Mb2FkOiAtMSxcbiAgc2Nyb2xsTW9kZU9uTG9hZDogLTEsXG4gIHNwcmVhZE1vZGVPbkxvYWQ6IC0xLFxuICB0ZXh0TGF5ZXJNb2RlOiAxLFxuICB1c2VPbmx5Q3NzWm9vbTogZmFsc2UsXG4gIC8vIHZpZXdlckNzc1RoZW1lOiAwLCAvLyBub3Qgc3VwcG9ydGVkIGJ5IG5neC1leHRlbmRlZC1wZGYtdmlld2VyXG4gIHZpZXdPbkxvYWQ6IDAsXG4gIGNNYXBQYWNrZWQ6IHRydWUsXG4gIGNNYXBVcmw6ICgpID0+IGAke2Fzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIsICcvLi4nKX0vY21hcHMvYCxcbiAgZGlzYWJsZUF1dG9GZXRjaDogZmFsc2UsXG4gIGRpc2FibGVGb250RmFjZTogZmFsc2UsXG4gIGRpc2FibGVSYW5nZTogZmFsc2UsXG4gIGRpc2FibGVTdHJlYW06IHRydWUsXG4gIGlzRXZhbFN1cHBvcnRlZDogdHJ1ZSxcbiAgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6IHRydWUsXG4gIG1heEltYWdlU2l6ZTogLTEsXG4gIHBkZkJ1ZzogZmFsc2UsXG4gIHBvc3RNZXNzYWdlVHJhbnNmZXJzOiB0cnVlLFxuICB2ZXJib3NpdHk6IDEsXG4gIHdvcmtlclBvcnQ6IG51bGwsXG4gIGFzc2V0c0ZvbGRlcjogJ2Fzc2V0cycsXG4gIF9pbnRlcm5hbEZpbGVuYW1lU3VmZml4OiAnLm1pbicsIC8vIGRvbid0IG1vZGlmeSB0aGlzIC0gaXQncyBhbiBpbnRlcm5hbCBmaWVsZFxuICBzYW5kYm94QnVuZGxlU3JjOiAoKSA9PlxuICAgIHBkZkRlZmF1bHRPcHRpb25zLm5lZWRzRVM1XG4gICAgICA/IGAuL3BkZi5zYW5kYm94LSR7Z2V0VmVyc2lvblN1ZmZpeChhc3NldHNVcmwocGRmRGVmYXVsdE9wdGlvbnMuYXNzZXRzRm9sZGVyKSl9LWVzNSR7cGRmRGVmYXVsdE9wdGlvbnMuX2ludGVybmFsRmlsZW5hbWVTdWZmaXh9Lm1qc2BcbiAgICAgIDogYC4vcGRmLnNhbmRib3gtJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0ke3BkZkRlZmF1bHRPcHRpb25zLl9pbnRlcm5hbEZpbGVuYW1lU3VmZml4fS5tanNgLFxuICB3b3JrZXJTcmM6ICgpID0+XG4gICAgcGRmRGVmYXVsdE9wdGlvbnMubmVlZHNFUzVcbiAgICAgID8gYCR7YXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlcil9L3BkZi53b3JrZXItJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0tZXM1Lm1qc2BcbiAgICAgIDogYCR7YXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlcil9L3BkZi53b3JrZXItJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0ubWpzYCxcbiAgc3RhbmRhcmRGb250RGF0YVVybDogKCkgPT4gYCR7YXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlciwgJy8uLicpfS9zdGFuZGFyZF9mb250cy9gLFxuXG4gIC8vIG9wdGlvbnMgc3BlY2lmaWMgdG8gbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIgKGFzIG9wcG9zZWQgdG8gYmVpbmcgdXNlZCBieSBwZGYuanMpXG4gIGRvdWJsZVRhcFpvb21GYWN0b3I6ICdwYWdlLXdpZHRoJyxcbiAgZG91YmxlVGFwWm9vbXNJbkhhbmRNb2RlOiB0cnVlLFxuICBkb3VibGVUYXBab29tc0luVGV4dFNlbGVjdGlvbk1vZGU6IGZhbHNlLFxuICBkb3VibGVUYXBSZXNldHNab29tT25TZWNvbmREb3VibGVUYXA6IGZhbHNlLFxuICBlbmFibGVTY3JpcHRpbmc6IHRydWUsXG4gIGRlZmF1bHRDYWNoZVNpemU6IDUwLFxuICBwYXNzd29yZFByb21wdDogdW5kZWZpbmVkLFxuICBsb2NhbGU6IGdldERlZmF1bHRMYW5ndWFnZSgpLFxuICBhY3RpdmF0ZVdpbGxSZWFkRnJlcXVlbnRseUZsYWc6IGZhbHNlLFxufTtcblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIGlmICgoPGFueT53aW5kb3cpLnBkZkRlZmF1bHRPcHRpb25zKSB7XG4gICAgcGRmRGVmYXVsdE9wdGlvbnMgPSAoPGFueT53aW5kb3cpLnBkZkRlZmF1bHRPcHRpb25zO1xuICB9IGVsc2Uge1xuICAgICg8YW55PndpbmRvdykucGRmRGVmYXVsdE9wdGlvbnMgPSBwZGZEZWZhdWx0T3B0aW9ucztcbiAgfVxufVxuIl19