@anohanafes/offline-document-viewer
Version:
🔒 完全离线的多格式文档预览器 - 支持PDF、DOCX、PPTX、XLSX、CSV,按需加载,支持URL预览
1,136 lines (1,135 loc) • 2.02 MB
JavaScript
/**
* @licstart The following is the entire license notice for the
* Javascript code in this page
*
* Copyright 2021 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @licend The above is the entire license notice for the
* Javascript code in this page
*/
!function webpackUniversalModuleDefinition(e, t) {
"object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define("pdfjs-dist/build/pdf.worker", [], t) : "object" == typeof exports ? exports["pdfjs-dist/build/pdf.worker"] = t() : e["pdfjs-dist/build/pdf.worker"] = e.pdfjsWorker = t()
}(this, (function() {
return ( () => {
"use strict";
var e = [, (e, t, r) => {
Object.defineProperty(t, "__esModule", {
value: !0
});
t.WorkerTask = t.WorkerMessageHandler = void 0;
var a = r(2)
, i = r(5)
, n = r(7)
, s = r(64)
, o = r(4)
, c = r(89)
, l = r(90)
, h = r(9);
class WorkerTask {
constructor(e) {
this.name = e;
this.terminated = !1;
this._capability = (0,
a.createPromiseCapability)()
}
get finished() {
return this._capability.promise
}
finish() {
this._capability.resolve()
}
terminate() {
this.terminated = !0
}
ensureNotTerminated() {
if (this.terminated)
throw new Error("Worker task was terminated")
}
}
t.WorkerTask = WorkerTask;
class WorkerMessageHandler {
static setup(e, t) {
let r = !1;
e.on("test", (function wphSetupTest(t) {
if (r)
return;
r = !0;
if (!(t instanceof Uint8Array)) {
e.send("test", null);
return
}
const a = 255 === t[0];
e.postMessageTransfers = a;
e.send("test", {
supportTransfers: a
})
}
));
e.on("configure", (function wphConfigure(e) {
(0,
a.setVerbosityLevel)(e.verbosity)
}
));
e.on("GetDocRequest", (function wphSetupDoc(e) {
return WorkerMessageHandler.createDocumentHandler(e, t)
}
))
}
static createDocumentHandler(e, t) {
let r, o = !1, u = null;
const d = []
, f = (0,
a.getVerbosityLevel)()
, g = e.apiVersion
, p = "2.9.359";
if (g !== p)
throw new Error(`The API version "${g}" does not match the Worker version "2.9.359".`);
const m = [];
for (const e in [])
m.push(e);
if (m.length)
throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + m.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s.");
if ("undefined" == typeof ReadableStream)
throw new Error("The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream`); please use a `legacy`-build instead.");
const b = e.docId
, y = e.docBaseUrl
, w = e.docId + "_worker";
let S = new c.MessageHandler(w,b,t);
S.postMessageTransfers = e.postMessageTransfers;
function ensureNotTerminated() {
if (o)
throw new Error("Worker was terminated")
}
function startWorkerTask(e) {
d.push(e)
}
function finishWorkerTask(e) {
e.finish();
const t = d.indexOf(e);
d.splice(t, 1)
}
async function loadDocument(e) {
await r.ensureDoc("checkHeader");
await r.ensureDoc("parseStartXRef");
await r.ensureDoc("parse", [e]);
e || await r.ensureDoc("checkFirstPage");
const [t,a,i] = await Promise.all([r.ensureDoc("numPages"), r.ensureDoc("fingerprint"), r.ensureDoc("isPureXfa")]);
if (i) {
const e = new WorkerTask("loadXfaFonts");
startWorkerTask(e);
await r.loadXfaFonts(S, e).catch((e => {}
)).then(( () => finishWorkerTask(e)))
}
return {
numPages: t,
fingerprint: a,
isPureXfa: i
}
}
function getPdfManager(e, t, r) {
const i = (0,
a.createPromiseCapability)();
let s;
const o = e.source;
if (o.data) {
try {
s = new n.LocalPdfManager(b,o.data,o.password,t,r,y);
i.resolve(s)
} catch (e) {
i.reject(e)
}
return i.promise
}
let c, h = [];
try {
c = new l.PDFWorkerStream(S)
} catch (e) {
i.reject(e);
return i.promise
}
const d = c.getFullReader();
d.headersReady.then((function() {
if (!d.isRangeSupported)
return;
const e = o.disableAutoFetch || d.isStreamingSupported;
s = new n.NetworkPdfManager(b,c,{
msgHandler: S,
password: o.password,
length: d.contentLength,
disableAutoFetch: e,
rangeChunkSize: o.rangeChunkSize
},t,r,y);
for (let e = 0; e < h.length; e++)
s.sendProgressiveData(h[e]);
h = [];
i.resolve(s);
u = null
}
)).catch((function(e) {
i.reject(e);
u = null
}
));
let f = 0;
new Promise((function(e, c) {
const readChunk = function({value: e, done: l}) {
try {
ensureNotTerminated();
if (l) {
s || function() {
const e = (0,
a.arraysToBytes)(h);
o.length && e.length !== o.length && (0,
a.warn)("reported HTTP length is different from actual");
try {
s = new n.LocalPdfManager(b,e,o.password,t,r,y);
i.resolve(s)
} catch (e) {
i.reject(e)
}
h = []
}();
u = null;
return
}
f += (0,
a.arrayByteLength)(e);
d.isStreamingSupported || S.send("DocProgress", {
loaded: f,
total: Math.max(f, d.contentLength || 0)
});
s ? s.sendProgressiveData(e) : h.push(e);
d.read().then(readChunk, c)
} catch (e) {
c(e)
}
};
d.read().then(readChunk, c)
}
)).catch((function(e) {
i.reject(e);
u = null
}
));
u = function(e) {
c.cancelAllRequests(e)
}
;
return i.promise
}
S.on("GetPage", (function wphSetupGetPage(e) {
return r.getPage(e.pageIndex).then((function(e) {
return Promise.all([r.ensure(e, "rotate"), r.ensure(e, "ref"), r.ensure(e, "userUnit"), r.ensure(e, "view")]).then((function([e,t,r,a]) {
return {
rotate: e,
ref: t,
userUnit: r,
view: a
}
}
))
}
))
}
));
S.on("GetPageIndex", (function wphSetupGetPageIndex({ref: e}) {
const t = i.Ref.get(e.num, e.gen);
return r.ensureCatalog("getPageIndex", [t])
}
));
S.on("GetDestinations", (function wphSetupGetDestinations(e) {
return r.ensureCatalog("destinations")
}
));
S.on("GetDestination", (function wphSetupGetDestination(e) {
return r.ensureCatalog("getDestination", [e.id])
}
));
S.on("GetPageLabels", (function wphSetupGetPageLabels(e) {
return r.ensureCatalog("pageLabels")
}
));
S.on("GetPageLayout", (function wphSetupGetPageLayout(e) {
return r.ensureCatalog("pageLayout")
}
));
S.on("GetPageMode", (function wphSetupGetPageMode(e) {
return r.ensureCatalog("pageMode")
}
));
S.on("GetViewerPreferences", (function(e) {
return r.ensureCatalog("viewerPreferences")
}
));
S.on("GetOpenAction", (function(e) {
return r.ensureCatalog("openAction")
}
));
S.on("GetAttachments", (function wphSetupGetAttachments(e) {
return r.ensureCatalog("attachments")
}
));
S.on("GetJavaScript", (function wphSetupGetJavaScript(e) {
return r.ensureCatalog("javaScript")
}
));
S.on("GetDocJSActions", (function wphSetupGetDocJSActions(e) {
return r.ensureCatalog("jsActions")
}
));
S.on("GetPageJSActions", (function({pageIndex: e}) {
return r.getPage(e).then((function(e) {
return r.ensure(e, "jsActions")
}
))
}
));
S.on("GetPageXfa", (function wphSetupGetXfa({pageIndex: e}) {
return r.getPage(e).then((function(e) {
return r.ensure(e, "xfaData")
}
))
}
));
S.on("GetOutline", (function wphSetupGetOutline(e) {
return r.ensureCatalog("documentOutline")
}
));
S.on("GetOptionalContentConfig", (function(e) {
return r.ensureCatalog("optionalContentConfig")
}
));
S.on("GetPermissions", (function(e) {
return r.ensureCatalog("permissions")
}
));
S.on("GetMetadata", (function wphSetupGetMetadata(e) {
return Promise.all([r.ensureDoc("documentInfo"), r.ensureCatalog("metadata")])
}
));
S.on("GetMarkInfo", (function wphSetupGetMarkInfo(e) {
return r.ensureCatalog("markInfo")
}
));
S.on("GetData", (function wphSetupGetData(e) {
r.requestLoadedStream();
return r.onLoadedStream().then((function(e) {
return e.bytes
}
))
}
));
S.on("GetStats", (function wphSetupGetStats(e) {
return r.ensureXRef("stats")
}
));
S.on("GetAnnotations", (function({pageIndex: e, intent: t}) {
return r.getPage(e).then((function(e) {
return e.getAnnotationsData(t)
}
))
}
));
S.on("GetFieldObjects", (function(e) {
return r.ensureDoc("fieldObjects")
}
));
S.on("HasJSActions", (function(e) {
return r.ensureDoc("hasJSActions")
}
));
S.on("GetCalculationOrderIds", (function(e) {
return r.ensureDoc("calculationOrderIds")
}
));
S.on("SaveDocument", (function({numPages: e, annotationStorage: t, filename: n}) {
r.requestLoadedStream();
const o = [r.onLoadedStream(), r.ensureCatalog("acroForm"), r.ensureDoc("xref"), r.ensureDoc("startXRef")];
for (let a = 0; a < e; a++)
o.push(r.getPage(a).then((function(e) {
const r = new WorkerTask(`Save: page ${a}`);
startWorkerTask(r);
return e.save(S, r, t).finally((function() {
finishWorkerTask(r)
}
))
}
)));
return Promise.all(o).then((function([e,t,r,o,...c]) {
let l = [];
for (const e of c)
l = e.filter((e => null !== e)).reduce(( (e, t) => e.concat(t)), l);
if (0 === l.length)
return e.bytes;
const h = t instanceof i.Dict && t.get("XFA") || [];
let u = null;
if (Array.isArray(h))
for (let e = 0, t = h.length; e < t; e += 2)
"datasets" === h[e] && (u = h[e + 1]);
else
(0,
a.warn)("Unsupported XFA type.");
let d = Object.create(null);
if (r.trailer) {
const e = Object.create(null)
, t = r.trailer.get("Info") || null;
t instanceof i.Dict && t.forEach(( (t, r) => {
(0,
a.isString)(t) && (0,
a.isString)(r) && (e[t] = (0,
a.stringToPDFString)(r))
}
));
d = {
rootRef: r.trailer.getRaw("Root") || null,
encryptRef: r.trailer.getRaw("Encrypt") || null,
newRef: r.getNewRef(),
infoRef: r.trailer.getRaw("Info") || null,
info: e,
fileIds: r.trailer.get("ID") || null,
startXRef: o,
filename: n
}
}
r.resetNewRef();
return (0,
s.incrementalUpdate)({
originalData: e.bytes,
xrefInfo: d,
newRefs: l,
xref: r,
datasetsRef: u
})
}
))
}
));
S.on("GetOperatorList", (function wphSetupRenderPage(e, t) {
const i = e.pageIndex;
r.getPage(i).then((function(r) {
const n = new WorkerTask(`GetOperatorList: page ${i}`);
startWorkerTask(n);
const s = f >= a.VerbosityLevel.INFOS ? Date.now() : 0;
r.getOperatorList({
handler: S,
sink: t,
task: n,
intent: e.intent,
renderInteractiveForms: e.renderInteractiveForms,
annotationStorage: e.annotationStorage
}).then((function(e) {
finishWorkerTask(n);
s && (0,
a.info)(`page=${i + 1} - getOperatorList: time=${Date.now() - s}ms, len=${e.length}`);
t.close()
}
), (function(e) {
finishWorkerTask(n);
if (!n.terminated) {
S.send("UnsupportedFeature", {
featureId: a.UNSUPPORTED_FEATURES.errorOperatorList
});
t.error(e)
}
}
))
}
))
}
));
S.on("GetTextContent", (function wphExtractText(e, t) {
const i = e.pageIndex;
t.onPull = function(e) {}
;
t.onCancel = function(e) {}
;
r.getPage(i).then((function(r) {
const n = new WorkerTask("GetTextContent: page " + i);
startWorkerTask(n);
const s = f >= a.VerbosityLevel.INFOS ? Date.now() : 0;
r.extractTextContent({
handler: S,
task: n,
sink: t,
normalizeWhitespace: e.normalizeWhitespace,
includeMarkedContent: e.includeMarkedContent,
combineTextItems: e.combineTextItems
}).then((function() {
finishWorkerTask(n);
s && (0,
a.info)(`page=${i + 1} - getTextContent: time=` + (Date.now() - s) + "ms");
t.close()
}
), (function(e) {
finishWorkerTask(n);
n.terminated || t.error(e)
}
))
}
))
}
));
S.on("GetStructTree", (function wphGetStructTree(e) {
return r.getPage(e.pageIndex).then((function(e) {
return r.ensure(e, "getStructTree")
}
))
}
));
S.on("FontFallback", (function(e) {
return r.fontFallback(e.id, S)
}
));
S.on("Cleanup", (function wphCleanup(e) {
return r.cleanup(!0)
}
));
S.on("Terminate", (function wphTerminate(e) {
o = !0;
const t = [];
if (r) {
r.terminate(new a.AbortException("Worker was terminated."));
const e = r.cleanup();
t.push(e);
r = null
} else
(0,
i.clearPrimitiveCaches)();
u && u(new a.AbortException("Worker was terminated."));
for (const e of d) {
t.push(e.finished);
e.terminate()
}
return Promise.all(t).then((function() {
S.destroy();
S = null
}
))
}
));
S.on("Ready", (function wphReady(t) {
!function setupDoc(e) {
function onSuccess(e) {
ensureNotTerminated();
S.send("GetDoc", {
pdfInfo: e
})
}
function onFailure(e) {
ensureNotTerminated();
if (e instanceof a.PasswordException) {
const t = new WorkerTask(`PasswordException: response ${e.code}`);
startWorkerTask(t);
S.sendWithPromise("PasswordRequest", e).then((function({password: e}) {
finishWorkerTask(t);
r.updatePassword(e);
pdfManagerReady()
}
)).catch((function() {
finishWorkerTask(t);
S.send("DocException", e)
}
))
} else
e instanceof a.InvalidPDFException || e instanceof a.MissingPDFException || e instanceof a.UnexpectedResponseException || e instanceof a.UnknownErrorException ? S.send("DocException", e) : S.send("DocException", new a.UnknownErrorException(e.message,e.toString()))
}
function pdfManagerReady() {
ensureNotTerminated();
loadDocument(!1).then(onSuccess, (function(e) {
ensureNotTerminated();
if (e instanceof h.XRefParseException) {
r.requestLoadedStream();
r.onLoadedStream().then((function() {
ensureNotTerminated();
loadDocument(!0).then(onSuccess, onFailure)
}
))
} else
onFailure(e)
}
))
}
ensureNotTerminated();
getPdfManager(e, {
maxImageSize: e.maxImageSize,
disableFontFace: e.disableFontFace,
ignoreErrors: e.ignoreErrors,
isEvalSupported: e.isEvalSupported,
fontExtraProperties: e.fontExtraProperties
}, e.enableXfa).then((function(e) {
if (o) {
e.terminate(new a.AbortException("Worker was terminated."));
throw new Error("Worker was terminated")
}
r = e;
r.onLoadedStream().then((function(e) {
S.send("DataLoaded", {
length: e.bytes.byteLength
})
}
))
}
)).then(pdfManagerReady, onFailure)
}(e);
e = null
}
));
return w
}
static initializeFromPort(e) {
const t = new c.MessageHandler("worker","main",e);
WorkerMessageHandler.setup(t, e);
t.send("ready", null)
}
}
t.WorkerMessageHandler = WorkerMessageHandler;
"undefined" == typeof window && !o.isNodeJS && "undefined" != typeof self && function isMessagePort(e) {
return "function" == typeof e.postMessage && "onmessage"in e
}(self) && WorkerMessageHandler.initializeFromPort(self)
}
, (e, t, r) => {
Object.defineProperty(t, "__esModule", {
value: !0
});
t.arrayByteLength = arrayByteLength;
t.arraysToBytes = function arraysToBytes(e) {
const t = e.length;
if (1 === t && e[0]instanceof Uint8Array)
return e[0];
let r = 0;
for (let a = 0; a < t; a++)
r += arrayByteLength(e[a]);
let a = 0;
const i = new Uint8Array(r);
for (let r = 0; r < t; r++) {
let t = e[r];
t instanceof Uint8Array || (t = "string" == typeof t ? stringToBytes(t) : new Uint8Array(t));
const n = t.byteLength;
i.set(t, a);
a += n
}
return i
}
;
t.assert = assert;
t.bytesToString = function bytesToString(e) {
assert(null !== e && "object" == typeof e && void 0 !== e.length, "Invalid argument for bytesToString");
const t = e.length
, r = 8192;
if (t < r)
return String.fromCharCode.apply(null, e);
const a = [];
for (let i = 0; i < t; i += r) {
const n = Math.min(i + r, t)
, s = e.subarray(i, n);
a.push(String.fromCharCode.apply(null, s))
}
return a.join("")
}
;
t.createObjectURL = function createObjectURL(e, t="", r=!1) {
if (URL.createObjectURL && !r)
return URL.createObjectURL(new Blob([e],{
type: t
}));
const a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
let i = `data:${t};base64,`;
for (let t = 0, r = e.length; t < r; t += 3) {
const n = 255 & e[t]
, s = 255 & e[t + 1]
, o = 255 & e[t + 2];
i += a[n >> 2] + a[(3 & n) << 4 | s >> 4] + a[t + 1 < r ? (15 & s) << 2 | o >> 6 : 64] + a[t + 2 < r ? 63 & o : 64]
}
return i
}
;
t.createPromiseCapability = function createPromiseCapability() {
const e = Object.create(null);
let t = !1;
Object.defineProperty(e, "settled", {
get: () => t
});
e.promise = new Promise((function(r, a) {
e.resolve = function(e) {
t = !0;
r(e)
}
;
e.reject = function(e) {
t = !0;
a(e)
}
}
));
return e
}
;
t.createValidAbsoluteUrl = function createValidAbsoluteUrl(e, t) {
if (!e)
return null;
try {
const r = t ? new URL(e,t) : new URL(e);
if (function _isValidProtocol(e) {
if (!e)
return !1;
switch (e.protocol) {
case "http:":
case "https:":
case "ftp:":
case "mailto:":
case "tel:":
return !0;
default:
return !1
}
}(r))
return r
} catch (e) {}
return null
}
;
t.escapeString = function escapeString(e) {
return e.replace(/([()\\\n\r])/g, (e => "\n" === e ? "\\n" : "\r" === e ? "\\r" : `\\${e}`))
}
;
t.getModificationDate = function getModificationDate(e=new Date) {
return [e.getUTCFullYear().toString(), (e.getUTCMonth() + 1).toString().padStart(2, "0"), e.getUTCDate().toString().padStart(2, "0"), e.getUTCHours().toString().padStart(2, "0"), e.getUTCMinutes().toString().padStart(2, "0"), e.getUTCSeconds().toString().padStart(2, "0")].join("")
}
;
t.getVerbosityLevel = function getVerbosityLevel() {
return i
}
;
t.info = function info(e) {
i >= a.INFOS && console.log(`Info: ${e}`)
}
;
t.isArrayBuffer = function isArrayBuffer(e) {
return "object" == typeof e && null !== e && void 0 !== e.byteLength
}
;
t.isArrayEqual = function isArrayEqual(e, t) {
if (e.length !== t.length)
return !1;
for (let r = 0, a = e.length; r < a; r++)
if (e[r] !== t[r])
return !1;
return !0
}
;
t.isAscii = function isAscii(e) {
return /^[\x00-\x7F]*$/.test(e)
}
;
t.isBool = function isBool(e) {
return "boolean" == typeof e
}
;
t.isNum = function isNum(e) {
return "number" == typeof e
}
;
t.isSameOrigin = function isSameOrigin(e, t) {
let r;
try {
r = new URL(e);
if (!r.origin || "null" === r.origin)
return !1
} catch (e) {
return !1
}
const a = new URL(t,r);
return r.origin === a.origin
}
;
t.isString = function isString(e) {
return "string" == typeof e
}
;
t.objectFromMap = function objectFromMap(e) {
const t = Object.create(null);
for (const [r,a] of e)
t[r] = a;
return t
}
;
t.objectSize = function objectSize(e) {
return Object.keys(e).length
}
;
t.removeNullCharacters = function removeNullCharacters(e) {
if ("string" != typeof e) {
warn("The argument for removeNullCharacters must be a string.");
return e
}
return e.replace(s, "")
}
;
t.setVerbosityLevel = function setVerbosityLevel(e) {
Number.isInteger(e) && (i = e)
}
;
t.shadow = shadow;
t.string32 = function string32(e) {
return String.fromCharCode(e >> 24 & 255, e >> 16 & 255, e >> 8 & 255, 255 & e)
}
;
t.stringToBytes = stringToBytes;
t.stringToPDFString = function stringToPDFString(e) {
const t = e.length
, r = [];
if ("þ" === e[0] && "ÿ" === e[1])
for (let a = 2; a < t; a += 2)
r.push(String.fromCharCode(e.charCodeAt(a) << 8 | e.charCodeAt(a + 1)));
else if ("ÿ" === e[0] && "þ" === e[1])
for (let a = 2; a < t; a += 2)
r.push(String.fromCharCode(e.charCodeAt(a + 1) << 8 | e.charCodeAt(a)));
else
for (let a = 0; a < t; ++a) {
const t = h[e.charCodeAt(a)];
r.push(t ? String.fromCharCode(t) : e.charAt(a))
}
return r.join("")
}
;
t.stringToUTF16BEString = function stringToUTF16BEString(e) {
const t = ["þÿ"];
for (let r = 0, a = e.length; r < a; r++) {
const a = e.charCodeAt(r);
t.push(String.fromCharCode(a >> 8 & 255), String.fromCharCode(255 & a))
}
return t.join("")
}
;
t.stringToUTF8String = function stringToUTF8String(e) {
return decodeURIComponent(escape(e))
}
;
t.unreachable = unreachable;
t.utf8StringToString = function utf8StringToString(e) {
return unescape(encodeURIComponent(e))
}
;
t.warn = warn;
t.VerbosityLevel = t.Util = t.UNSUPPORTED_FEATURES = t.UnknownErrorException = t.UnexpectedResponseException = t.TextRenderingMode = t.StreamType = t.PermissionFlag = t.PasswordResponses = t.PasswordException = t.PageActionEventType = t.OPS = t.MissingPDFException = t.IsLittleEndianCached = t.IsEvalSupportedCached = t.InvalidPDFException = t.ImageKind = t.IDENTITY_MATRIX = t.FormatError = t.FontType = t.FONT_IDENTITY_MATRIX = t.DocumentActionEventType = t.CMapCompressionType = t.BaseException = t.AnnotationType = t.AnnotationStateModelType = t.AnnotationReviewState = t.AnnotationReplyType = t.AnnotationMarkedState = t.AnnotationFlag = t.AnnotationFieldFlag = t.AnnotationBorderStyleType = t.AnnotationActionEventType = t.AbortException = void 0;
r(3);
t.IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
t.FONT_IDENTITY_MATRIX = [.001, 0, 0, .001, 0, 0];
t.PermissionFlag = {
PRINT: 4,
MODIFY_CONTENTS: 8,
COPY: 16,
MODIFY_ANNOTATIONS: 32,
FILL_INTERACTIVE_FORMS: 256,
COPY_FOR_ACCESSIBILITY: 512,
ASSEMBLE: 1024,
PRINT_HIGH_QUALITY: 2048
};
t.TextRenderingMode = {
FILL: 0,
STROKE: 1,
FILL_STROKE: 2,
INVISIBLE: 3,
FILL_ADD_TO_PATH: 4,
STROKE_ADD_TO_PATH: 5,
FILL_STROKE_ADD_TO_PATH: 6,
ADD_TO_PATH: 7,
FILL_STROKE_MASK: 3,
ADD_TO_PATH_FLAG: 4
};
t.ImageKind = {
GRAYSCALE_1BPP: 1,
RGB_24BPP: 2,
RGBA_32BPP: 3
};
t.AnnotationType = {
TEXT: 1,
LINK: 2,
FREETEXT: 3,
LINE: 4,
SQUARE: 5,
CIRCLE: 6,
POLYGON: 7,
POLYLINE: 8,
HIGHLIGHT: 9,
UNDERLINE: 10,
SQUIGGLY: 11,
STRIKEOUT: 12,
STAMP: 13,
CARET: 14,
INK: 15,
POPUP: 16,
FILEATTACHMENT: 17,
SOUND: 18,
MOVIE: 19,
WIDGET: 20,
SCREEN: 21,
PRINTERMARK: 22,
TRAPNET: 23,
WATERMARK: 24,
THREED: 25,
REDACT: 26
};
t.AnnotationStateModelType = {
MARKED: "Marked",
REVIEW: "Review"
};
t.AnnotationMarkedState = {
MARKED: "Marked",
UNMARKED: "Unmarked"
};
t.AnnotationReviewState = {
ACCEPTED: "Accepted",
REJECTED: "Rejected",
CANCELLED: "Cancelled",
COMPLETED: "Completed",
NONE: "None"
};
t.AnnotationReplyType = {
GROUP: "Group",
REPLY: "R"
};
t.AnnotationFlag = {
INVISIBLE: 1,
HIDDEN: 2,
PRINT: 4,
NOZOOM: 8,
NOROTATE: 16,
NOVIEW: 32,
READONLY: 64,
LOCKED: 128,
TOGGLENOVIEW: 256,
LOCKEDCONTENTS: 512
};
t.AnnotationFieldFlag = {
READONLY: 1,
REQUIRED: 2,
NOEXPORT: 4,
MULTILINE: 4096,
PASSWORD: 8192,
NOTOGGLETOOFF: 16384,
RADIO: 32768,
PUSHBUTTON: 65536,
COMBO: 131072,
EDIT: 262144,
SORT: 524288,
FILESELECT: 1048576,
MULTISELECT: 2097152,
DONOTSPELLCHECK: 4194304,
DONOTSCROLL: 8388608,
COMB: 16777216,
RICHTEXT: 33554432,
RADIOSINUNISON: 33554432,
COMMITONSELCHANGE: 67108864
};
t.AnnotationBorderStyleType = {
SOLID: 1,
DASHED: 2,
BEVELED: 3,
INSET: 4,
UNDERLINE: 5
};
t.AnnotationActionEventType = {
E: "Mouse Enter",
X: "Mouse Exit",
D: "Mouse Down",
U: "Mouse Up",
Fo: "Focus",
Bl: "Blur",
PO: "PageOpen",
PC: "PageClose",
PV: "PageVisible",
PI: "PageInvisible",
K: "Keystroke",
F: "Format",
V: "Validate",
C: "Calculate"
};
t.DocumentActionEventType = {
WC: "WillClose",
WS: "WillSave",
DS: "DidSave",
WP: "WillPrint",
DP: "DidPrint"
};
t.PageActionEventType = {
O: "PageOpen",
C: "PageClose"
};
t.StreamType = {
UNKNOWN: "UNKNOWN",
FLATE: "FLATE",
LZW: "LZW",
DCT: "DCT",
JPX: "JPX",
JBIG: "JBIG",
A85: "A85",
AHX: "AHX",
CCF: "CCF",
RLX: "RLX"
};
t.FontType = {
UNKNOWN: "UNKNOWN",
TYPE1: "TYPE1",
TYPE1C: "TYPE1C",
CIDFONTTYPE0: "CIDFONTTYPE0",
CIDFONTTYPE0C: "CIDFONTTYPE0C",
TRUETYPE: "TRUETYPE",
CIDFONTTYPE2: "CIDFONTTYPE2",
TYPE3: "TYPE3",
OPENTYPE: "OPENTYPE",
TYPE0: "TYPE0",
MMTYPE1: "MMTYPE1"
};
const a = {
ERRORS: 0,
WARNINGS: 1,
INFOS: 5
};
t.VerbosityLevel = a;
t.CMapCompressionType = {
NONE: 0,
BINARY: 1,
STREAM: 2
};
t.OPS = {
dependency: 1,
setLineWidth: 2,
setLineCap: 3,
setLineJoin: 4,
setMiterLimit: 5,
setDash: 6,
setRenderingIntent: 7,
setFlatness: 8,
setGState: 9,
save: 10,
restore: 11,
transform: 12,
moveTo: 13,
lineTo: 14,
curveTo: 15,
curveTo2: 16,
curveTo3: 17,
closePath: 18,
rectangle: 19,
stroke: 20,
closeStroke: 21,
fill: 22,
eoFill: 23,
fillStroke: 24,
eoFillStroke: 25,
closeFillStroke: 26,
closeEOFillStroke: 27,
endPath: 28,
clip: 29,
eoClip: 30,
beginText: 31,
endText: 32,
setCharSpacing: 33,
setWordSpacing: 34,
setHScale: 35,
setLeading: 36,
setFont: 37,
setTextRenderingMode: 38,
setTextRise: 39,
moveText: 40,
setLeadingMoveText: 41,
setTextMatrix: 42,
nextLine: 43,
showText: 44,
showSpacedText: 45,
nextLineShowText: 46,
nextLineSetSpacingShowText: 47,
setCharWidth: 48,
setCharWidthAndBounds: 49,
setStrokeColorSpace: 50,
setFillColorSpace: 51,
setStrokeColor: 52,
setStrokeColorN: 53,
setFillColor: 54,
setFillColorN: 55,
setStrokeGray: 56,
setFillGray: 57,
setStrokeRGBColor: 58,
setFillRGBColor: 59,
setStrokeCMYKColor: 60,
setFillCMYKColor: 61,
shadingFill: 62,
beginInlineImage: 63,
beginImageData: 64,
endInlineImage: 65,
paintXObject: 66,
markPoint: 67,
markPointProps: 68,
beginMarkedContent: 69,
beginMarkedContentProps: 70,
endMarkedContent: 71,
beginCompat: 72,
endCompat: 73,
paintFormXObjectBegin: 74,
paintFormXObjectEnd: 75,
beginGroup: 76,
endGroup: 77,
beginAnnotations: 78,
endAnnotations: 79,
beginAnnotation: 80,
endAnnotation: 81,
paintJpegXObject: 82,
paintImageMaskXObject: 83,
paintImageMaskXObjectGroup: 84,
paintImageXObject: 85,
paintInlineImageXObject: 86,
paintInlineImageXObjectGroup: 87,
paintImageXObjectRepeat: 88,
paintImageMaskXObjectRepeat: 89,
paintSolidColorImageMask: 90,
constructPath: 91
};
t.UNSUPPORTED_FEATURES = {
unknown: "unknown",
forms: "forms",
javaScript: "javaScript",
signatures: "signatures",
smask: "smask",
shadingPattern: "shadingPattern",
font: "font",
errorTilingPattern: "errorTilingPattern",
errorExtGState: "errorExtGState",
errorXObject: "errorXObject",
errorFontLoadType3: "errorFontLoadType3",
errorFontState: "errorFontState",
errorFontMissing: "errorFontMissing",
errorFontTranslate: "errorFontTranslate",
errorColorSpace: "errorColorSpace",
errorOperatorList: "errorOperatorList",
errorFontToUnicode: "errorFontToUnicode",
errorFontLoadNative: "errorFontLoadNative",
errorFontBuildPath: "errorFontBuildPath",
errorFontGetPath: "errorFontGetPath",
errorMarkedContent: "errorMarkedContent"
};
t.PasswordResponses = {
NEED_PASSWORD: 1,
INCORRECT_PASSWORD: 2
};
let i = a.WARNINGS;
function warn(e) {
i >= a.WARNINGS && console.log(`Warning: ${e}`)
}
function unreachable(e) {
throw new Error(e)
}
function assert(e, t) {
e || unreachable(t)