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.
113 lines • 14 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 = '3.4.492';
export const pdfjsBleedingEdgeVersion = '3.5.376';
export function getVersionSuffix(folder) {
if (folder && folder.includes('bleeding-edge')) {
return pdfjsBleedingEdgeVersion;
}
return pdfjsVersion;
}
export function assetsUrl(url) {
if (url.includes('://')) {
// the assets folder is on an absolute path (like https://example.com/assets)
return url;
}
return `./${url}`;
}
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: false,
isEvalSupported: true,
isOffscreenCanvasSupported: true,
maxImageSize: -1,
pdfBug: false,
postMessageTransfers: true,
verbosity: 1,
workerPort: null,
assetsFolder: 'assets',
sandboxBundleSrc: () => pdfDefaultOptions.needsES5
? `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.sandbox-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}-es5.js`
: `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.sandbox-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}.js`,
workerSrc: () => pdfDefaultOptions.needsES5
? `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.worker-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}-es5.js`
: `${assetsUrl(pdfDefaultOptions.assetsFolder)}/pdf.worker-${getVersionSuffix(assetsUrl(pdfDefaultOptions.assetsFolder))}.js`,
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(),
};
if (typeof window !== 'undefined') {
if (window.pdfDefaultOptions) {
pdfDefaultOptions = window.pdfDefaultOptions;
}
else {
window.pdfDefaultOptions = pdfDefaultOptions;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWRlZmF1bHQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvb3B0aW9ucy9wZGYtZGVmYXVsdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU8sTUFBTyxDQUFDLG9CQUFvQixJQUFJLENBQUMsQ0FBTyxRQUFTLENBQUMsWUFBWSxDQUFDO0FBQy9ILE1BQU0sTUFBTSxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRixNQUFNLFFBQVEsR0FBRyxPQUFPLGNBQWMsS0FBSyxXQUFXLElBQUksT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssV0FBVyxDQUFDO0FBRXZHLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsU0FBUyxDQUFDO0FBQ2xELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFjO0lBQzdDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDOUMsT0FBTyx3QkFBd0IsQ0FBQztLQUNqQztJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVc7SUFDbkMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLDZFQUE2RTtRQUM3RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLGNB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aUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSztJQUNsSSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQ2QsaUJBQWlCLENBQUMsUUFBUTtRQUN4QixDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLGVBQWUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVM7UUFDakksQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLO0lBQ2pJLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sU0FBUyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxrQkFBa0I7SUFFNUYsbUZBQW1GO0lBQ25GLG1CQUFtQixFQUFFLFlBQVk7SUFDakMsd0JBQXdCLEVBQUUsSUFBSTtJQUM5QixpQ0FBaUMsRUFBRSxLQUFLO0lBQ3hDLG9DQUFvQyxFQUFFLEtBQUs7SUFDM0MsZUFBZSxFQUFFLElBQUk7SUFDckIsZ0JBQWdCLEVBQUUsRUFBRTtJQUNwQixjQUFjLEVBQUUsU0FBUztJQUN6QixNQUFNLEVBQUUsa0JBQWtCLEVBQUU7Q0FDN0IsQ0FBQztBQUVGLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO0lBQ2pDLElBQVUsTUFBTyxDQUFDLGlCQUFpQixFQUFFO1FBQ25DLGlCQUFpQixHQUFTLE1BQU8sQ0FBQyxpQkFBaUIsQ0FBQztLQUNyRDtTQUFNO1FBQ0MsTUFBTyxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBQ3JEO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBfaXNJRTExID0gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyBmYWxzZSA6ICEhKDxhbnk+d2luZG93KS5NU0lucHV0TWV0aG9kQ29udGV4dCAmJiAhISg8YW55PmRvY3VtZW50KS5kb2N1bWVudE1vZGU7XG5jb25zdCBpc0VkZ2UgPSB0eXBlb2YgbmF2aWdhdG9yID09PSAndW5kZWZpbmVkJyB8fCAvRWRnZVxcL1xcZC4vaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuY29uc3QgbmVlZHNFUzUgPSB0eXBlb2YgUmVhZGFibGVTdHJlYW0gPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBQcm9taXNlWydhbGxTZXR0bGVkJ10gPT09ICd1bmRlZmluZWQnO1xuXG5leHBvcnQgY29uc3QgcGRmanNWZXJzaW9uID0gJzMuNC40OTInO1xuZXhwb3J0IGNvbnN0IHBkZmpzQmxlZWRpbmdFZGdlVmVyc2lvbiA9ICczLjUuMzc2JztcbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzaW9uU3VmZml4KGZvbGRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGZvbGRlciAmJiBmb2xkZXIuaW5jbHVkZXMoJ2JsZWVkaW5nLWVkZ2UnKSkge1xuICAgIHJldHVybiBwZGZqc0JsZWVkaW5nRWRnZVZlcnNpb247XG4gIH1cbiAgcmV0dXJuIHBkZmpzVmVyc2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2V0c1VybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh1cmwuaW5jbHVkZXMoJzovLycpKSB7XG4gICAgLy8gdGhlIGFzc2V0cyBmb2xkZXIgaXMgb24gYW4gYWJzb2x1dGUgcGF0aCAobGlrZSBodHRwczovL2V4YW1wbGUuY29tL2Fzc2V0cylcbiAgICByZXR1cm4gdXJsO1xuICB9XG4gIHJldHVybiBgLi8ke3VybH1gO1xufVxuXG5jb25zdCBBbm5vdGF0aW9uTW9kZSA9IHtcbiAgRElTQUJMRTogMCxcbiAgRU5BQkxFOiAxLFxuICBFTkFCTEVfRk9STVM6IDIsXG4gIEVOQUJMRV9TVE9SQUdFOiAzLFxufTtcblxuY29uc3QgQW5ub3RhdGlvbkVkaXRvclR5cGUgPSB7XG4gIERJU0FCTEU6IC0xLFxuICBOT05FOiAwLFxuICBGUkVFVEVYVDogMyxcbiAgSU5LOiAxNSxcbn07XG5cbmZ1bmN0aW9uIGdldERlZmF1bHRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbmF2aWdhdG9yPy5sYW5ndWFnZSB8fCAnZW4tVVMnO1xuICB9XG4gIHJldHVybiAnZW4tVVMnO1xufVxuXG5leHBvcnQgbGV0IHBkZkRlZmF1bHRPcHRpb25zID0ge1xuICBuZWVkc0VTNTogX2lzSUUxMSB8fCBpc0VkZ2UgfHwgbmVlZHNFUzUsXG4gIGFubm90YXRpb25FZGl0b3JNb2RlOiAwLFxuICBhbm5vdGF0aW9uTW9kZTogMixcbiAgZGVmYXVsdFpvb21EZWxheTogNDAwLCAvLyBtaWxsaXNlY29uZHNcbiAgY3Vyc29yVG9vbE9uTG9hZDogMCxcbiAgZGVmYXVsdFVybDogJycsXG4gIGRlZmF1bHRab29tVmFsdWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZUhpc3Rvcnk6IGZhbHNlLFxuICBkaXNhYmxlUGFnZUxhYmVsczogZmFsc2UsXG4gIGVuYWJsZVBlcm1pc3Npb25zOiBmYWxzZSxcbiAgZG9jQmFzZVVybDogJycsXG4gIGVuYWJsZVByaW50QXV0b1JvdGF0ZTogdHJ1ZSxcbiAgZXh0ZXJuYWxMaW5rUmVsOiAnbm9vcGVuZXIgbm9yZWZlcnJlciBub2ZvbGxvdycsXG4gIGV4dGVybmFsTGlua1RhcmdldDogMCxcbiAgaGlzdG9yeVVwZGF0ZVVybDogZmFsc2UsXG4gIGlnbm9yZURlc3RpbmF0aW9uWm9vbTogZmFsc2UsXG4gIGltYWdlUmVzb3VyY2VzUGF0aDogJy4vaW1hZ2VzLycsXG4gIG1heENhbnZhc1BpeGVsczogMTY3NzcyMTYsXG4gIGZvcmNlUGFnZUNvbG9yczogZmFsc2UsXG4gIHBhZ2VDb2xvcnNCYWNrZ3JvdW5kOiAnQ2FudmFzJyxcbiAgcGFnZUNvbG9yc0ZvcmVncm91bmQ6ICdDYW52YXNUZXh0JyxcbiAgcGRmQnVnRW5hYmxlZDogZmFsc2UsXG4gIHByaW50UmVzb2x1dGlvbjogMTUwLFxuICByYW5nZUNodW5rU2l6ZTogNjU1MzYsXG4gIHJlbW92ZVBhZ2VCb3JkZXJzOiBmYWxzZSxcbiAgcmVuZGVyZXI6ICdjYW52YXMnLFxuICByZW5kZXJGb3JtczogdHJ1ZSxcbiAgZW5hYmxlWGZhOiB0cnVlLFxuICBmb250RXh0cmFQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgc2lkZWJhclZpZXdPbkxvYWQ6IC0xLFxuICBzY3JvbGxNb2RlT25Mb2FkOiAtMSxcbiAgc3ByZWFkTW9kZU9uTG9hZDogLTEsXG4gIHRleHRMYXllck1vZGU6IDEsXG4gIHVzZU9ubHlDc3Nab29tOiBmYWxzZSxcbiAgLy8gdmlld2VyQ3NzVGhlbWU6IDAsIC8vIG5vdCBzdXBwb3J0ZWQgYnkgbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXJcbiAgdmlld09uTG9hZDogMCxcbiAgY01hcFBhY2tlZDogdHJ1ZSxcbiAgY01hcFVybDogKCkgPT4gYC4uLyR7YXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlcil9L2NtYXBzL2AsXG4gIGRpc2FibGVBdXRvRmV0Y2g6IGZhbHNlLFxuICBkaXNhYmxlRm9udEZhY2U6IGZhbHNlLFxuICBkaXNhYmxlUmFuZ2U6IGZhbHNlLFxuICBkaXNhYmxlU3RyZWFtOiBmYWxzZSxcbiAgaXNFdmFsU3VwcG9ydGVkOiB0cnVlLFxuICBpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDogdHJ1ZSxcbiAgbWF4SW1hZ2VTaXplOiAtMSxcbiAgcGRmQnVnOiBmYWxzZSxcbiAgcG9zdE1lc3NhZ2VUcmFuc2ZlcnM6IHRydWUsXG4gIHZlcmJvc2l0eTogMSxcbiAgd29ya2VyUG9ydDogbnVsbCxcbiAgYXNzZXRzRm9sZGVyOiAnYXNzZXRzJyxcbiAgc2FuZGJveEJ1bmRsZVNyYzogKCkgPT5cbiAgICBwZGZEZWZhdWx0T3B0aW9ucy5uZWVkc0VTNVxuICAgICAgPyBgJHthc3NldHNVcmwocGRmRGVmYXVsdE9wdGlvbnMuYXNzZXRzRm9sZGVyKX0vcGRmLnNhbmRib3gtJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0tZXM1LmpzYFxuICAgICAgOiBgJHthc3NldHNVcmwocGRmRGVmYXVsdE9wdGlvbnMuYXNzZXRzRm9sZGVyKX0vcGRmLnNhbmRib3gtJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0uanNgLFxuICB3b3JrZXJTcmM6ICgpID0+XG4gICAgcGRmRGVmYXVsdE9wdGlvbnMubmVlZHNFUzVcbiAgICAgID8gYCR7YXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlcil9L3BkZi53b3JrZXItJHtnZXRWZXJzaW9uU3VmZml4KGFzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpKX0tZXM1LmpzYFxuICAgICAgOiBgJHthc3NldHNVcmwocGRmRGVmYXVsdE9wdGlvbnMuYXNzZXRzRm9sZGVyKX0vcGRmLndvcmtlci0ke2dldFZlcnNpb25TdWZmaXgoYXNzZXRzVXJsKHBkZkRlZmF1bHRPcHRpb25zLmFzc2V0c0ZvbGRlcikpfS5qc2AsXG4gIHN0YW5kYXJkRm9udERhdGFVcmw6ICgpID0+IGAuLi8ke2Fzc2V0c1VybChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpfS9zdGFuZGFyZF9mb250cy9gLFxuXG4gIC8vIG9wdGlvbnMgc3BlY2lmaWMgdG8gbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIgKGFzIG9wcG9zZWQgdG8gYmVpbmcgdXNlZCBieSBwZGYuanMpXG4gIGRvdWJsZVRhcFpvb21GYWN0b3I6ICdwYWdlLXdpZHRoJyxcbiAgZG91YmxlVGFwWm9vbXNJbkhhbmRNb2RlOiB0cnVlLFxuICBkb3VibGVUYXBab29tc0luVGV4dFNlbGVjdGlvbk1vZGU6IGZhbHNlLFxuICBkb3VibGVUYXBSZXNldHNab29tT25TZWNvbmREb3VibGVUYXA6IGZhbHNlLFxuICBlbmFibGVTY3JpcHRpbmc6IHRydWUsXG4gIGRlZmF1bHRDYWNoZVNpemU6IDUwLFxuICBwYXNzd29yZFByb21wdDogdW5kZWZpbmVkLFxuICBsb2NhbGU6IGdldERlZmF1bHRMYW5ndWFnZSgpLFxufTtcblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIGlmICgoPGFueT53aW5kb3cpLnBkZkRlZmF1bHRPcHRpb25zKSB7XG4gICAgcGRmRGVmYXVsdE9wdGlvbnMgPSAoPGFueT53aW5kb3cpLnBkZkRlZmF1bHRPcHRpb25zO1xuICB9IGVsc2Uge1xuICAgICg8YW55PndpbmRvdykucGRmRGVmYXVsdE9wdGlvbnMgPSBwZGZEZWZhdWx0T3B0aW9ucztcbiAgfVxufVxuIl19