@embedpdf/engines 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine-CkrTs7st.cjs +2 -0
- package/dist/engine-CkrTs7st.cjs.map +1 -0
- package/dist/{engine-uSZXjmb5.js → engine-DMU8HkGx.js} +162 -154
- package/dist/engine-DMU8HkGx.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +36 -37
- package/dist/index.js.map +1 -1
- package/dist/lib/converters/index.cjs +1 -1
- package/dist/lib/converters/index.cjs.map +1 -1
- package/dist/lib/converters/index.d.ts +4 -4
- package/dist/lib/converters/index.js +11 -2
- package/dist/lib/converters/index.js.map +1 -1
- package/dist/lib/pdfium/engine.d.ts +49 -38
- package/dist/lib/pdfium/index.cjs +1 -1
- package/dist/lib/pdfium/index.js +2 -2
- package/dist/lib/pdfium/runner.d.ts +2 -1
- package/dist/lib/pdfium/web/direct-engine.cjs +1 -1
- package/dist/lib/pdfium/web/direct-engine.cjs.map +1 -1
- package/dist/lib/pdfium/web/direct-engine.js +2 -2
- package/dist/lib/pdfium/web/direct-engine.js.map +1 -1
- package/dist/lib/pdfium/web/worker-engine.cjs +1 -1
- package/dist/lib/pdfium/web/worker-engine.js +7 -2
- package/dist/lib/pdfium/web/worker-engine.js.map +1 -1
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/webworker/engine.cjs +1 -1
- package/dist/lib/webworker/engine.cjs.map +1 -1
- package/dist/lib/webworker/engine.d.ts +18 -18
- package/dist/lib/webworker/engine.js +43 -117
- package/dist/lib/webworker/engine.js.map +1 -1
- package/dist/preact/index.cjs +1 -1
- package/dist/preact/index.js +1 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +1 -1
- package/dist/runner-BPhmukiN.cjs +2 -0
- package/dist/runner-BPhmukiN.cjs.map +1 -0
- package/dist/{runner-BOJ4naYI.js → runner-TzQFlVIQ.js} +10 -10
- package/dist/runner-TzQFlVIQ.js.map +1 -0
- package/dist/vue/index.cjs +1 -1
- package/dist/vue/index.js +1 -1
- package/package.json +3 -3
- package/dist/engine-Bcr-xNy6.cjs +0 -2
- package/dist/engine-Bcr-xNy6.cjs.map +0 -1
- package/dist/engine-uSZXjmb5.js.map +0 -1
- package/dist/runner-BOJ4naYI.js.map +0 -1
- package/dist/runner-C64KrEhP.cjs +0 -2
- package/dist/runner-C64KrEhP.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-engine.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-engine.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/models"),t="WebWorkerEngine",r="Engine";function s(e,t,r){return{id:e,type:"ExecuteRequest",data:{name:t,args:r}}}class n extends e.Task{constructor(e,t){super(),this.worker=e,this.messageId=t}abort(e){super.abort(e),this.worker.postMessage({id:this.messageId,type:"AbortRequest"})}progress(e){super.progress(e)}}const o=class o{constructor(s,i=new e.NoopLogger){this.worker=s,this.logger=i,this.tasks=new Map,this.handle=e=>{this.logger.debug(t,r,"webworker engine start handling message: ",e.data);try{const t=e.data,r=this.tasks.get(t.id);if(!r)return;switch(t.type){case"ReadyResponse":this.readyTask.resolve(!0);break;case"ExecuteProgress":r.progress(t.data);break;case"ExecuteResponse":switch(t.data.type){case"result":r.resolve(t.data.value);break;case"error":r.reject(t.data.value.reason)}this.tasks.delete(t.id)}}catch(s){this.logger.error(t,r,"webworker met error when handling message: ",s)}},this.worker.addEventListener("message",this.handle),this.readyTask=new n(this.worker,o.readyTaskId),this.tasks.set(o.readyTaskId,this.readyTask)}generateRequestId(e){return`${e}.${Date.now()}.${Math.random()}`}initialize(){this.logger.debug(t,r,"initialize");const e=this.generateRequestId("General"),o=new n(this.worker,e),i=s(e,"initialize",[]);return this.proxy(o,i),o}destroy(){this.logger.debug(t,r,"destroy");const e=this.generateRequestId("General"),o=new n(this.worker,e),i=()=>{this.worker.removeEventListener("message",this.handle),this.worker.terminate()};o.wait(i,i);const g=s(e,"destroy",[]);return this.proxy(o,g),o}openDocumentUrl(e,o){this.logger.debug(t,r,"openDocumentUrl",e.url,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"openDocumentUrl",[e,o]);return this.proxy(g,a),g}
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@embedpdf/models"),t="WebWorkerEngine",r="Engine";function s(e,t,r){return{id:e,type:"ExecuteRequest",data:{name:t,args:r}}}class n extends e.Task{constructor(e,t){super(),this.worker=e,this.messageId=t}abort(e){super.abort(e),this.worker.postMessage({id:this.messageId,type:"AbortRequest"})}progress(e){super.progress(e)}}const o=class o{constructor(s,i=new e.NoopLogger){this.worker=s,this.logger=i,this.tasks=new Map,this.handle=e=>{this.logger.debug(t,r,"webworker engine start handling message: ",e.data);try{const t=e.data,r=this.tasks.get(t.id);if(!r)return;switch(t.type){case"ReadyResponse":this.readyTask.resolve(!0);break;case"ExecuteProgress":r.progress(t.data);break;case"ExecuteResponse":switch(t.data.type){case"result":r.resolve(t.data.value);break;case"error":r.reject(t.data.value.reason)}this.tasks.delete(t.id)}}catch(s){this.logger.error(t,r,"webworker met error when handling message: ",s)}},this.worker.addEventListener("message",this.handle),this.readyTask=new n(this.worker,o.readyTaskId),this.tasks.set(o.readyTaskId,this.readyTask)}generateRequestId(e){return`${e}.${Date.now()}.${Math.random()}`}initialize(){this.logger.debug(t,r,"initialize");const e=this.generateRequestId("General"),o=new n(this.worker,e),i=s(e,"initialize",[]);return this.proxy(o,i),o}destroy(){this.logger.debug(t,r,"destroy");const e=this.generateRequestId("General"),o=new n(this.worker,e),i=()=>{this.worker.removeEventListener("message",this.handle),this.worker.terminate()};o.wait(i,i);const g=s(e,"destroy",[]);return this.proxy(o,g),o}openDocumentUrl(e,o){this.logger.debug(t,r,"openDocumentUrl",e.url,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"openDocumentUrl",[e,o]);return this.proxy(g,a),g}openDocumentBuffer(e,o){this.logger.debug(t,r,"openDocumentBuffer",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"openDocumentBuffer",[e,o]);return this.proxy(g,a),g}getMetadata(e){this.logger.debug(t,r,"getMetadata",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getMetadata",[e]);return this.proxy(i,g),i}getDocPermissions(e){this.logger.debug(t,r,"getDocPermissions",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getDocPermissions",[e]);return this.proxy(i,g),i}getDocUserPermissions(e){this.logger.debug(t,r,"getDocUserPermissions",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getDocUserPermissions",[e]);return this.proxy(i,g),i}getBookmarks(e){this.logger.debug(t,r,"getBookmarks",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getBookmarks",[e]);return this.proxy(i,g),i}getSignatures(e){this.logger.debug(t,r,"getSignatures",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getSignatures",[e]);return this.proxy(i,g),i}renderPage(e,o,i){this.logger.debug(t,r,"renderPage",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"renderPage",[e,o,i]);return this.proxy(a,h),a}renderPageRect(e,o,i,g){this.logger.debug(t,r,"renderPageRect",e,o,i,g);const a=this.generateRequestId(e.id),h=new n(this.worker,a),d=s(a,"renderPageRect",[e,o,i,g]);return this.proxy(h,d),h}renderPageAnnotation(e,o,i,g){this.logger.debug(t,r,"renderAnnotation",e,o,i,g);const a=this.generateRequestId(e.id),h=new n(this.worker,a),d=s(a,"renderPageAnnotation",[e,o,i,g]);return this.proxy(h,d),h}getAllAnnotations(e){this.logger.debug(t,r,"getAllAnnotations",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getAllAnnotations",[e]);return this.proxy(i,g),i}getPageAnnotations(e,o){this.logger.debug(t,r,"getPageAnnotations",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"getPageAnnotations",[e,o]);return this.proxy(g,a),g}createPageAnnotation(e,o,i,g){this.logger.debug(t,r,"createPageAnnotations",e,o,i,g);const a=this.generateRequestId(e.id),h=new n(this.worker,a),d=s(a,"createPageAnnotation",[e,o,i,g]);return this.proxy(h,d),h}updatePageAnnotation(e,o,i){this.logger.debug(t,r,"updatePageAnnotation",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"updatePageAnnotation",[e,o,i]);return this.proxy(a,h),a}removePageAnnotation(e,o,i){this.logger.debug(t,r,"removePageAnnotations",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"removePageAnnotation",[e,o,i]);return this.proxy(a,h),a}getPageTextRects(e,o){this.logger.debug(t,r,"getPageTextRects",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"getPageTextRects",[e,o]);return this.proxy(g,a),g}renderThumbnail(e,o,i){this.logger.debug(t,r,"renderThumbnail",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"renderThumbnail",[e,o,i]);return this.proxy(a,h),a}searchAllPages(e,o,i){this.logger.debug(t,r,"searchAllPages",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"searchAllPages",[e,o,i]);return this.proxy(a,h),a}saveAsCopy(e){this.logger.debug(t,r,"saveAsCopy",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"saveAsCopy",[e]);return this.proxy(i,g),i}getAttachments(e){this.logger.debug(t,r,"getAttachments",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"getAttachments",[e]);return this.proxy(i,g),i}readAttachmentContent(e,o){this.logger.debug(t,r,"readAttachmentContent",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"readAttachmentContent",[e,o]);return this.proxy(g,a),g}setFormFieldValue(e,o,i,g){this.logger.debug(t,r,"setFormFieldValue",e,i,g);const a=this.generateRequestId(e.id),h=new n(this.worker,a),d=s(a,"setFormFieldValue",[e,o,i,g]);return this.proxy(h,d),h}flattenPage(e,o,i){this.logger.debug(t,r,"flattenPage",e,o,i);const g=this.generateRequestId(e.id),a=new n(this.worker,g),h=s(g,"flattenPage",[e,o,i]);return this.proxy(a,h),a}extractPages(e,o){this.logger.debug(t,r,"extractPages",e);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"extractPages",[e,o]);return this.proxy(g,a),g}redactTextInRects(e,o,i,g){this.logger.debug(t,r,"redactTextInRects",e,o,i,g);const a=this.generateRequestId(e.id),h=new n(this.worker,a),d=s(a,"redactTextInRects",[e,o,i,g]);return this.proxy(h,d),h}extractText(e,o){this.logger.debug(t,r,"extractText",e);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"extractText",[e,o]);return this.proxy(g,a),g}getTextSlices(e,o){this.logger.debug(t,r,"getTextSlices",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"getTextSlices",[e,o]);return this.proxy(g,a),g}getPageGlyphs(e,o){this.logger.debug(t,r,"getPageGlyphs",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"getPageGlyphs",[e,o]);return this.proxy(g,a),g}getPageGeometry(e,o){this.logger.debug(t,r,"getPageGeometry",e,o);const i=this.generateRequestId(e.id),g=new n(this.worker,i),a=s(i,"getPageGeometry",[e,o]);return this.proxy(g,a),g}merge(e){this.logger.debug(t,r,"merge",e);const o=e.map((e=>e.id)).join("."),i=this.generateRequestId(o),g=new n(this.worker,i),a=s(i,"merge",[e]);return this.proxy(g,a),g}mergePages(e){this.logger.debug(t,r,"mergePages",e);const o=this.generateRequestId(e.map((e=>e.docId)).join(".")),i=new n(this.worker,o),g=s(o,"mergePages",[e]);return this.proxy(i,g),i}closeDocument(e){this.logger.debug(t,r,"closeDocument",e);const o=this.generateRequestId(e.id),i=new n(this.worker,o),g=s(o,"closeDocument",[e]);return this.proxy(i,g),i}proxy(s,n,o=[]){this.logger.debug(t,r,"send request to worker",s,n,o),this.logger.perf(t,r,`${n.data.name}`,"Begin",n.id),this.readyTask.wait((()=>{this.worker.postMessage(n,o),s.wait((()=>{this.logger.perf(t,r,`${n.data.name}`,"End",n.id)}),(()=>{this.logger.perf(t,r,`${n.data.name}`,"End",n.id)})),this.tasks.set(n.id,s)}),(()=>{this.logger.perf(t,r,`${n.data.name}`,"End",n.id),s.reject({code:e.PdfErrorCode.Initialization,message:"worker initialization failed"})}))}};o.readyTaskId="0";let i=o;exports.WebWorkerEngine=i,exports.WorkerTask=n;
|
|
2
2
|
//# sourceMappingURL=engine.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.cjs","sources":["../../../src/lib/webworker/engine.ts"],"sourcesContent":["import {\n FormFieldValue,\n PdfAnnotationTransformation,\n PdfAttachmentObject,\n PdfEngineError,\n PdfFile,\n PdfMetadataObject,\n PdfSignatureObject,\n PdfTextRectObject,\n PdfWidgetAnnoObject,\n SearchResult,\n SearchTarget,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationObject,\n PdfBookmarksObject,\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n Rect,\n Rotation,\n PdfRenderOptions,\n PdfErrorCode,\n PdfErrorReason,\n PdfPageFlattenFlag,\n PdfPageFlattenResult,\n PdfFileLoader,\n SearchAllPagesResult,\n MatchFlag,\n PdfUrlOptions,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n ImageConversionTypes,\n PdfAnnotationObjectBase,\n PdfAlphaColor,\n PageTextSlice,\n WebAlphaColor,\n AppearanceMode,\n AnnotationCreateContext,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfPageWithAnnotations,\n PdfPageSearchProgress,\n} from '@embedpdf/models';\nimport { ExecuteRequest, Response, SpecificExecuteRequest } from './runner';\n\nconst LOG_SOURCE = 'WebWorkerEngine';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Create a request for the webworker\n * @param id - id of the request\n * @param name - name of the method\n * @param args - arguments of the method\n * @returns request\n */\nfunction createRequest<M extends PdfEngineMethodName>(\n id: string,\n name: M,\n args: PdfEngineMethodArgs<M>,\n): SpecificExecuteRequest<M> {\n return {\n id,\n type: 'ExecuteRequest',\n data: {\n name,\n args,\n },\n };\n}\n\n/**\n * Task that executed by webworker\n */\nexport class WorkerTask<R, P = unknown> extends Task<R, PdfErrorReason, P> {\n /**\n * Create a task that bind to web worker with specified message id\n * @param worker - web worker instance\n * @param messageId - id of message\n *\n * @public\n */\n constructor(\n public worker: Worker,\n private messageId: string,\n ) {\n super();\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.abort}\n *\n * @override\n */\n abort(e: PdfErrorReason) {\n super.abort(e);\n\n this.worker.postMessage({\n id: this.messageId,\n type: 'AbortRequest',\n });\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.progress}\n *\n * @override\n */\n progress(p: P) {\n super.progress(p);\n }\n}\n\n/**\n * PDF engine that runs within webworker\n */\nexport class WebWorkerEngine implements PdfEngine {\n static readyTaskId = '0';\n /**\n * Task that represent the state of preparation\n */\n readyTask: WorkerTask<boolean>;\n /**\n * All the tasks that is executing\n */\n tasks: Map<string, WorkerTask<any>> = new Map();\n\n /**\n * Create an instance of WebWorkerEngine, it will create a worker with\n * specified url.\n * @param worker - webworker instance, this worker needs to contains the running instance of {@link EngineRunner}\n * @param logger - logger instance\n *\n * @public\n */\n constructor(\n private worker: Worker,\n private logger: Logger = new NoopLogger(),\n ) {\n this.worker.addEventListener('message', this.handle);\n\n this.readyTask = new WorkerTask<boolean>(this.worker, WebWorkerEngine.readyTaskId);\n this.tasks.set(WebWorkerEngine.readyTaskId, this.readyTask);\n }\n\n /**\n * Handle event from web worker. There are 2 kinds of event\n * 1. ReadyResponse: web worker is ready\n * 2. ExecuteResponse: result of execution\n * @param evt - message event from web worker\n * @returns\n *\n * @private\n */\n handle = (evt: MessageEvent<any>) => {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker engine start handling message: ',\n evt.data,\n );\n try {\n const response = evt.data as Response;\n const task = this.tasks.get(response.id);\n if (!task) {\n return;\n }\n\n switch (response.type) {\n case 'ReadyResponse':\n this.readyTask.resolve(true);\n break;\n case 'ExecuteProgress':\n task.progress(response.data);\n break;\n case 'ExecuteResponse':\n {\n switch (response.data.type) {\n case 'result':\n task.resolve(response.data.value);\n break;\n case 'error':\n task.reject(response.data.value.reason);\n break;\n }\n this.tasks.delete(response.id);\n }\n break;\n }\n } catch (e) {\n this.logger.error(LOG_SOURCE, LOG_CATEGORY, 'webworker met error when handling message: ', e);\n }\n };\n\n /**\n * Generate a unique message id\n * @returns message id\n *\n * @private\n */\n generateRequestId(id: string) {\n return `${id}.${Date.now()}.${Math.random()}`;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.initialize}\n *\n * @public\n */\n initialize() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'initialize');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'initialize', []);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.destroy}\n *\n * @public\n */\n destroy() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'destroy');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const finish = () => {\n this.worker.removeEventListener('message', this.handle);\n this.worker.terminate();\n };\n\n task.wait(finish, finish);\n\n const request: ExecuteRequest = createRequest(requestId, 'destroy', []);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentUrl}\n *\n * @public\n */\n openDocumentUrl(file: PdfFileUrl, options?: PdfUrlOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentUrl', file.url, options);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'openDocumentUrl', [file, options]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocument}\n *\n * @public\n */\n openDocumentFromBuffer(file: PdfFile, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromBuffer', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'openDocumentFromBuffer', [\n file,\n password,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentFromLoader}\n *\n * @public\n */\n openDocumentFromLoader(file: PdfFileLoader, password: string) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentFromLoader', file, password);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'openDocumentFromLoader', [\n file,\n password,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}\n *\n * @public\n */\n getMetadata(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getMetadata', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfMetadataObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getMetadata', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocPermissions}\n *\n * @public\n */\n getDocPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getDocPermissions', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocUserPermissions}\n *\n * @public\n */\n getDocUserPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocUserPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getDocUserPermissions', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getBookmarks}\n *\n * @public\n */\n getBookmarks(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getBookmarks', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfBookmarksObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getBookmarks', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getSignatures}\n *\n * @public\n */\n getSignatures(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getSignatures', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfSignatureObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getSignatures', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPage}\n *\n * @public\n */\n renderPage(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPage',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderPage', [\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n options,\n imageType,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}\n *\n * @public\n */\n renderPageRect(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n rect: Rect,\n options: PdfRenderOptions,\n imageType: ImageConversionTypes = 'image/webp',\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderPageRect',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n rect,\n options,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderPageRect', [\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n rect,\n options,\n imageType,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}\n *\n * @public\n */\n renderAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n mode: AppearanceMode,\n imageType: ImageConversionTypes,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderAnnotation',\n doc,\n page,\n annotation,\n scaleFactor,\n rotation,\n dpr,\n mode,\n imageType,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderAnnotation', [\n doc,\n page,\n annotation,\n scaleFactor,\n rotation,\n dpr,\n mode,\n imageType,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}\n *\n * @public\n */\n getAllAnnotations(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAllAnnotations', doc);\n const requestId = this.generateRequestId(doc.id);\n\n const task = new WorkerTask<Record<number, PdfAnnotationObject[]>, PdfPageWithAnnotations>(\n this.worker,\n requestId,\n );\n\n const request: ExecuteRequest = createRequest(requestId, 'getAllAnnotations', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}\n *\n * @public\n */\n getPageAnnotations(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageAnnotations', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAnnotationObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageAnnotations', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.createPageAnnotation}\n *\n * @public\n */\n createPageAnnotation<A extends PdfAnnotationObject>(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: A,\n context?: AnnotationCreateContext<A>,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'createPageAnnotations',\n doc,\n page,\n annotation,\n context,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'createPageAnnotation', [\n doc,\n page,\n annotation,\n context,\n ] as PdfEngineMethodArgs<'createPageAnnotation'>);\n this.proxy(task, request);\n\n return task;\n }\n\n updatePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'updatePageAnnotation', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'updatePageAnnotation', [\n doc,\n page,\n annotation,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}\n *\n * @public\n */\n removePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'removePageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'removePageAnnotation', [\n doc,\n page,\n annotation,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageTextRects}\n *\n * @public\n */\n getPageTextRects(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'getPageTextRects',\n doc,\n page,\n scaleFactor,\n rotation,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfTextRectObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageTextRects', [\n doc,\n page,\n scaleFactor,\n rotation,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderThumbnail}\n *\n * @public\n */\n renderThumbnail(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n scaleFactor: number,\n rotation: Rotation,\n dpr: number,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'renderThumbnail',\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderThumbnail', [\n doc,\n page,\n scaleFactor,\n rotation,\n dpr,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.searchAllPages}\n *\n * @public\n */\n searchAllPages(doc: PdfDocumentObject, keyword: string, flags: MatchFlag[] = []) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'searchAllPages', doc, keyword, flags);\n\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<SearchAllPagesResult, PdfPageSearchProgress>(\n this.worker,\n requestId,\n );\n\n const request: ExecuteRequest = createRequest(requestId, 'searchAllPages', [\n doc,\n keyword,\n flags,\n ]);\n\n this.proxy(task, request);\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.saveAsCopy}\n *\n * @public\n */\n saveAsCopy(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'saveAsCopy', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'saveAsCopy', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAttachments}\n *\n * @public\n */\n getAttachments(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAttachments', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAttachmentObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getAttachments', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.readAttachmentContent}\n *\n * @public\n */\n readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'readAttachmentContent', doc, attachment);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'readAttachmentContent', [\n doc,\n attachment,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.setFormFieldValue}\n *\n * @public\n */\n setFormFieldValue(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n value: FormFieldValue,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setFormFieldValue', doc, annotation, value);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'setFormFieldValue', [\n doc,\n page,\n annotation,\n value,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}\n *\n * @public\n */\n flattenPage(doc: PdfDocumentObject, page: PdfPageObject, flag: PdfPageFlattenFlag) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'flattenPage', doc, page, flag);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageFlattenResult>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'flattenPage', [doc, page, flag]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractPages}\n *\n * @public\n */\n extractPages(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractPages', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'extractPages', [doc, pageIndexes]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractText}\n *\n * @public\n */\n extractText(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractText', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'extractText', [doc, pageIndexes]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getTextSlices}\n *\n * @public\n */\n getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getTextSlices', doc, slices);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getTextSlices', [doc, slices]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGlyphs}\n *\n * @public\n */\n getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGlyphs', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfGlyphObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageGlyphs', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGeometry}\n *\n * @public\n */\n getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGeometry', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageGeometry>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageGeometry', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.merge}\n *\n * @public\n */\n merge(files: PdfFile[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'merge', files);\n const fileIds = files.map((file) => file.id).join('.');\n const requestId = this.generateRequestId(fileIds);\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'merge', [files]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.mergePages}\n *\n * @public\n */\n mergePages(mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'mergePages', mergeConfigs);\n const requestId = this.generateRequestId(mergeConfigs.map((config) => config.docId).join('.'));\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'mergePages', [mergeConfigs]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.closeDocument}\n *\n * @public\n */\n closeDocument(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'closeDocument', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'closeDocument', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * Send the request to webworker inside and register the task\n * @param task - task that waiting for the response\n * @param request - request that needs send to web worker\n * @param transferables - transferables that need to transfer to webworker\n * @returns\n *\n * @internal\n */\n proxy<R>(task: WorkerTask<R>, request: ExecuteRequest, transferables: any[] = []) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'send request to worker',\n task,\n request,\n transferables,\n );\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'Begin', request.id);\n this.readyTask.wait(\n () => {\n this.worker.postMessage(request, transferables);\n task.wait(\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n );\n this.tasks.set(request.id, task);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n task.reject({\n code: PdfErrorCode.Initialization,\n message: 'worker initialization failed',\n });\n },\n );\n }\n}\n"],"names":["LOG_SOURCE","LOG_CATEGORY","createRequest","id","name","args","type","data","WorkerTask","Task","constructor","worker","messageId","super","this","abort","e","postMessage","progress","p","_WebWorkerEngine","logger","NoopLogger","tasks","Map","handle","evt","debug","response","task","get","readyTask","resolve","value","reject","reason","delete","error","addEventListener","readyTaskId","set","generateRequestId","Date","now","Math","random","initialize","requestId","request","proxy","destroy","finish","removeEventListener","terminate","wait","openDocumentUrl","file","options","url","openDocumentFromBuffer","password","openDocumentFromLoader","getMetadata","doc","getDocPermissions","getDocUserPermissions","getBookmarks","getSignatures","renderPage","page","scaleFactor","rotation","dpr","imageType","renderPageRect","rect","renderAnnotation","annotation","mode","getAllAnnotations","getPageAnnotations","createPageAnnotation","context","updatePageAnnotation","removePageAnnotation","getPageTextRects","renderThumbnail","searchAllPages","keyword","flags","saveAsCopy","getAttachments","readAttachmentContent","attachment","setFormFieldValue","flattenPage","flag","extractPages","pageIndexes","extractText","getTextSlices","slices","getPageGlyphs","getPageGeometry","merge","files","fileIds","map","join","mergePages","mergeConfigs","config","docId","closeDocument","transferables","perf","code","PdfErrorCode","Initialization","message","WebWorkerEngine"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.cjs","sources":["../../../src/lib/webworker/engine.ts"],"sourcesContent":["import {\n FormFieldValue,\n PdfAttachmentObject,\n PdfFile,\n PdfMetadataObject,\n PdfSignatureObject,\n PdfTextRectObject,\n PdfWidgetAnnoObject,\n Task,\n Logger,\n NoopLogger,\n PdfAnnotationObject,\n PdfBookmarksObject,\n PdfDocumentObject,\n PdfEngine,\n PdfPageObject,\n Rect,\n PdfErrorCode,\n PdfErrorReason,\n PdfPageFlattenResult,\n SearchAllPagesResult,\n PdfFileUrl,\n PdfGlyphObject,\n PdfPageGeometry,\n PageTextSlice,\n AnnotationCreateContext,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfPageSearchProgress,\n PdfRenderThumbnailOptions,\n PdfSearchAllPagesOptions,\n PdfFlattenPageOptions,\n PdfRedactTextOptions,\n PdfRenderPageAnnotationOptions,\n PdfRenderPageOptions,\n PdfOpenDocumentUrlOptions,\n PdfOpenDocumentBufferOptions,\n PdfAnnotationsProgress,\n} from '@embedpdf/models';\nimport { ExecuteRequest, Response, SpecificExecuteRequest } from './runner';\n\nconst LOG_SOURCE = 'WebWorkerEngine';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Create a request for the webworker\n * @param id - id of the request\n * @param name - name of the method\n * @param args - arguments of the method\n * @returns request\n */\nfunction createRequest<M extends PdfEngineMethodName>(\n id: string,\n name: M,\n args: PdfEngineMethodArgs<M>,\n): SpecificExecuteRequest<M> {\n return {\n id,\n type: 'ExecuteRequest',\n data: {\n name,\n args,\n },\n };\n}\n\n/**\n * Task that executed by webworker\n */\nexport class WorkerTask<R, P = unknown> extends Task<R, PdfErrorReason, P> {\n /**\n * Create a task that bind to web worker with specified message id\n * @param worker - web worker instance\n * @param messageId - id of message\n *\n * @public\n */\n constructor(\n public worker: Worker,\n private messageId: string,\n ) {\n super();\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.abort}\n *\n * @override\n */\n abort(e: PdfErrorReason) {\n super.abort(e);\n\n this.worker.postMessage({\n id: this.messageId,\n type: 'AbortRequest',\n });\n }\n\n /**\n * {@inheritDoc @embedpdf/models!Task.progress}\n *\n * @override\n */\n progress(p: P) {\n super.progress(p);\n }\n}\n\n/**\n * PDF engine that runs within webworker\n */\nexport class WebWorkerEngine implements PdfEngine {\n static readyTaskId = '0';\n /**\n * Task that represent the state of preparation\n */\n readyTask: WorkerTask<boolean>;\n /**\n * All the tasks that is executing\n */\n tasks: Map<string, WorkerTask<any>> = new Map();\n\n /**\n * Create an instance of WebWorkerEngine, it will create a worker with\n * specified url.\n * @param worker - webworker instance, this worker needs to contains the running instance of {@link EngineRunner}\n * @param logger - logger instance\n *\n * @public\n */\n constructor(\n private worker: Worker,\n private logger: Logger = new NoopLogger(),\n ) {\n this.worker.addEventListener('message', this.handle);\n\n this.readyTask = new WorkerTask<boolean>(this.worker, WebWorkerEngine.readyTaskId);\n this.tasks.set(WebWorkerEngine.readyTaskId, this.readyTask);\n }\n\n /**\n * Handle event from web worker. There are 2 kinds of event\n * 1. ReadyResponse: web worker is ready\n * 2. ExecuteResponse: result of execution\n * @param evt - message event from web worker\n * @returns\n *\n * @private\n */\n handle = (evt: MessageEvent<any>) => {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker engine start handling message: ',\n evt.data,\n );\n try {\n const response = evt.data as Response;\n const task = this.tasks.get(response.id);\n if (!task) {\n return;\n }\n\n switch (response.type) {\n case 'ReadyResponse':\n this.readyTask.resolve(true);\n break;\n case 'ExecuteProgress':\n task.progress(response.data);\n break;\n case 'ExecuteResponse':\n {\n switch (response.data.type) {\n case 'result':\n task.resolve(response.data.value);\n break;\n case 'error':\n task.reject(response.data.value.reason);\n break;\n }\n this.tasks.delete(response.id);\n }\n break;\n }\n } catch (e) {\n this.logger.error(LOG_SOURCE, LOG_CATEGORY, 'webworker met error when handling message: ', e);\n }\n };\n\n /**\n * Generate a unique message id\n * @returns message id\n *\n * @private\n */\n generateRequestId(id: string) {\n return `${id}.${Date.now()}.${Math.random()}`;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.initialize}\n *\n * @public\n */\n initialize() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'initialize');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'initialize', []);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.destroy}\n *\n * @public\n */\n destroy() {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'destroy');\n const requestId = this.generateRequestId('General');\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const finish = () => {\n this.worker.removeEventListener('message', this.handle);\n this.worker.terminate();\n };\n\n task.wait(finish, finish);\n\n const request: ExecuteRequest = createRequest(requestId, 'destroy', []);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocumentUrl}\n *\n * @public\n */\n openDocumentUrl(file: PdfFileUrl, options?: PdfOpenDocumentUrlOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentUrl', file.url, options);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'openDocumentUrl', [file, options]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.openDocument}\n *\n * @public\n */\n openDocumentBuffer(file: PdfFile, options?: PdfOpenDocumentBufferOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'openDocumentBuffer', file, options);\n const requestId = this.generateRequestId(file.id);\n const task = new WorkerTask<PdfDocumentObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'openDocumentBuffer', [file, options]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}\n *\n * @public\n */\n getMetadata(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getMetadata', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfMetadataObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getMetadata', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocPermissions}\n *\n * @public\n */\n getDocPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getDocPermissions', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getDocUserPermissions}\n *\n * @public\n */\n getDocUserPermissions(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getDocUserPermissions', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<number>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getDocUserPermissions', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getBookmarks}\n *\n * @public\n */\n getBookmarks(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getBookmarks', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfBookmarksObject>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getBookmarks', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getSignatures}\n *\n * @public\n */\n getSignatures(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getSignatures', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfSignatureObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getSignatures', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPage}\n *\n * @public\n */\n renderPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderPageOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderPage', doc, page, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderPage', [doc, page, options]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}\n *\n * @public\n */\n renderPageRect(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n rect: Rect,\n options?: PdfRenderPageOptions,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderPageRect', doc, page, rect, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderPageRect', [\n doc,\n page,\n rect,\n options,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}\n *\n * @public\n */\n renderPageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n options?: PdfRenderPageAnnotationOptions,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderAnnotation', doc, page, annotation, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderPageAnnotation', [\n doc,\n page,\n annotation,\n options,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}\n *\n * @public\n */\n getAllAnnotations(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAllAnnotations', doc);\n const requestId = this.generateRequestId(doc.id);\n\n const task = new WorkerTask<Record<number, PdfAnnotationObject[]>, PdfAnnotationsProgress>(\n this.worker,\n requestId,\n );\n\n const request: ExecuteRequest = createRequest(requestId, 'getAllAnnotations', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}\n *\n * @public\n */\n getPageAnnotations(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageAnnotations', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAnnotationObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageAnnotations', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.createPageAnnotation}\n *\n * @public\n */\n createPageAnnotation<A extends PdfAnnotationObject>(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: A,\n context?: AnnotationCreateContext<A>,\n ) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'createPageAnnotations',\n doc,\n page,\n annotation,\n context,\n );\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'createPageAnnotation', [\n doc,\n page,\n annotation,\n context,\n ] as PdfEngineMethodArgs<'createPageAnnotation'>);\n this.proxy(task, request);\n\n return task;\n }\n\n updatePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'updatePageAnnotation', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'updatePageAnnotation', [\n doc,\n page,\n annotation,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}\n *\n * @public\n */\n removePageAnnotation(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfAnnotationObject,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'removePageAnnotations', doc, page, annotation);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'removePageAnnotation', [\n doc,\n page,\n annotation,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageTextRects}\n *\n * @public\n */\n getPageTextRects(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageTextRects', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfTextRectObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageTextRects', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.renderThumbnail}\n *\n * @public\n */\n renderThumbnail(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n options?: PdfRenderThumbnailOptions,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'renderThumbnail', doc, page, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<Blob>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'renderThumbnail', [\n doc,\n page,\n options,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.searchAllPages}\n *\n * @public\n */\n searchAllPages(doc: PdfDocumentObject, keyword: string, options?: PdfSearchAllPagesOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'searchAllPages', doc, keyword, options);\n\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<SearchAllPagesResult, PdfPageSearchProgress>(\n this.worker,\n requestId,\n );\n\n const request: ExecuteRequest = createRequest(requestId, 'searchAllPages', [\n doc,\n keyword,\n options,\n ]);\n\n this.proxy(task, request);\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.saveAsCopy}\n *\n * @public\n */\n saveAsCopy(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'saveAsCopy', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'saveAsCopy', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getAttachments}\n *\n * @public\n */\n getAttachments(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getAttachments', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfAttachmentObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getAttachments', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.readAttachmentContent}\n *\n * @public\n */\n readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'readAttachmentContent', doc, attachment);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'readAttachmentContent', [\n doc,\n attachment,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.setFormFieldValue}\n *\n * @public\n */\n setFormFieldValue(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n annotation: PdfWidgetAnnoObject,\n value: FormFieldValue,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'setFormFieldValue', doc, annotation, value);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'setFormFieldValue', [\n doc,\n page,\n annotation,\n value,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}\n *\n * @public\n */\n flattenPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfFlattenPageOptions) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'flattenPage', doc, page, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageFlattenResult>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'flattenPage', [doc, page, options]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractPages}\n *\n * @public\n */\n extractPages(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractPages', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<ArrayBuffer>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'extractPages', [doc, pageIndexes]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.redactTextInQuads}\n *\n * @public\n */\n redactTextInRects(\n doc: PdfDocumentObject,\n page: PdfPageObject,\n rects: Rect[],\n options?: PdfRedactTextOptions,\n ) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'redactTextInRects', doc, page, rects, options);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'redactTextInRects', [\n doc,\n page,\n rects,\n options,\n ]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.extractText}\n *\n * @public\n */\n extractText(doc: PdfDocumentObject, pageIndexes: number[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'extractText', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'extractText', [doc, pageIndexes]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getTextSlices}\n *\n * @public\n */\n getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getTextSlices', doc, slices);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<string[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getTextSlices', [doc, slices]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGlyphs}\n *\n * @public\n */\n getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGlyphs', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfGlyphObject[]>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageGlyphs', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.getPageGeometry}\n *\n * @public\n */\n getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'getPageGeometry', doc, page);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<PdfPageGeometry>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'getPageGeometry', [doc, page]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.merge}\n *\n * @public\n */\n merge(files: PdfFile[]) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'merge', files);\n const fileIds = files.map((file) => file.id).join('.');\n const requestId = this.generateRequestId(fileIds);\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'merge', [files]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.mergePages}\n *\n * @public\n */\n mergePages(mergeConfigs: Array<{ docId: string; pageIndices: number[] }>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'mergePages', mergeConfigs);\n const requestId = this.generateRequestId(mergeConfigs.map((config) => config.docId).join('.'));\n const task = new WorkerTask<PdfFile>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'mergePages', [mergeConfigs]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * {@inheritDoc @embedpdf/models!PdfEngine.closeDocument}\n *\n * @public\n */\n closeDocument(doc: PdfDocumentObject) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'closeDocument', doc);\n const requestId = this.generateRequestId(doc.id);\n const task = new WorkerTask<boolean>(this.worker, requestId);\n\n const request: ExecuteRequest = createRequest(requestId, 'closeDocument', [doc]);\n this.proxy(task, request);\n\n return task;\n }\n\n /**\n * Send the request to webworker inside and register the task\n * @param task - task that waiting for the response\n * @param request - request that needs send to web worker\n * @param transferables - transferables that need to transfer to webworker\n * @returns\n *\n * @internal\n */\n proxy<R>(task: WorkerTask<R>, request: ExecuteRequest, transferables: any[] = []) {\n this.logger.debug(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'send request to worker',\n task,\n request,\n transferables,\n );\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'Begin', request.id);\n this.readyTask.wait(\n () => {\n this.worker.postMessage(request, transferables);\n task.wait(\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n },\n );\n this.tasks.set(request.id, task);\n },\n () => {\n this.logger.perf(LOG_SOURCE, LOG_CATEGORY, `${request.data.name}`, 'End', request.id);\n task.reject({\n code: PdfErrorCode.Initialization,\n message: 'worker initialization failed',\n });\n },\n );\n }\n}\n"],"names":["LOG_SOURCE","LOG_CATEGORY","createRequest","id","name","args","type","data","WorkerTask","Task","constructor","worker","messageId","super","this","abort","e","postMessage","progress","p","_WebWorkerEngine","logger","NoopLogger","tasks","Map","handle","evt","debug","response","task","get","readyTask","resolve","value","reject","reason","delete","error","addEventListener","readyTaskId","set","generateRequestId","Date","now","Math","random","initialize","requestId","request","proxy","destroy","finish","removeEventListener","terminate","wait","openDocumentUrl","file","options","url","openDocumentBuffer","getMetadata","doc","getDocPermissions","getDocUserPermissions","getBookmarks","getSignatures","renderPage","page","renderPageRect","rect","renderPageAnnotation","annotation","getAllAnnotations","getPageAnnotations","createPageAnnotation","context","updatePageAnnotation","removePageAnnotation","getPageTextRects","renderThumbnail","searchAllPages","keyword","saveAsCopy","getAttachments","readAttachmentContent","attachment","setFormFieldValue","flattenPage","extractPages","pageIndexes","redactTextInRects","rects","extractText","getTextSlices","slices","getPageGlyphs","getPageGeometry","merge","files","fileIds","map","join","mergePages","mergeConfigs","config","docId","closeDocument","transferables","perf","code","PdfErrorCode","Initialization","message","WebWorkerEngine"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormFieldValue, PdfAttachmentObject, PdfFile, PdfMetadataObject, PdfSignatureObject, PdfTextRectObject, PdfWidgetAnnoObject, Task, Logger, PdfAnnotationObject, PdfBookmarksObject, PdfDocumentObject, PdfEngine, PdfPageObject, Rect,
|
|
1
|
+
import { FormFieldValue, PdfAttachmentObject, PdfFile, PdfMetadataObject, PdfSignatureObject, PdfTextRectObject, PdfWidgetAnnoObject, Task, Logger, PdfAnnotationObject, PdfBookmarksObject, PdfDocumentObject, PdfEngine, PdfPageObject, Rect, PdfErrorReason, PdfPageFlattenResult, SearchAllPagesResult, PdfFileUrl, PdfGlyphObject, PdfPageGeometry, PageTextSlice, AnnotationCreateContext, PdfPageSearchProgress, PdfRenderThumbnailOptions, PdfSearchAllPagesOptions, PdfFlattenPageOptions, PdfRedactTextOptions, PdfRenderPageAnnotationOptions, PdfRenderPageOptions, PdfOpenDocumentUrlOptions, PdfOpenDocumentBufferOptions, PdfAnnotationsProgress } from '@embedpdf/models';
|
|
2
2
|
import { ExecuteRequest } from './runner';
|
|
3
3
|
/**
|
|
4
4
|
* Task that executed by webworker
|
|
@@ -85,19 +85,13 @@ export declare class WebWorkerEngine implements PdfEngine {
|
|
|
85
85
|
*
|
|
86
86
|
* @public
|
|
87
87
|
*/
|
|
88
|
-
openDocumentUrl(file: PdfFileUrl, options?:
|
|
88
|
+
openDocumentUrl(file: PdfFileUrl, options?: PdfOpenDocumentUrlOptions): WorkerTask<PdfDocumentObject, unknown>;
|
|
89
89
|
/**
|
|
90
90
|
* {@inheritDoc @embedpdf/models!PdfEngine.openDocument}
|
|
91
91
|
*
|
|
92
92
|
* @public
|
|
93
93
|
*/
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* {@inheritDoc @embedpdf/models!PdfEngine.openDocumentFromLoader}
|
|
97
|
-
*
|
|
98
|
-
* @public
|
|
99
|
-
*/
|
|
100
|
-
openDocumentFromLoader(file: PdfFileLoader, password: string): WorkerTask<PdfDocumentObject, unknown>;
|
|
94
|
+
openDocumentBuffer(file: PdfFile, options?: PdfOpenDocumentBufferOptions): WorkerTask<PdfDocumentObject, unknown>;
|
|
101
95
|
/**
|
|
102
96
|
* {@inheritDoc @embedpdf/models!PdfEngine.getMetadata}
|
|
103
97
|
*
|
|
@@ -133,25 +127,25 @@ export declare class WebWorkerEngine implements PdfEngine {
|
|
|
133
127
|
*
|
|
134
128
|
* @public
|
|
135
129
|
*/
|
|
136
|
-
renderPage(doc: PdfDocumentObject, page: PdfPageObject,
|
|
130
|
+
renderPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderPageOptions): WorkerTask<Blob, unknown>;
|
|
137
131
|
/**
|
|
138
132
|
* {@inheritDoc @embedpdf/models!PdfEngine.renderPageRect}
|
|
139
133
|
*
|
|
140
134
|
* @public
|
|
141
135
|
*/
|
|
142
|
-
renderPageRect(doc: PdfDocumentObject, page: PdfPageObject,
|
|
136
|
+
renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, rect: Rect, options?: PdfRenderPageOptions): WorkerTask<Blob, unknown>;
|
|
143
137
|
/**
|
|
144
138
|
* {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}
|
|
145
139
|
*
|
|
146
140
|
* @public
|
|
147
141
|
*/
|
|
148
|
-
|
|
142
|
+
renderPageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject, options?: PdfRenderPageAnnotationOptions): WorkerTask<Blob, unknown>;
|
|
149
143
|
/**
|
|
150
144
|
* {@inheritDoc @embedpdf/models!PdfEngine.getAllAnnotations}
|
|
151
145
|
*
|
|
152
146
|
* @public
|
|
153
147
|
*/
|
|
154
|
-
getAllAnnotations(doc: PdfDocumentObject): WorkerTask<Record<number, PdfAnnotationObject[]>,
|
|
148
|
+
getAllAnnotations(doc: PdfDocumentObject): WorkerTask<Record<number, PdfAnnotationObject[]>, PdfAnnotationsProgress>;
|
|
155
149
|
/**
|
|
156
150
|
* {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}
|
|
157
151
|
*
|
|
@@ -163,7 +157,7 @@ export declare class WebWorkerEngine implements PdfEngine {
|
|
|
163
157
|
*
|
|
164
158
|
* @public
|
|
165
159
|
*/
|
|
166
|
-
createPageAnnotation<A extends PdfAnnotationObject>(doc: PdfDocumentObject, page: PdfPageObject, annotation: A, context?: AnnotationCreateContext<A>): WorkerTask<
|
|
160
|
+
createPageAnnotation<A extends PdfAnnotationObject>(doc: PdfDocumentObject, page: PdfPageObject, annotation: A, context?: AnnotationCreateContext<A>): WorkerTask<string, unknown>;
|
|
167
161
|
updatePageAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): WorkerTask<boolean, unknown>;
|
|
168
162
|
/**
|
|
169
163
|
* {@inheritDoc @embedpdf/models!PdfEngine.removePageAnnotation}
|
|
@@ -176,19 +170,19 @@ export declare class WebWorkerEngine implements PdfEngine {
|
|
|
176
170
|
*
|
|
177
171
|
* @public
|
|
178
172
|
*/
|
|
179
|
-
getPageTextRects(doc: PdfDocumentObject, page: PdfPageObject
|
|
173
|
+
getPageTextRects(doc: PdfDocumentObject, page: PdfPageObject): WorkerTask<PdfTextRectObject[], unknown>;
|
|
180
174
|
/**
|
|
181
175
|
* {@inheritDoc @embedpdf/models!PdfEngine.renderThumbnail}
|
|
182
176
|
*
|
|
183
177
|
* @public
|
|
184
178
|
*/
|
|
185
|
-
renderThumbnail(doc: PdfDocumentObject, page: PdfPageObject,
|
|
179
|
+
renderThumbnail(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfRenderThumbnailOptions): WorkerTask<Blob, unknown>;
|
|
186
180
|
/**
|
|
187
181
|
* {@inheritDoc @embedpdf/models!PdfEngine.searchAllPages}
|
|
188
182
|
*
|
|
189
183
|
* @public
|
|
190
184
|
*/
|
|
191
|
-
searchAllPages(doc: PdfDocumentObject, keyword: string,
|
|
185
|
+
searchAllPages(doc: PdfDocumentObject, keyword: string, options?: PdfSearchAllPagesOptions): WorkerTask<SearchAllPagesResult, PdfPageSearchProgress>;
|
|
192
186
|
/**
|
|
193
187
|
* {@inheritDoc @embedpdf/models!PdfEngine.saveAsCopy}
|
|
194
188
|
*
|
|
@@ -218,13 +212,19 @@ export declare class WebWorkerEngine implements PdfEngine {
|
|
|
218
212
|
*
|
|
219
213
|
* @public
|
|
220
214
|
*/
|
|
221
|
-
flattenPage(doc: PdfDocumentObject, page: PdfPageObject,
|
|
215
|
+
flattenPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfFlattenPageOptions): WorkerTask<PdfPageFlattenResult, unknown>;
|
|
222
216
|
/**
|
|
223
217
|
* {@inheritDoc @embedpdf/models!PdfEngine.extractPages}
|
|
224
218
|
*
|
|
225
219
|
* @public
|
|
226
220
|
*/
|
|
227
221
|
extractPages(doc: PdfDocumentObject, pageIndexes: number[]): WorkerTask<ArrayBuffer, unknown>;
|
|
222
|
+
/**
|
|
223
|
+
* {@inheritDoc @embedpdf/models!PdfEngine.redactTextInQuads}
|
|
224
|
+
*
|
|
225
|
+
* @public
|
|
226
|
+
*/
|
|
227
|
+
redactTextInRects(doc: PdfDocumentObject, page: PdfPageObject, rects: Rect[], options?: PdfRedactTextOptions): WorkerTask<boolean, unknown>;
|
|
228
228
|
/**
|
|
229
229
|
* {@inheritDoc @embedpdf/models!PdfEngine.extractText}
|
|
230
230
|
*
|
|
@@ -158,30 +158,11 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
158
158
|
*
|
|
159
159
|
* @public
|
|
160
160
|
*/
|
|
161
|
-
|
|
162
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "
|
|
161
|
+
openDocumentBuffer(file, options) {
|
|
162
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "openDocumentBuffer", file, options);
|
|
163
163
|
const requestId = this.generateRequestId(file.id);
|
|
164
164
|
const task = new WorkerTask(this.worker, requestId);
|
|
165
|
-
const request = createRequest(requestId, "
|
|
166
|
-
file,
|
|
167
|
-
password
|
|
168
|
-
]);
|
|
169
|
-
this.proxy(task, request);
|
|
170
|
-
return task;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* {@inheritDoc @embedpdf/models!PdfEngine.openDocumentFromLoader}
|
|
174
|
-
*
|
|
175
|
-
* @public
|
|
176
|
-
*/
|
|
177
|
-
openDocumentFromLoader(file, password) {
|
|
178
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "openDocumentFromLoader", file, password);
|
|
179
|
-
const requestId = this.generateRequestId(file.id);
|
|
180
|
-
const task = new WorkerTask(this.worker, requestId);
|
|
181
|
-
const request = createRequest(requestId, "openDocumentFromLoader", [
|
|
182
|
-
file,
|
|
183
|
-
password
|
|
184
|
-
]);
|
|
165
|
+
const request = createRequest(requestId, "openDocumentBuffer", [file, options]);
|
|
185
166
|
this.proxy(task, request);
|
|
186
167
|
return task;
|
|
187
168
|
}
|
|
@@ -255,29 +236,11 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
255
236
|
*
|
|
256
237
|
* @public
|
|
257
238
|
*/
|
|
258
|
-
renderPage(doc, page,
|
|
259
|
-
this.logger.debug(
|
|
260
|
-
LOG_SOURCE,
|
|
261
|
-
LOG_CATEGORY,
|
|
262
|
-
"renderPage",
|
|
263
|
-
doc,
|
|
264
|
-
page,
|
|
265
|
-
scaleFactor,
|
|
266
|
-
rotation,
|
|
267
|
-
dpr,
|
|
268
|
-
options
|
|
269
|
-
);
|
|
239
|
+
renderPage(doc, page, options) {
|
|
240
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "renderPage", doc, page, options);
|
|
270
241
|
const requestId = this.generateRequestId(doc.id);
|
|
271
242
|
const task = new WorkerTask(this.worker, requestId);
|
|
272
|
-
const request = createRequest(requestId, "renderPage", [
|
|
273
|
-
doc,
|
|
274
|
-
page,
|
|
275
|
-
scaleFactor,
|
|
276
|
-
rotation,
|
|
277
|
-
dpr,
|
|
278
|
-
options,
|
|
279
|
-
imageType
|
|
280
|
-
]);
|
|
243
|
+
const request = createRequest(requestId, "renderPage", [doc, page, options]);
|
|
281
244
|
this.proxy(task, request);
|
|
282
245
|
return task;
|
|
283
246
|
}
|
|
@@ -286,30 +249,15 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
286
249
|
*
|
|
287
250
|
* @public
|
|
288
251
|
*/
|
|
289
|
-
renderPageRect(doc, page,
|
|
290
|
-
this.logger.debug(
|
|
291
|
-
LOG_SOURCE,
|
|
292
|
-
LOG_CATEGORY,
|
|
293
|
-
"renderPageRect",
|
|
294
|
-
doc,
|
|
295
|
-
page,
|
|
296
|
-
scaleFactor,
|
|
297
|
-
rotation,
|
|
298
|
-
dpr,
|
|
299
|
-
rect,
|
|
300
|
-
options
|
|
301
|
-
);
|
|
252
|
+
renderPageRect(doc, page, rect, options) {
|
|
253
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "renderPageRect", doc, page, rect, options);
|
|
302
254
|
const requestId = this.generateRequestId(doc.id);
|
|
303
255
|
const task = new WorkerTask(this.worker, requestId);
|
|
304
256
|
const request = createRequest(requestId, "renderPageRect", [
|
|
305
257
|
doc,
|
|
306
258
|
page,
|
|
307
|
-
scaleFactor,
|
|
308
|
-
rotation,
|
|
309
|
-
dpr,
|
|
310
259
|
rect,
|
|
311
|
-
options
|
|
312
|
-
imageType
|
|
260
|
+
options
|
|
313
261
|
]);
|
|
314
262
|
this.proxy(task, request);
|
|
315
263
|
return task;
|
|
@@ -319,31 +267,15 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
319
267
|
*
|
|
320
268
|
* @public
|
|
321
269
|
*/
|
|
322
|
-
|
|
323
|
-
this.logger.debug(
|
|
324
|
-
LOG_SOURCE,
|
|
325
|
-
LOG_CATEGORY,
|
|
326
|
-
"renderAnnotation",
|
|
327
|
-
doc,
|
|
328
|
-
page,
|
|
329
|
-
annotation,
|
|
330
|
-
scaleFactor,
|
|
331
|
-
rotation,
|
|
332
|
-
dpr,
|
|
333
|
-
mode,
|
|
334
|
-
imageType
|
|
335
|
-
);
|
|
270
|
+
renderPageAnnotation(doc, page, annotation, options) {
|
|
271
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "renderAnnotation", doc, page, annotation, options);
|
|
336
272
|
const requestId = this.generateRequestId(doc.id);
|
|
337
273
|
const task = new WorkerTask(this.worker, requestId);
|
|
338
|
-
const request = createRequest(requestId, "
|
|
274
|
+
const request = createRequest(requestId, "renderPageAnnotation", [
|
|
339
275
|
doc,
|
|
340
276
|
page,
|
|
341
277
|
annotation,
|
|
342
|
-
|
|
343
|
-
rotation,
|
|
344
|
-
dpr,
|
|
345
|
-
mode,
|
|
346
|
-
imageType
|
|
278
|
+
options
|
|
347
279
|
]);
|
|
348
280
|
this.proxy(task, request);
|
|
349
281
|
return task;
|
|
@@ -437,24 +369,11 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
437
369
|
*
|
|
438
370
|
* @public
|
|
439
371
|
*/
|
|
440
|
-
getPageTextRects(doc, page
|
|
441
|
-
this.logger.debug(
|
|
442
|
-
LOG_SOURCE,
|
|
443
|
-
LOG_CATEGORY,
|
|
444
|
-
"getPageTextRects",
|
|
445
|
-
doc,
|
|
446
|
-
page,
|
|
447
|
-
scaleFactor,
|
|
448
|
-
rotation
|
|
449
|
-
);
|
|
372
|
+
getPageTextRects(doc, page) {
|
|
373
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "getPageTextRects", doc, page);
|
|
450
374
|
const requestId = this.generateRequestId(doc.id);
|
|
451
375
|
const task = new WorkerTask(this.worker, requestId);
|
|
452
|
-
const request = createRequest(requestId, "getPageTextRects", [
|
|
453
|
-
doc,
|
|
454
|
-
page,
|
|
455
|
-
scaleFactor,
|
|
456
|
-
rotation
|
|
457
|
-
]);
|
|
376
|
+
const request = createRequest(requestId, "getPageTextRects", [doc, page]);
|
|
458
377
|
this.proxy(task, request);
|
|
459
378
|
return task;
|
|
460
379
|
}
|
|
@@ -463,25 +382,14 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
463
382
|
*
|
|
464
383
|
* @public
|
|
465
384
|
*/
|
|
466
|
-
renderThumbnail(doc, page,
|
|
467
|
-
this.logger.debug(
|
|
468
|
-
LOG_SOURCE,
|
|
469
|
-
LOG_CATEGORY,
|
|
470
|
-
"renderThumbnail",
|
|
471
|
-
doc,
|
|
472
|
-
page,
|
|
473
|
-
scaleFactor,
|
|
474
|
-
rotation,
|
|
475
|
-
dpr
|
|
476
|
-
);
|
|
385
|
+
renderThumbnail(doc, page, options) {
|
|
386
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "renderThumbnail", doc, page, options);
|
|
477
387
|
const requestId = this.generateRequestId(doc.id);
|
|
478
388
|
const task = new WorkerTask(this.worker, requestId);
|
|
479
389
|
const request = createRequest(requestId, "renderThumbnail", [
|
|
480
390
|
doc,
|
|
481
391
|
page,
|
|
482
|
-
|
|
483
|
-
rotation,
|
|
484
|
-
dpr
|
|
392
|
+
options
|
|
485
393
|
]);
|
|
486
394
|
this.proxy(task, request);
|
|
487
395
|
return task;
|
|
@@ -491,8 +399,8 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
491
399
|
*
|
|
492
400
|
* @public
|
|
493
401
|
*/
|
|
494
|
-
searchAllPages(doc, keyword,
|
|
495
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "searchAllPages", doc, keyword,
|
|
402
|
+
searchAllPages(doc, keyword, options) {
|
|
403
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "searchAllPages", doc, keyword, options);
|
|
496
404
|
const requestId = this.generateRequestId(doc.id);
|
|
497
405
|
const task = new WorkerTask(
|
|
498
406
|
this.worker,
|
|
@@ -501,7 +409,7 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
501
409
|
const request = createRequest(requestId, "searchAllPages", [
|
|
502
410
|
doc,
|
|
503
411
|
keyword,
|
|
504
|
-
|
|
412
|
+
options
|
|
505
413
|
]);
|
|
506
414
|
this.proxy(task, request);
|
|
507
415
|
return task;
|
|
@@ -571,11 +479,11 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
571
479
|
*
|
|
572
480
|
* @public
|
|
573
481
|
*/
|
|
574
|
-
flattenPage(doc, page,
|
|
575
|
-
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "flattenPage", doc, page,
|
|
482
|
+
flattenPage(doc, page, options) {
|
|
483
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "flattenPage", doc, page, options);
|
|
576
484
|
const requestId = this.generateRequestId(doc.id);
|
|
577
485
|
const task = new WorkerTask(this.worker, requestId);
|
|
578
|
-
const request = createRequest(requestId, "flattenPage", [doc, page,
|
|
486
|
+
const request = createRequest(requestId, "flattenPage", [doc, page, options]);
|
|
579
487
|
this.proxy(task, request);
|
|
580
488
|
return task;
|
|
581
489
|
}
|
|
@@ -592,6 +500,24 @@ const _WebWorkerEngine = class _WebWorkerEngine {
|
|
|
592
500
|
this.proxy(task, request);
|
|
593
501
|
return task;
|
|
594
502
|
}
|
|
503
|
+
/**
|
|
504
|
+
* {@inheritDoc @embedpdf/models!PdfEngine.redactTextInQuads}
|
|
505
|
+
*
|
|
506
|
+
* @public
|
|
507
|
+
*/
|
|
508
|
+
redactTextInRects(doc, page, rects, options) {
|
|
509
|
+
this.logger.debug(LOG_SOURCE, LOG_CATEGORY, "redactTextInRects", doc, page, rects, options);
|
|
510
|
+
const requestId = this.generateRequestId(doc.id);
|
|
511
|
+
const task = new WorkerTask(this.worker, requestId);
|
|
512
|
+
const request = createRequest(requestId, "redactTextInRects", [
|
|
513
|
+
doc,
|
|
514
|
+
page,
|
|
515
|
+
rects,
|
|
516
|
+
options
|
|
517
|
+
]);
|
|
518
|
+
this.proxy(task, request);
|
|
519
|
+
return task;
|
|
520
|
+
}
|
|
595
521
|
/**
|
|
596
522
|
* {@inheritDoc @embedpdf/models!PdfEngine.extractText}
|
|
597
523
|
*
|