@embedpdf/engines 2.2.0 → 2.4.0

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.
Files changed (42) hide show
  1. package/dist/{direct-engine-DGRkMlJ8.js → direct-engine-6BoAmGsC.js} +595 -417
  2. package/dist/direct-engine-6BoAmGsC.js.map +1 -0
  3. package/dist/direct-engine-Byh1BweU.cjs +2 -0
  4. package/dist/direct-engine-Byh1BweU.cjs.map +1 -0
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.js +11 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/orchestrator/pdf-engine.d.ts +3 -0
  10. package/dist/lib/orchestrator/remote-executor.d.ts +3 -0
  11. package/dist/lib/pdfium/engine.d.ts +145 -0
  12. package/dist/lib/pdfium/index.cjs +1 -1
  13. package/dist/lib/pdfium/index.js +3 -3
  14. package/dist/lib/pdfium/web/direct-engine.cjs +1 -1
  15. package/dist/lib/pdfium/web/direct-engine.js +2 -2
  16. package/dist/lib/pdfium/web/worker-engine.cjs +1 -1
  17. package/dist/lib/pdfium/web/worker-engine.cjs.map +1 -1
  18. package/dist/lib/pdfium/web/worker-engine.js +11 -2
  19. package/dist/lib/pdfium/web/worker-engine.js.map +1 -1
  20. package/dist/lib/webworker/engine.cjs +1 -1
  21. package/dist/lib/webworker/engine.cjs.map +1 -1
  22. package/dist/lib/webworker/engine.d.ts +18 -0
  23. package/dist/lib/webworker/engine.js +47 -0
  24. package/dist/lib/webworker/engine.js.map +1 -1
  25. package/dist/{pdf-engine-DgNNP62W.cjs → pdf-engine-BXctylEz.cjs} +2 -2
  26. package/dist/{pdf-engine-DgNNP62W.cjs.map → pdf-engine-BXctylEz.cjs.map} +1 -1
  27. package/dist/{pdf-engine-ChjNHvQd.js → pdf-engine-D_Dua_6w.js} +28 -1
  28. package/dist/{pdf-engine-ChjNHvQd.js.map → pdf-engine-D_Dua_6w.js.map} +1 -1
  29. package/dist/preact/index.cjs +1 -1
  30. package/dist/preact/index.js +1 -1
  31. package/dist/react/index.cjs +1 -1
  32. package/dist/react/index.js +1 -1
  33. package/dist/svelte/index.cjs +1 -1
  34. package/dist/svelte/index.cjs.map +1 -1
  35. package/dist/svelte/index.js +1 -1
  36. package/dist/svelte/index.js.map +1 -1
  37. package/dist/vue/index.cjs +1 -1
  38. package/dist/vue/index.js +1 -1
  39. package/package.json +6 -6
  40. package/dist/direct-engine-CGBAQS04.cjs +0 -2
  41. package/dist/direct-engine-CGBAQS04.cjs.map +0 -1
  42. package/dist/direct-engine-DGRkMlJ8.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lib/pdfium/index.cjs"),r=require("./lib/webworker/engine.cjs"),t=require("@embedpdf/models"),a=require("./direct-engine-CGBAQS04.cjs"),s=require("./lib/pdfium/web/worker-engine.cjs"),o=require("./browser-C6QEa8uk.cjs"),n=require("./pdf-engine-DgNNP62W.cjs"),c="WebWorkerEngineRunner",i="Engine";exports.DEFAULT_PDFIUM_WASM_URL=e.DEFAULT_PDFIUM_WASM_URL,exports.FONT_CDN_URLS=e.FONT_CDN_URLS,exports.cdnFontConfig=e.cdnFontConfig,exports.createCdnFontConfig=e.createCdnFontConfig,exports.WebWorkerEngine=r.WebWorkerEngine,exports.WorkerTask=r.WorkerTask,Object.defineProperty(exports,"FontCharset",{enumerable:!0,get:()=>t.FontCharset}),exports.BitmapFormat=a.BitmapFormat,exports.FontFallbackManager=a.FontFallbackManager,exports.PdfiumErrorCode=a.PdfiumErrorCode,exports.PdfiumNative=a.PdfiumNative,exports.RenderFlag=a.RenderFlag,exports.computeFormDrawParams=a.computeFormDrawParams,exports.createNodeFontLoader=a.createNodeFontLoader,exports.createPdfiumDirectEngine=a.createPdfiumEngine,exports.isValidCustomKey=a.isValidCustomKey,exports.readArrayBuffer=a.readArrayBuffer,exports.readString=a.readString,exports.createPdfiumWorkerEngine=s.createPdfiumEngine,exports.ImageConverterError=o.ImageConverterError,exports.browserImageDataToBlobConverter=o.browserImageDataToBlobConverter,exports.createHybridImageConverter=o.createHybridImageConverter,exports.createWorkerPoolImageConverter=o.createWorkerPoolImageConverter,exports.PdfEngine=n.PdfEngine,exports.EngineRunner=class{constructor(e=new t.NoopLogger){this.logger=e,this.execute=async e=>{if(this.logger.debug(c,i,"runner start exeucte request"),!this.engine){const r={type:"reject",reason:{code:t.PdfErrorCode.NotReady,message:"engine has not started yet"}},a={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};return void this.respond(a)}const r=this.engine,{name:a,args:s}=e.data;if(!r[a]){const r={type:"reject",reason:{code:t.PdfErrorCode.NotSupport,message:`engine method ${a} is not supported yet`}},s={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};return void this.respond(s)}let o;switch(a){case"isSupport":o=r.isSupport(...s);break;case"destroy":o=r.destroy(...s);break;case"openDocumentUrl":o=r.openDocumentUrl(...s);break;case"openDocumentBuffer":o=r.openDocumentBuffer(...s);break;case"getDocPermissions":o=r.getDocPermissions(...s);break;case"getDocUserPermissions":o=r.getDocUserPermissions(...s);break;case"getMetadata":o=r.getMetadata(...s);break;case"setMetadata":o=r.setMetadata(...s);break;case"getBookmarks":o=r.getBookmarks(...s);break;case"setBookmarks":o=r.setBookmarks(...s);break;case"deleteBookmarks":o=r.deleteBookmarks(...s);break;case"getSignatures":o=r.getSignatures(...s);break;case"renderPage":o=r.renderPage(...s);break;case"renderPageRect":o=r.renderPageRect(...s);break;case"renderPageAnnotation":o=r.renderPageAnnotation(...s);break;case"renderThumbnail":o=r.renderThumbnail(...s);break;case"getAllAnnotations":o=r.getAllAnnotations(...s);break;case"getPageAnnotations":o=r.getPageAnnotations(...s);break;case"createPageAnnotation":o=r.createPageAnnotation(...s);break;case"updatePageAnnotation":o=r.updatePageAnnotation(...s);break;case"removePageAnnotation":o=r.removePageAnnotation(...s);break;case"getPageTextRects":o=r.getPageTextRects(...s);break;case"searchAllPages":o=r.searchAllPages(...s);break;case"closeDocument":o=r.closeDocument(...s);break;case"closeAllDocuments":o=r.closeAllDocuments(...s);break;case"saveAsCopy":o=r.saveAsCopy(...s);break;case"getAttachments":o=r.getAttachments(...s);break;case"addAttachment":o=r.addAttachment(...s);break;case"removeAttachment":o=r.removeAttachment(...s);break;case"readAttachmentContent":o=r.readAttachmentContent(...s);break;case"setFormFieldValue":o=r.setFormFieldValue(...s);break;case"flattenPage":o=r.flattenPage(...s);break;case"extractPages":o=r.extractPages(...s);break;case"extractText":o=r.extractText(...s);break;case"redactTextInRects":o=r.redactTextInRects(...s);break;case"getTextSlices":o=r.getTextSlices(...s);break;case"getPageGlyphs":o=r.getPageGlyphs(...s);break;case"getPageGeometry":o=r.getPageGeometry(...s);break;case"merge":o=r.merge(...s);break;case"mergePages":o=r.mergePages(...s);break;case"preparePrintDocument":o=r.preparePrintDocument(...s);break;case"setDocumentEncryption":o=r.setDocumentEncryption(...s);break;case"removeEncryption":o=r.removeEncryption(...s);break;case"unlockOwnerPermissions":o=r.unlockOwnerPermissions(...s);break;case"isEncrypted":o=r.isEncrypted(...s);break;case"isOwnerUnlocked":o=r.isOwnerUnlocked(...s);break;default:const n={type:"reject",reason:{code:t.PdfErrorCode.NotSupport,message:`engine method ${a} is not supported`}},c={id:e.id,type:"ExecuteResponse",data:{type:"error",value:n}};return void this.respond(c)}o.onProgress(r=>{const t={id:e.id,type:"ExecuteProgress",data:r};this.respond(t)}),o.wait(r=>{const t={id:e.id,type:"ExecuteResponse",data:{type:"result",value:r}};this.respond(t)},r=>{const t={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};this.respond(t)})}}listen(){self.onmessage=e=>this.handle(e)}handle(e){this.logger.debug(c,i,"webworker receive message event: ",e.data);try{const r=e.data;if("ExecuteRequest"===r.type)this.execute(r)}catch(r){this.logger.info(c,i,"webworker met error when processing message event:",r)}}ready(){this.listen(),this.respond({id:"0",type:"ReadyResponse"}),this.logger.debug(c,i,"runner is ready")}respond(e){this.logger.debug(c,i,"runner respond: ",e),self.postMessage(e)}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lib/pdfium/index.cjs"),r=require("./lib/webworker/engine.cjs"),t=require("@embedpdf/models"),a=require("./direct-engine-Byh1BweU.cjs"),o=require("./lib/pdfium/web/worker-engine.cjs"),s=require("./browser-C6QEa8uk.cjs"),n=require("./pdf-engine-BXctylEz.cjs"),c="WebWorkerEngineRunner",i="Engine";exports.DEFAULT_PDFIUM_WASM_URL=e.DEFAULT_PDFIUM_WASM_URL,exports.FONT_CDN_URLS=e.FONT_CDN_URLS,exports.cdnFontConfig=e.cdnFontConfig,exports.createCdnFontConfig=e.createCdnFontConfig,exports.WebWorkerEngine=r.WebWorkerEngine,exports.WorkerTask=r.WorkerTask,Object.defineProperty(exports,"FontCharset",{enumerable:!0,get:()=>t.FontCharset}),exports.BitmapFormat=a.BitmapFormat,exports.FontFallbackManager=a.FontFallbackManager,exports.PdfiumErrorCode=a.PdfiumErrorCode,exports.PdfiumNative=a.PdfiumNative,exports.RenderFlag=a.RenderFlag,exports.computeFormDrawParams=a.computeFormDrawParams,exports.createNodeFontLoader=a.createNodeFontLoader,exports.createPdfiumDirectEngine=a.createPdfiumEngine,exports.isValidCustomKey=a.isValidCustomKey,exports.readArrayBuffer=a.readArrayBuffer,exports.readString=a.readString,exports.createPdfiumWorkerEngine=o.createPdfiumEngine,exports.ImageConverterError=s.ImageConverterError,exports.browserImageDataToBlobConverter=s.browserImageDataToBlobConverter,exports.createHybridImageConverter=s.createHybridImageConverter,exports.createWorkerPoolImageConverter=s.createWorkerPoolImageConverter,exports.PdfEngine=n.PdfEngine,exports.EngineRunner=class{constructor(e=new t.NoopLogger){this.logger=e,this.execute=async e=>{if(this.logger.debug(c,i,"runner start exeucte request"),!this.engine){const r={type:"reject",reason:{code:t.PdfErrorCode.NotReady,message:"engine has not started yet"}},a={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};return void this.respond(a)}const r=this.engine,{name:a,args:o}=e.data;if(!r[a]){const r={type:"reject",reason:{code:t.PdfErrorCode.NotSupport,message:`engine method ${a} is not supported yet`}},o={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};return void this.respond(o)}let s;switch(a){case"isSupport":s=r.isSupport(...o);break;case"destroy":s=r.destroy(...o);break;case"openDocumentUrl":s=r.openDocumentUrl(...o);break;case"openDocumentBuffer":s=r.openDocumentBuffer(...o);break;case"getDocPermissions":s=r.getDocPermissions(...o);break;case"getDocUserPermissions":s=r.getDocUserPermissions(...o);break;case"getMetadata":s=r.getMetadata(...o);break;case"setMetadata":s=r.setMetadata(...o);break;case"getBookmarks":s=r.getBookmarks(...o);break;case"setBookmarks":s=r.setBookmarks(...o);break;case"deleteBookmarks":s=r.deleteBookmarks(...o);break;case"getSignatures":s=r.getSignatures(...o);break;case"renderPage":s=r.renderPage(...o);break;case"renderPageRect":s=r.renderPageRect(...o);break;case"renderPageAnnotation":s=r.renderPageAnnotation(...o);break;case"renderThumbnail":s=r.renderThumbnail(...o);break;case"getAllAnnotations":s=r.getAllAnnotations(...o);break;case"getPageAnnotations":s=r.getPageAnnotations(...o);break;case"createPageAnnotation":s=r.createPageAnnotation(...o);break;case"updatePageAnnotation":s=r.updatePageAnnotation(...o);break;case"removePageAnnotation":s=r.removePageAnnotation(...o);break;case"getPageTextRects":s=r.getPageTextRects(...o);break;case"searchAllPages":s=r.searchAllPages(...o);break;case"closeDocument":s=r.closeDocument(...o);break;case"closeAllDocuments":s=r.closeAllDocuments(...o);break;case"saveAsCopy":s=r.saveAsCopy(...o);break;case"getAttachments":s=r.getAttachments(...o);break;case"addAttachment":s=r.addAttachment(...o);break;case"removeAttachment":s=r.removeAttachment(...o);break;case"readAttachmentContent":s=r.readAttachmentContent(...o);break;case"setFormFieldValue":s=r.setFormFieldValue(...o);break;case"flattenPage":s=r.flattenPage(...o);break;case"extractPages":s=r.extractPages(...o);break;case"extractText":s=r.extractText(...o);break;case"redactTextInRects":s=r.redactTextInRects(...o);break;case"applyRedaction":s=r.applyRedaction(...o);break;case"applyAllRedactions":s=r.applyAllRedactions(...o);break;case"flattenAnnotation":s=r.flattenAnnotation(...o);break;case"getTextSlices":s=r.getTextSlices(...o);break;case"getPageGlyphs":s=r.getPageGlyphs(...o);break;case"getPageGeometry":s=r.getPageGeometry(...o);break;case"merge":s=r.merge(...o);break;case"mergePages":s=r.mergePages(...o);break;case"preparePrintDocument":s=r.preparePrintDocument(...o);break;case"setDocumentEncryption":s=r.setDocumentEncryption(...o);break;case"removeEncryption":s=r.removeEncryption(...o);break;case"unlockOwnerPermissions":s=r.unlockOwnerPermissions(...o);break;case"isEncrypted":s=r.isEncrypted(...o);break;case"isOwnerUnlocked":s=r.isOwnerUnlocked(...o);break;default:const n={type:"reject",reason:{code:t.PdfErrorCode.NotSupport,message:`engine method ${a} is not supported`}},c={id:e.id,type:"ExecuteResponse",data:{type:"error",value:n}};return void this.respond(c)}s.onProgress(r=>{const t={id:e.id,type:"ExecuteProgress",data:r};this.respond(t)}),s.wait(r=>{const t={id:e.id,type:"ExecuteResponse",data:{type:"result",value:r}};this.respond(t)},r=>{const t={id:e.id,type:"ExecuteResponse",data:{type:"error",value:r}};this.respond(t)})}}listen(){self.onmessage=e=>this.handle(e)}handle(e){this.logger.debug(c,i,"webworker receive message event: ",e.data);try{const r=e.data;if("ExecuteRequest"===r.type)this.execute(r)}catch(r){this.logger.info(c,i,"webworker met error when processing message event:",r)}}ready(){this.listen(),this.respond({id:"0",type:"ReadyResponse"}),this.logger.debug(c,i,"runner is ready")}respond(e){this.logger.debug(c,i,"runner respond: ",e),self.postMessage(e)}};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/lib/webworker/runner.ts"],"sourcesContent":["import {\n Logger,\n NoopLogger,\n PdfEngine,\n PdfEngineError,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfEngineMethodReturnType,\n PdfErrorCode,\n TaskReturn,\n} from '@embedpdf/models';\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type PdfEngineMethodRequestBody = {\n [P in PdfEngineMethodName]: {\n name: P;\n args: PdfEngineMethodArgs<P>;\n };\n}[PdfEngineMethodName];\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type SpecificExecuteRequest<M extends PdfEngineMethodName> = {\n id: string;\n type: 'ExecuteRequest';\n data: {\n name: M;\n args: PdfEngineMethodArgs<M>;\n };\n};\n\n/**\n * Response body that represent return value of PdfEngine\n */\nexport type PdfEngineMethodResponseBody = {\n [P in PdfEngineMethodName]: TaskReturn<PdfEngineMethodReturnType<P>>;\n}[PdfEngineMethodName];\n\n/**\n * Request that abort the specified task\n */\nexport interface AbortRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'AbortRequest';\n}\n/**\n * Request that execute pdf engine method\n */\nexport interface ExecuteRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'ExecuteRequest';\n /**\n * request body\n */\n data: PdfEngineMethodRequestBody;\n}\n/**\n * Response that execute pdf engine method\n */\nexport interface ExecuteResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteResponse';\n /**\n * response body\n */\n data: PdfEngineMethodResponseBody;\n}\n\n/**\n * Response that indicate progress of the task\n */\nexport interface ExecuteProgress<T = unknown> {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteProgress';\n /**\n * response body\n */\n data: T;\n}\n\n/**\n * Response that indicate engine is ready\n */\nexport interface ReadyResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ReadyResponse';\n}\n\n/**\n * Request type\n */\nexport type Request = ExecuteRequest | AbortRequest;\n/**\n * Response type\n */\nexport type Response = ExecuteResponse | ReadyResponse | ExecuteProgress;\n\nconst LOG_SOURCE = 'WebWorkerEngineRunner';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Pdf engine runner, it will execute pdf engine based on the request it received and\n * send back the response with post message\n */\nexport class EngineRunner {\n engine: PdfEngine | undefined;\n\n /**\n * Create instance of EngineRunnder\n * @param logger - logger instance\n */\n constructor(public logger: Logger = new NoopLogger()) {}\n\n /**\n * Listening on post message\n */\n listen() {\n self.onmessage = (evt: MessageEvent<Request>) => {\n return this.handle(evt);\n };\n }\n\n /**\n * Handle post message\n */\n handle(evt: MessageEvent<Request>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'webworker receive message event: ', evt.data);\n try {\n const request = evt.data as Request;\n switch (request.type) {\n case 'ExecuteRequest':\n this.execute(request);\n break;\n }\n } catch (e) {\n this.logger.info(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker met error when processing message event:',\n e,\n );\n }\n }\n\n /**\n * Send the ready response when pdf engine is ready\n * @returns\n *\n * @protected\n */\n ready() {\n this.listen();\n\n this.respond({\n id: '0',\n type: 'ReadyResponse',\n });\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner is ready');\n }\n\n /**\n * Execute the request\n * @param request - request that represent the pdf engine call\n * @returns\n *\n * @protected\n */\n execute = async (request: ExecuteRequest) => {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner start exeucte request');\n if (!this.engine) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotReady,\n message: 'engine has not started yet',\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n const engine = this.engine;\n const { name, args } = request.data;\n if (!engine[name]) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported yet`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n let task: PdfEngineMethodReturnType<typeof name>;\n switch (name) {\n case 'isSupport':\n task = engine.isSupport!(...args);\n break;\n case 'destroy':\n task = engine.destroy!(...args);\n break;\n case 'openDocumentUrl':\n task = engine.openDocumentUrl!(...args);\n break;\n case 'openDocumentBuffer':\n task = engine.openDocumentBuffer!(...args);\n break;\n case 'getDocPermissions':\n task = engine.getDocPermissions!(...args);\n break;\n case 'getDocUserPermissions':\n task = engine.getDocUserPermissions!(...args);\n break;\n case 'getMetadata':\n task = engine.getMetadata!(...args);\n break;\n case 'setMetadata':\n task = engine.setMetadata!(...args);\n break;\n case 'getBookmarks':\n task = engine.getBookmarks!(...args);\n break;\n case 'setBookmarks':\n task = engine.setBookmarks!(...args);\n break;\n case 'deleteBookmarks':\n task = engine.deleteBookmarks!(...args);\n break;\n case 'getSignatures':\n task = engine.getSignatures!(...args);\n break;\n case 'renderPage':\n task = engine.renderPage!(...args);\n break;\n case 'renderPageRect':\n task = engine.renderPageRect!(...args);\n break;\n case 'renderPageAnnotation':\n task = engine.renderPageAnnotation!(...args);\n break;\n case 'renderThumbnail':\n task = engine.renderThumbnail!(...args);\n break;\n case 'getAllAnnotations':\n task = engine.getAllAnnotations!(...args);\n break;\n case 'getPageAnnotations':\n task = engine.getPageAnnotations!(...args);\n break;\n case 'createPageAnnotation':\n task = engine.createPageAnnotation!(...args);\n break;\n case 'updatePageAnnotation':\n task = engine.updatePageAnnotation!(...args);\n break;\n case 'removePageAnnotation':\n task = engine.removePageAnnotation!(...args);\n break;\n case 'getPageTextRects':\n task = engine.getPageTextRects!(...args);\n break;\n case 'searchAllPages':\n task = engine.searchAllPages!(...args);\n break;\n case 'closeDocument':\n task = engine.closeDocument!(...args);\n break;\n case 'closeAllDocuments':\n task = engine.closeAllDocuments!(...args);\n break;\n case 'saveAsCopy':\n task = engine.saveAsCopy!(...args);\n break;\n case 'getAttachments':\n task = engine.getAttachments!(...args);\n break;\n case 'addAttachment':\n task = engine.addAttachment!(...args);\n break;\n case 'removeAttachment':\n task = engine.removeAttachment!(...args);\n break;\n case 'readAttachmentContent':\n task = engine.readAttachmentContent!(...args);\n break;\n case 'setFormFieldValue':\n task = engine.setFormFieldValue!(...args);\n break;\n case 'flattenPage':\n task = engine.flattenPage!(...args);\n break;\n case 'extractPages':\n task = engine.extractPages!(...args);\n break;\n case 'extractText':\n task = engine.extractText!(...args);\n break;\n case 'redactTextInRects':\n task = engine.redactTextInRects!(...args);\n break;\n case 'getTextSlices':\n task = engine.getTextSlices!(...args);\n break;\n case 'getPageGlyphs':\n task = engine.getPageGlyphs!(...args);\n break;\n case 'getPageGeometry':\n task = engine.getPageGeometry!(...args);\n break;\n case 'merge':\n task = engine.merge!(...args);\n break;\n case 'mergePages':\n task = engine.mergePages!(...args);\n break;\n case 'preparePrintDocument':\n task = engine.preparePrintDocument!(...args);\n break;\n case 'setDocumentEncryption':\n task = engine.setDocumentEncryption(...args);\n break;\n case 'removeEncryption':\n task = engine.removeEncryption(...args);\n break;\n case 'unlockOwnerPermissions':\n task = engine.unlockOwnerPermissions(...args);\n break;\n case 'isEncrypted':\n task = engine.isEncrypted(...args);\n break;\n case 'isOwnerUnlocked':\n task = engine.isOwnerUnlocked(...args);\n break;\n default:\n // This should never be reached due to the earlier check, but provides exhaustiveness\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n task.onProgress((progress) => {\n const response: ExecuteProgress = {\n id: request.id,\n type: 'ExecuteProgress',\n data: progress,\n };\n this.respond(response);\n });\n\n task.wait(\n (result) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'result',\n value: result,\n },\n };\n this.respond(response);\n },\n (error) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n },\n );\n };\n\n /**\n * Send back the response\n * @param response - response that needs sent back\n *\n * @protected\n */\n respond(response: Response) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner respond: ', response);\n self.postMessage(response);\n }\n}\n"],"names":["LOG_SOURCE","LOG_CATEGORY","constructor","logger","NoopLogger","this","execute","async","request","debug","engine","error","type","reason","code","PdfErrorCode","NotReady","message","response","id","data","value","respond","name","args","NotSupport","task","isSupport","destroy","openDocumentUrl","openDocumentBuffer","getDocPermissions","getDocUserPermissions","getMetadata","setMetadata","getBookmarks","setBookmarks","deleteBookmarks","getSignatures","renderPage","renderPageRect","renderPageAnnotation","renderThumbnail","getAllAnnotations","getPageAnnotations","createPageAnnotation","updatePageAnnotation","removePageAnnotation","getPageTextRects","searchAllPages","closeDocument","closeAllDocuments","saveAsCopy","getAttachments","addAttachment","removeAttachment","readAttachmentContent","setFormFieldValue","flattenPage","extractPages","extractText","redactTextInRects","getTextSlices","getPageGlyphs","getPageGeometry","merge","mergePages","preparePrintDocument","setDocumentEncryption","removeEncryption","unlockOwnerPermissions","isEncrypted","isOwnerUnlocked","onProgress","progress","wait","result","listen","self","onmessage","evt","handle","e","info","ready","postMessage"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/lib/webworker/runner.ts"],"sourcesContent":["import {\n Logger,\n NoopLogger,\n PdfEngine,\n PdfEngineError,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfEngineMethodReturnType,\n PdfErrorCode,\n TaskReturn,\n} from '@embedpdf/models';\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type PdfEngineMethodRequestBody = {\n [P in PdfEngineMethodName]: {\n name: P;\n args: PdfEngineMethodArgs<P>;\n };\n}[PdfEngineMethodName];\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type SpecificExecuteRequest<M extends PdfEngineMethodName> = {\n id: string;\n type: 'ExecuteRequest';\n data: {\n name: M;\n args: PdfEngineMethodArgs<M>;\n };\n};\n\n/**\n * Response body that represent return value of PdfEngine\n */\nexport type PdfEngineMethodResponseBody = {\n [P in PdfEngineMethodName]: TaskReturn<PdfEngineMethodReturnType<P>>;\n}[PdfEngineMethodName];\n\n/**\n * Request that abort the specified task\n */\nexport interface AbortRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'AbortRequest';\n}\n/**\n * Request that execute pdf engine method\n */\nexport interface ExecuteRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'ExecuteRequest';\n /**\n * request body\n */\n data: PdfEngineMethodRequestBody;\n}\n/**\n * Response that execute pdf engine method\n */\nexport interface ExecuteResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteResponse';\n /**\n * response body\n */\n data: PdfEngineMethodResponseBody;\n}\n\n/**\n * Response that indicate progress of the task\n */\nexport interface ExecuteProgress<T = unknown> {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteProgress';\n /**\n * response body\n */\n data: T;\n}\n\n/**\n * Response that indicate engine is ready\n */\nexport interface ReadyResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ReadyResponse';\n}\n\n/**\n * Request type\n */\nexport type Request = ExecuteRequest | AbortRequest;\n/**\n * Response type\n */\nexport type Response = ExecuteResponse | ReadyResponse | ExecuteProgress;\n\nconst LOG_SOURCE = 'WebWorkerEngineRunner';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Pdf engine runner, it will execute pdf engine based on the request it received and\n * send back the response with post message\n */\nexport class EngineRunner {\n engine: PdfEngine | undefined;\n\n /**\n * Create instance of EngineRunnder\n * @param logger - logger instance\n */\n constructor(public logger: Logger = new NoopLogger()) {}\n\n /**\n * Listening on post message\n */\n listen() {\n self.onmessage = (evt: MessageEvent<Request>) => {\n return this.handle(evt);\n };\n }\n\n /**\n * Handle post message\n */\n handle(evt: MessageEvent<Request>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'webworker receive message event: ', evt.data);\n try {\n const request = evt.data as Request;\n switch (request.type) {\n case 'ExecuteRequest':\n this.execute(request);\n break;\n }\n } catch (e) {\n this.logger.info(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker met error when processing message event:',\n e,\n );\n }\n }\n\n /**\n * Send the ready response when pdf engine is ready\n * @returns\n *\n * @protected\n */\n ready() {\n this.listen();\n\n this.respond({\n id: '0',\n type: 'ReadyResponse',\n });\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner is ready');\n }\n\n /**\n * Execute the request\n * @param request - request that represent the pdf engine call\n * @returns\n *\n * @protected\n */\n execute = async (request: ExecuteRequest) => {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner start exeucte request');\n if (!this.engine) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotReady,\n message: 'engine has not started yet',\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n const engine = this.engine;\n const { name, args } = request.data;\n if (!engine[name]) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported yet`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n let task: PdfEngineMethodReturnType<typeof name>;\n switch (name) {\n case 'isSupport':\n task = engine.isSupport!(...args);\n break;\n case 'destroy':\n task = engine.destroy!(...args);\n break;\n case 'openDocumentUrl':\n task = engine.openDocumentUrl!(...args);\n break;\n case 'openDocumentBuffer':\n task = engine.openDocumentBuffer!(...args);\n break;\n case 'getDocPermissions':\n task = engine.getDocPermissions!(...args);\n break;\n case 'getDocUserPermissions':\n task = engine.getDocUserPermissions!(...args);\n break;\n case 'getMetadata':\n task = engine.getMetadata!(...args);\n break;\n case 'setMetadata':\n task = engine.setMetadata!(...args);\n break;\n case 'getBookmarks':\n task = engine.getBookmarks!(...args);\n break;\n case 'setBookmarks':\n task = engine.setBookmarks!(...args);\n break;\n case 'deleteBookmarks':\n task = engine.deleteBookmarks!(...args);\n break;\n case 'getSignatures':\n task = engine.getSignatures!(...args);\n break;\n case 'renderPage':\n task = engine.renderPage!(...args);\n break;\n case 'renderPageRect':\n task = engine.renderPageRect!(...args);\n break;\n case 'renderPageAnnotation':\n task = engine.renderPageAnnotation!(...args);\n break;\n case 'renderThumbnail':\n task = engine.renderThumbnail!(...args);\n break;\n case 'getAllAnnotations':\n task = engine.getAllAnnotations!(...args);\n break;\n case 'getPageAnnotations':\n task = engine.getPageAnnotations!(...args);\n break;\n case 'createPageAnnotation':\n task = engine.createPageAnnotation!(...args);\n break;\n case 'updatePageAnnotation':\n task = engine.updatePageAnnotation!(...args);\n break;\n case 'removePageAnnotation':\n task = engine.removePageAnnotation!(...args);\n break;\n case 'getPageTextRects':\n task = engine.getPageTextRects!(...args);\n break;\n case 'searchAllPages':\n task = engine.searchAllPages!(...args);\n break;\n case 'closeDocument':\n task = engine.closeDocument!(...args);\n break;\n case 'closeAllDocuments':\n task = engine.closeAllDocuments!(...args);\n break;\n case 'saveAsCopy':\n task = engine.saveAsCopy!(...args);\n break;\n case 'getAttachments':\n task = engine.getAttachments!(...args);\n break;\n case 'addAttachment':\n task = engine.addAttachment!(...args);\n break;\n case 'removeAttachment':\n task = engine.removeAttachment!(...args);\n break;\n case 'readAttachmentContent':\n task = engine.readAttachmentContent!(...args);\n break;\n case 'setFormFieldValue':\n task = engine.setFormFieldValue!(...args);\n break;\n case 'flattenPage':\n task = engine.flattenPage!(...args);\n break;\n case 'extractPages':\n task = engine.extractPages!(...args);\n break;\n case 'extractText':\n task = engine.extractText!(...args);\n break;\n case 'redactTextInRects':\n task = engine.redactTextInRects!(...args);\n break;\n case 'applyRedaction':\n task = engine.applyRedaction!(...args);\n break;\n case 'applyAllRedactions':\n task = engine.applyAllRedactions!(...args);\n break;\n case 'flattenAnnotation':\n task = engine.flattenAnnotation!(...args);\n break;\n case 'getTextSlices':\n task = engine.getTextSlices!(...args);\n break;\n case 'getPageGlyphs':\n task = engine.getPageGlyphs!(...args);\n break;\n case 'getPageGeometry':\n task = engine.getPageGeometry!(...args);\n break;\n case 'merge':\n task = engine.merge!(...args);\n break;\n case 'mergePages':\n task = engine.mergePages!(...args);\n break;\n case 'preparePrintDocument':\n task = engine.preparePrintDocument!(...args);\n break;\n case 'setDocumentEncryption':\n task = engine.setDocumentEncryption(...args);\n break;\n case 'removeEncryption':\n task = engine.removeEncryption(...args);\n break;\n case 'unlockOwnerPermissions':\n task = engine.unlockOwnerPermissions(...args);\n break;\n case 'isEncrypted':\n task = engine.isEncrypted(...args);\n break;\n case 'isOwnerUnlocked':\n task = engine.isOwnerUnlocked(...args);\n break;\n default:\n // This should never be reached due to the earlier check, but provides exhaustiveness\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n task.onProgress((progress) => {\n const response: ExecuteProgress = {\n id: request.id,\n type: 'ExecuteProgress',\n data: progress,\n };\n this.respond(response);\n });\n\n task.wait(\n (result) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'result',\n value: result,\n },\n };\n this.respond(response);\n },\n (error) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n },\n );\n };\n\n /**\n * Send back the response\n * @param response - response that needs sent back\n *\n * @protected\n */\n respond(response: Response) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner respond: ', response);\n self.postMessage(response);\n }\n}\n"],"names":["LOG_SOURCE","LOG_CATEGORY","constructor","logger","NoopLogger","this","execute","async","request","debug","engine","error","type","reason","code","PdfErrorCode","NotReady","message","response","id","data","value","respond","name","args","NotSupport","task","isSupport","destroy","openDocumentUrl","openDocumentBuffer","getDocPermissions","getDocUserPermissions","getMetadata","setMetadata","getBookmarks","setBookmarks","deleteBookmarks","getSignatures","renderPage","renderPageRect","renderPageAnnotation","renderThumbnail","getAllAnnotations","getPageAnnotations","createPageAnnotation","updatePageAnnotation","removePageAnnotation","getPageTextRects","searchAllPages","closeDocument","closeAllDocuments","saveAsCopy","getAttachments","addAttachment","removeAttachment","readAttachmentContent","setFormFieldValue","flattenPage","extractPages","extractText","redactTextInRects","applyRedaction","applyAllRedactions","flattenAnnotation","getTextSlices","getPageGlyphs","getPageGeometry","merge","mergePages","preparePrintDocument","setDocumentEncryption","removeEncryption","unlockOwnerPermissions","isEncrypted","isOwnerUnlocked","onProgress","progress","wait","result","listen","self","onmessage","evt","handle","e","info","ready","postMessage"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@ import { DEFAULT_PDFIUM_WASM_URL, FONT_CDN_URLS, cdnFontConfig, createCdnFontCon
2
2
  import { WebWorkerEngine, WorkerTask } from "./lib/webworker/engine.js";
3
3
  import { NoopLogger, PdfErrorCode } from "@embedpdf/models";
4
4
  import { FontCharset } from "@embedpdf/models";
5
- import { B, F, P, a, R, d, e, c, i, b, r } from "./direct-engine-DGRkMlJ8.js";
5
+ import { B, F, P, a, R, d, e, c, i, b, r } from "./direct-engine-6BoAmGsC.js";
6
6
  import { createPdfiumEngine } from "./lib/pdfium/web/worker-engine.js";
7
7
  import { I, b as b2, a as a2, c as c2 } from "./browser-awZxztMA.js";
8
- import { P as P2 } from "./pdf-engine-ChjNHvQd.js";
8
+ import { P as P2 } from "./pdf-engine-D_Dua_6w.js";
9
9
  const LOG_SOURCE = "WebWorkerEngineRunner";
10
10
  const LOG_CATEGORY = "Engine";
11
11
  class EngineRunner {
@@ -164,6 +164,15 @@ class EngineRunner {
164
164
  case "redactTextInRects":
165
165
  task = engine.redactTextInRects(...args);
166
166
  break;
167
+ case "applyRedaction":
168
+ task = engine.applyRedaction(...args);
169
+ break;
170
+ case "applyAllRedactions":
171
+ task = engine.applyAllRedactions(...args);
172
+ break;
173
+ case "flattenAnnotation":
174
+ task = engine.flattenAnnotation(...args);
175
+ break;
167
176
  case "getTextSlices":
168
177
  task = engine.getTextSlices(...args);
169
178
  break;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/lib/webworker/runner.ts"],"sourcesContent":["import {\n Logger,\n NoopLogger,\n PdfEngine,\n PdfEngineError,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfEngineMethodReturnType,\n PdfErrorCode,\n TaskReturn,\n} from '@embedpdf/models';\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type PdfEngineMethodRequestBody = {\n [P in PdfEngineMethodName]: {\n name: P;\n args: PdfEngineMethodArgs<P>;\n };\n}[PdfEngineMethodName];\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type SpecificExecuteRequest<M extends PdfEngineMethodName> = {\n id: string;\n type: 'ExecuteRequest';\n data: {\n name: M;\n args: PdfEngineMethodArgs<M>;\n };\n};\n\n/**\n * Response body that represent return value of PdfEngine\n */\nexport type PdfEngineMethodResponseBody = {\n [P in PdfEngineMethodName]: TaskReturn<PdfEngineMethodReturnType<P>>;\n}[PdfEngineMethodName];\n\n/**\n * Request that abort the specified task\n */\nexport interface AbortRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'AbortRequest';\n}\n/**\n * Request that execute pdf engine method\n */\nexport interface ExecuteRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'ExecuteRequest';\n /**\n * request body\n */\n data: PdfEngineMethodRequestBody;\n}\n/**\n * Response that execute pdf engine method\n */\nexport interface ExecuteResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteResponse';\n /**\n * response body\n */\n data: PdfEngineMethodResponseBody;\n}\n\n/**\n * Response that indicate progress of the task\n */\nexport interface ExecuteProgress<T = unknown> {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteProgress';\n /**\n * response body\n */\n data: T;\n}\n\n/**\n * Response that indicate engine is ready\n */\nexport interface ReadyResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ReadyResponse';\n}\n\n/**\n * Request type\n */\nexport type Request = ExecuteRequest | AbortRequest;\n/**\n * Response type\n */\nexport type Response = ExecuteResponse | ReadyResponse | ExecuteProgress;\n\nconst LOG_SOURCE = 'WebWorkerEngineRunner';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Pdf engine runner, it will execute pdf engine based on the request it received and\n * send back the response with post message\n */\nexport class EngineRunner {\n engine: PdfEngine | undefined;\n\n /**\n * Create instance of EngineRunnder\n * @param logger - logger instance\n */\n constructor(public logger: Logger = new NoopLogger()) {}\n\n /**\n * Listening on post message\n */\n listen() {\n self.onmessage = (evt: MessageEvent<Request>) => {\n return this.handle(evt);\n };\n }\n\n /**\n * Handle post message\n */\n handle(evt: MessageEvent<Request>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'webworker receive message event: ', evt.data);\n try {\n const request = evt.data as Request;\n switch (request.type) {\n case 'ExecuteRequest':\n this.execute(request);\n break;\n }\n } catch (e) {\n this.logger.info(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker met error when processing message event:',\n e,\n );\n }\n }\n\n /**\n * Send the ready response when pdf engine is ready\n * @returns\n *\n * @protected\n */\n ready() {\n this.listen();\n\n this.respond({\n id: '0',\n type: 'ReadyResponse',\n });\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner is ready');\n }\n\n /**\n * Execute the request\n * @param request - request that represent the pdf engine call\n * @returns\n *\n * @protected\n */\n execute = async (request: ExecuteRequest) => {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner start exeucte request');\n if (!this.engine) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotReady,\n message: 'engine has not started yet',\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n const engine = this.engine;\n const { name, args } = request.data;\n if (!engine[name]) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported yet`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n let task: PdfEngineMethodReturnType<typeof name>;\n switch (name) {\n case 'isSupport':\n task = engine.isSupport!(...args);\n break;\n case 'destroy':\n task = engine.destroy!(...args);\n break;\n case 'openDocumentUrl':\n task = engine.openDocumentUrl!(...args);\n break;\n case 'openDocumentBuffer':\n task = engine.openDocumentBuffer!(...args);\n break;\n case 'getDocPermissions':\n task = engine.getDocPermissions!(...args);\n break;\n case 'getDocUserPermissions':\n task = engine.getDocUserPermissions!(...args);\n break;\n case 'getMetadata':\n task = engine.getMetadata!(...args);\n break;\n case 'setMetadata':\n task = engine.setMetadata!(...args);\n break;\n case 'getBookmarks':\n task = engine.getBookmarks!(...args);\n break;\n case 'setBookmarks':\n task = engine.setBookmarks!(...args);\n break;\n case 'deleteBookmarks':\n task = engine.deleteBookmarks!(...args);\n break;\n case 'getSignatures':\n task = engine.getSignatures!(...args);\n break;\n case 'renderPage':\n task = engine.renderPage!(...args);\n break;\n case 'renderPageRect':\n task = engine.renderPageRect!(...args);\n break;\n case 'renderPageAnnotation':\n task = engine.renderPageAnnotation!(...args);\n break;\n case 'renderThumbnail':\n task = engine.renderThumbnail!(...args);\n break;\n case 'getAllAnnotations':\n task = engine.getAllAnnotations!(...args);\n break;\n case 'getPageAnnotations':\n task = engine.getPageAnnotations!(...args);\n break;\n case 'createPageAnnotation':\n task = engine.createPageAnnotation!(...args);\n break;\n case 'updatePageAnnotation':\n task = engine.updatePageAnnotation!(...args);\n break;\n case 'removePageAnnotation':\n task = engine.removePageAnnotation!(...args);\n break;\n case 'getPageTextRects':\n task = engine.getPageTextRects!(...args);\n break;\n case 'searchAllPages':\n task = engine.searchAllPages!(...args);\n break;\n case 'closeDocument':\n task = engine.closeDocument!(...args);\n break;\n case 'closeAllDocuments':\n task = engine.closeAllDocuments!(...args);\n break;\n case 'saveAsCopy':\n task = engine.saveAsCopy!(...args);\n break;\n case 'getAttachments':\n task = engine.getAttachments!(...args);\n break;\n case 'addAttachment':\n task = engine.addAttachment!(...args);\n break;\n case 'removeAttachment':\n task = engine.removeAttachment!(...args);\n break;\n case 'readAttachmentContent':\n task = engine.readAttachmentContent!(...args);\n break;\n case 'setFormFieldValue':\n task = engine.setFormFieldValue!(...args);\n break;\n case 'flattenPage':\n task = engine.flattenPage!(...args);\n break;\n case 'extractPages':\n task = engine.extractPages!(...args);\n break;\n case 'extractText':\n task = engine.extractText!(...args);\n break;\n case 'redactTextInRects':\n task = engine.redactTextInRects!(...args);\n break;\n case 'getTextSlices':\n task = engine.getTextSlices!(...args);\n break;\n case 'getPageGlyphs':\n task = engine.getPageGlyphs!(...args);\n break;\n case 'getPageGeometry':\n task = engine.getPageGeometry!(...args);\n break;\n case 'merge':\n task = engine.merge!(...args);\n break;\n case 'mergePages':\n task = engine.mergePages!(...args);\n break;\n case 'preparePrintDocument':\n task = engine.preparePrintDocument!(...args);\n break;\n case 'setDocumentEncryption':\n task = engine.setDocumentEncryption(...args);\n break;\n case 'removeEncryption':\n task = engine.removeEncryption(...args);\n break;\n case 'unlockOwnerPermissions':\n task = engine.unlockOwnerPermissions(...args);\n break;\n case 'isEncrypted':\n task = engine.isEncrypted(...args);\n break;\n case 'isOwnerUnlocked':\n task = engine.isOwnerUnlocked(...args);\n break;\n default:\n // This should never be reached due to the earlier check, but provides exhaustiveness\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n task.onProgress((progress) => {\n const response: ExecuteProgress = {\n id: request.id,\n type: 'ExecuteProgress',\n data: progress,\n };\n this.respond(response);\n });\n\n task.wait(\n (result) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'result',\n value: result,\n },\n };\n this.respond(response);\n },\n (error) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n },\n );\n };\n\n /**\n * Send back the response\n * @param response - response that needs sent back\n *\n * @protected\n */\n respond(response: Response) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner respond: ', response);\n self.postMessage(response);\n }\n}\n"],"names":["e"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/lib/webworker/runner.ts"],"sourcesContent":["import {\n Logger,\n NoopLogger,\n PdfEngine,\n PdfEngineError,\n PdfEngineMethodArgs,\n PdfEngineMethodName,\n PdfEngineMethodReturnType,\n PdfErrorCode,\n TaskReturn,\n} from '@embedpdf/models';\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type PdfEngineMethodRequestBody = {\n [P in PdfEngineMethodName]: {\n name: P;\n args: PdfEngineMethodArgs<P>;\n };\n}[PdfEngineMethodName];\n\n/**\n * Request body that represent method calls of PdfEngine, it contains the\n * method name and arguments\n */\nexport type SpecificExecuteRequest<M extends PdfEngineMethodName> = {\n id: string;\n type: 'ExecuteRequest';\n data: {\n name: M;\n args: PdfEngineMethodArgs<M>;\n };\n};\n\n/**\n * Response body that represent return value of PdfEngine\n */\nexport type PdfEngineMethodResponseBody = {\n [P in PdfEngineMethodName]: TaskReturn<PdfEngineMethodReturnType<P>>;\n}[PdfEngineMethodName];\n\n/**\n * Request that abort the specified task\n */\nexport interface AbortRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'AbortRequest';\n}\n/**\n * Request that execute pdf engine method\n */\nexport interface ExecuteRequest {\n /**\n * message id\n */\n id: string;\n /**\n * request type\n */\n type: 'ExecuteRequest';\n /**\n * request body\n */\n data: PdfEngineMethodRequestBody;\n}\n/**\n * Response that execute pdf engine method\n */\nexport interface ExecuteResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteResponse';\n /**\n * response body\n */\n data: PdfEngineMethodResponseBody;\n}\n\n/**\n * Response that indicate progress of the task\n */\nexport interface ExecuteProgress<T = unknown> {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ExecuteProgress';\n /**\n * response body\n */\n data: T;\n}\n\n/**\n * Response that indicate engine is ready\n */\nexport interface ReadyResponse {\n /**\n * message id\n */\n id: string;\n /**\n * response type\n */\n type: 'ReadyResponse';\n}\n\n/**\n * Request type\n */\nexport type Request = ExecuteRequest | AbortRequest;\n/**\n * Response type\n */\nexport type Response = ExecuteResponse | ReadyResponse | ExecuteProgress;\n\nconst LOG_SOURCE = 'WebWorkerEngineRunner';\nconst LOG_CATEGORY = 'Engine';\n\n/**\n * Pdf engine runner, it will execute pdf engine based on the request it received and\n * send back the response with post message\n */\nexport class EngineRunner {\n engine: PdfEngine | undefined;\n\n /**\n * Create instance of EngineRunnder\n * @param logger - logger instance\n */\n constructor(public logger: Logger = new NoopLogger()) {}\n\n /**\n * Listening on post message\n */\n listen() {\n self.onmessage = (evt: MessageEvent<Request>) => {\n return this.handle(evt);\n };\n }\n\n /**\n * Handle post message\n */\n handle(evt: MessageEvent<Request>) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'webworker receive message event: ', evt.data);\n try {\n const request = evt.data as Request;\n switch (request.type) {\n case 'ExecuteRequest':\n this.execute(request);\n break;\n }\n } catch (e) {\n this.logger.info(\n LOG_SOURCE,\n LOG_CATEGORY,\n 'webworker met error when processing message event:',\n e,\n );\n }\n }\n\n /**\n * Send the ready response when pdf engine is ready\n * @returns\n *\n * @protected\n */\n ready() {\n this.listen();\n\n this.respond({\n id: '0',\n type: 'ReadyResponse',\n });\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner is ready');\n }\n\n /**\n * Execute the request\n * @param request - request that represent the pdf engine call\n * @returns\n *\n * @protected\n */\n execute = async (request: ExecuteRequest) => {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner start exeucte request');\n if (!this.engine) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotReady,\n message: 'engine has not started yet',\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n const engine = this.engine;\n const { name, args } = request.data;\n if (!engine[name]) {\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported yet`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n let task: PdfEngineMethodReturnType<typeof name>;\n switch (name) {\n case 'isSupport':\n task = engine.isSupport!(...args);\n break;\n case 'destroy':\n task = engine.destroy!(...args);\n break;\n case 'openDocumentUrl':\n task = engine.openDocumentUrl!(...args);\n break;\n case 'openDocumentBuffer':\n task = engine.openDocumentBuffer!(...args);\n break;\n case 'getDocPermissions':\n task = engine.getDocPermissions!(...args);\n break;\n case 'getDocUserPermissions':\n task = engine.getDocUserPermissions!(...args);\n break;\n case 'getMetadata':\n task = engine.getMetadata!(...args);\n break;\n case 'setMetadata':\n task = engine.setMetadata!(...args);\n break;\n case 'getBookmarks':\n task = engine.getBookmarks!(...args);\n break;\n case 'setBookmarks':\n task = engine.setBookmarks!(...args);\n break;\n case 'deleteBookmarks':\n task = engine.deleteBookmarks!(...args);\n break;\n case 'getSignatures':\n task = engine.getSignatures!(...args);\n break;\n case 'renderPage':\n task = engine.renderPage!(...args);\n break;\n case 'renderPageRect':\n task = engine.renderPageRect!(...args);\n break;\n case 'renderPageAnnotation':\n task = engine.renderPageAnnotation!(...args);\n break;\n case 'renderThumbnail':\n task = engine.renderThumbnail!(...args);\n break;\n case 'getAllAnnotations':\n task = engine.getAllAnnotations!(...args);\n break;\n case 'getPageAnnotations':\n task = engine.getPageAnnotations!(...args);\n break;\n case 'createPageAnnotation':\n task = engine.createPageAnnotation!(...args);\n break;\n case 'updatePageAnnotation':\n task = engine.updatePageAnnotation!(...args);\n break;\n case 'removePageAnnotation':\n task = engine.removePageAnnotation!(...args);\n break;\n case 'getPageTextRects':\n task = engine.getPageTextRects!(...args);\n break;\n case 'searchAllPages':\n task = engine.searchAllPages!(...args);\n break;\n case 'closeDocument':\n task = engine.closeDocument!(...args);\n break;\n case 'closeAllDocuments':\n task = engine.closeAllDocuments!(...args);\n break;\n case 'saveAsCopy':\n task = engine.saveAsCopy!(...args);\n break;\n case 'getAttachments':\n task = engine.getAttachments!(...args);\n break;\n case 'addAttachment':\n task = engine.addAttachment!(...args);\n break;\n case 'removeAttachment':\n task = engine.removeAttachment!(...args);\n break;\n case 'readAttachmentContent':\n task = engine.readAttachmentContent!(...args);\n break;\n case 'setFormFieldValue':\n task = engine.setFormFieldValue!(...args);\n break;\n case 'flattenPage':\n task = engine.flattenPage!(...args);\n break;\n case 'extractPages':\n task = engine.extractPages!(...args);\n break;\n case 'extractText':\n task = engine.extractText!(...args);\n break;\n case 'redactTextInRects':\n task = engine.redactTextInRects!(...args);\n break;\n case 'applyRedaction':\n task = engine.applyRedaction!(...args);\n break;\n case 'applyAllRedactions':\n task = engine.applyAllRedactions!(...args);\n break;\n case 'flattenAnnotation':\n task = engine.flattenAnnotation!(...args);\n break;\n case 'getTextSlices':\n task = engine.getTextSlices!(...args);\n break;\n case 'getPageGlyphs':\n task = engine.getPageGlyphs!(...args);\n break;\n case 'getPageGeometry':\n task = engine.getPageGeometry!(...args);\n break;\n case 'merge':\n task = engine.merge!(...args);\n break;\n case 'mergePages':\n task = engine.mergePages!(...args);\n break;\n case 'preparePrintDocument':\n task = engine.preparePrintDocument!(...args);\n break;\n case 'setDocumentEncryption':\n task = engine.setDocumentEncryption(...args);\n break;\n case 'removeEncryption':\n task = engine.removeEncryption(...args);\n break;\n case 'unlockOwnerPermissions':\n task = engine.unlockOwnerPermissions(...args);\n break;\n case 'isEncrypted':\n task = engine.isEncrypted(...args);\n break;\n case 'isOwnerUnlocked':\n task = engine.isOwnerUnlocked(...args);\n break;\n default:\n // This should never be reached due to the earlier check, but provides exhaustiveness\n const error: PdfEngineError = {\n type: 'reject',\n reason: {\n code: PdfErrorCode.NotSupport,\n message: `engine method ${name} is not supported`,\n },\n };\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n return;\n }\n\n task.onProgress((progress) => {\n const response: ExecuteProgress = {\n id: request.id,\n type: 'ExecuteProgress',\n data: progress,\n };\n this.respond(response);\n });\n\n task.wait(\n (result) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'result',\n value: result,\n },\n };\n this.respond(response);\n },\n (error) => {\n const response: ExecuteResponse = {\n id: request.id,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n },\n );\n };\n\n /**\n * Send back the response\n * @param response - response that needs sent back\n *\n * @protected\n */\n respond(response: Response) {\n this.logger.debug(LOG_SOURCE, LOG_CATEGORY, 'runner respond: ', response);\n self.postMessage(response);\n }\n}\n"],"names":["e"],"mappings":"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"}
@@ -84,6 +84,9 @@ export declare class PdfEngine<T = Blob> implements IPdfEngine<T> {
84
84
  extractPages(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<ArrayBuffer>;
85
85
  extractText(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<string>;
86
86
  redactTextInRects(doc: PdfDocumentObject, page: PdfPageObject, rects: Rect[], options?: PdfRedactTextOptions): PdfTask<boolean>;
87
+ applyRedaction(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
88
+ applyAllRedactions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<boolean>;
89
+ flattenAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
87
90
  getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]): PdfTask<string[]>;
88
91
  getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfGlyphObject[]>;
89
92
  getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfPageGeometry>;
@@ -83,6 +83,9 @@ export declare class RemoteExecutor implements IPdfiumExecutor {
83
83
  extractPages(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<ArrayBuffer>;
84
84
  extractText(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<string>;
85
85
  redactTextInRects(doc: PdfDocumentObject, page: PdfPageObject, rects: Rect[], options?: PdfRedactTextOptions): PdfTask<boolean>;
86
+ applyRedaction(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
87
+ applyAllRedactions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<boolean>;
88
+ flattenAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
86
89
  getTextSlices(doc: PdfDocumentObject, slices: PageTextSlice[]): PdfTask<string[]>;
87
90
  getPageGlyphs(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfGlyphObject[]>;
88
91
  getPageGeometry(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfPageGeometry>;
@@ -397,6 +397,17 @@ export declare class PdfiumNative implements IPdfiumExecutor {
397
397
  * @private
398
398
  */
399
399
  private addPolyContent;
400
+ /**
401
+ * Add link content (action or destination) to a link annotation
402
+ * @param docPtr - pointer to pdf document
403
+ * @param pagePtr - pointer to the page
404
+ * @param annotationPtr - pointer to pdf annotation
405
+ * @param annotation - the link annotation object
406
+ * @returns true if successful
407
+ *
408
+ * @private
409
+ */
410
+ private addLinkContent;
400
411
  /**
401
412
  * Add shape content to annotation
402
413
  * @param page - page info
@@ -418,6 +429,17 @@ export declare class PdfiumNative implements IPdfiumExecutor {
418
429
  * @private
419
430
  */
420
431
  addTextMarkupContent(page: PdfPageObject, pagePtr: number, annotationPtr: number, annotation: PdfHighlightAnnoObject | PdfUnderlineAnnoObject | PdfStrikeOutAnnoObject | PdfSquigglyAnnoObject): boolean;
432
+ /**
433
+ * Add content to redact annotation
434
+ * @param page - page info
435
+ * @param pagePtr - pointer to page object
436
+ * @param annotationPtr - pointer to redact annotation
437
+ * @param annotation - redact annotation
438
+ * @returns whether redact content is added to annotation
439
+ *
440
+ * @private
441
+ */
442
+ private addRedactContent;
421
443
  /**
422
444
  * Add contents to stamp annotation
423
445
  * @param docPtr - pointer to pdf document object
@@ -725,6 +747,44 @@ export declare class PdfiumNative implements IPdfiumExecutor {
725
747
  * @returns `true` on success
726
748
  */
727
749
  private setAnnotationVerticalAlignment;
750
+ /**
751
+ * Get the overlay text from a Redact annotation.
752
+ *
753
+ * @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
754
+ * @returns overlay text string or `undefined` if not set
755
+ *
756
+ * @private
757
+ */
758
+ private getOverlayText;
759
+ /**
760
+ * Set the overlay text on a Redact annotation.
761
+ *
762
+ * @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
763
+ * @param text overlay text to set, or undefined/empty to clear
764
+ * @returns `true` on success
765
+ *
766
+ * @private
767
+ */
768
+ private setOverlayText;
769
+ /**
770
+ * Get whether overlay text repeats in a Redact annotation.
771
+ *
772
+ * @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
773
+ * @returns `true` if overlay text repeats
774
+ *
775
+ * @private
776
+ */
777
+ private getOverlayTextRepeat;
778
+ /**
779
+ * Set whether overlay text repeats in a Redact annotation.
780
+ *
781
+ * @param annotationPtr pointer returned by `FPDFPage_GetAnnot`
782
+ * @param repeat whether overlay text should repeat
783
+ * @returns `true` on success
784
+ *
785
+ * @private
786
+ */
787
+ private setOverlayTextRepeat;
728
788
  /**
729
789
  * Return the **default appearance** (font, size, colour) declared in the
730
790
  * `/DA` string of a **FreeText** annotation.
@@ -775,6 +835,21 @@ export declare class PdfiumNative implements IPdfiumExecutor {
775
835
  * @returns `true` on success
776
836
  */
777
837
  private setAnnotationIcon;
838
+ /**
839
+ * Get the reply type of the annotation (RT property per ISO 32000-2)
840
+ *
841
+ * @param annotationPtr - pointer to an `FPDF_ANNOTATION`
842
+ * @returns `PdfAnnotationReplyType`
843
+ */
844
+ private getReplyType;
845
+ /**
846
+ * Set the reply type of the annotation (RT property per ISO 32000-2)
847
+ *
848
+ * @param annotationPtr - pointer to an `FPDF_ANNOTATION`
849
+ * @param replyType - `PdfAnnotationReplyType`
850
+ * @returns `true` on success
851
+ */
852
+ private setReplyType;
778
853
  /**
779
854
  * Border-effect (“cloudy”) helper
780
855
  *
@@ -923,6 +998,38 @@ export declare class PdfiumNative implements IPdfiumExecutor {
923
998
  * Returns `true` if the page changed. Always regenerates the page stream.
924
999
  */
925
1000
  redactTextInRects(doc: PdfDocumentObject, page: PdfPageObject, rects: Rect[], options?: PdfRedactTextOptions): Task<boolean, PdfErrorReason>;
1001
+ /**
1002
+ * Apply a single redaction annotation, permanently removing content underneath
1003
+ * and flattening the RO (Redact Overlay) appearance stream if present.
1004
+ * The annotation is removed after successful application.
1005
+ *
1006
+ * @param doc - document object
1007
+ * @param page - page object
1008
+ * @param annotation - the redact annotation to apply
1009
+ * @returns true if successful
1010
+ */
1011
+ applyRedaction(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
1012
+ /**
1013
+ * Apply all redaction annotations on a page, permanently removing content
1014
+ * underneath each one and flattening RO streams if present.
1015
+ * All redact annotations are removed after successful application.
1016
+ *
1017
+ * @param doc - document object
1018
+ * @param page - page object
1019
+ * @returns true if any redactions were applied
1020
+ */
1021
+ applyAllRedactions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<boolean>;
1022
+ /**
1023
+ * Flatten an annotation's appearance (AP/N) to page content.
1024
+ * The annotation's visual appearance becomes part of the page itself.
1025
+ * The annotation is automatically removed after flattening.
1026
+ *
1027
+ * @param doc - document object
1028
+ * @param page - page object
1029
+ * @param annotation - the annotation to flatten
1030
+ * @returns true if successful
1031
+ */
1032
+ flattenAnnotation(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfAnnotationObject): PdfTask<boolean>;
926
1033
  /** Pack device-space Rects into an FS_QUADPOINTSF[] buffer (page space). */
927
1034
  private allocFSQuadsBufferFromRects;
928
1035
  /**
@@ -1084,6 +1191,16 @@ export declare class PdfiumNative implements IPdfiumExecutor {
1084
1191
  * @private
1085
1192
  */
1086
1193
  private readPdfCaretAnno;
1194
+ /**
1195
+ * Read pdf redact annotation
1196
+ * @param page - pdf page info
1197
+ * @param annotationPtr - pointer to pdf annotation
1198
+ * @param index - index of annotation in the pdf page
1199
+ * @returns pdf redact annotation
1200
+ *
1201
+ * @private
1202
+ */
1203
+ private readPdfRedactAnno;
1087
1204
  /**
1088
1205
  * Read pdf stamp annotation
1089
1206
  * @param page - pdf page infor
@@ -1220,6 +1337,24 @@ export declare class PdfiumNative implements IPdfiumExecutor {
1220
1337
  * @returns `true` on success
1221
1338
  */
1222
1339
  private setInReplyToId;
1340
+ /**
1341
+ * Apply all base annotation properties from PdfAnnotationObjectBase.
1342
+ * The setInReplyToId and setReplyType functions handle clearing when undefined.
1343
+ *
1344
+ * @param pagePtr - pointer to page object
1345
+ * @param annotationPtr - pointer to annotation object
1346
+ * @param annotation - the annotation object containing properties to apply
1347
+ * @returns `true` on success
1348
+ */
1349
+ private applyBaseAnnotationProperties;
1350
+ /**
1351
+ * Read all base annotation properties from PdfAnnotationObjectBase.
1352
+ * Returns an object that can be spread into the annotation return value.
1353
+ *
1354
+ * @param annotationPtr - pointer to annotation object
1355
+ * @returns object with base annotation properties
1356
+ */
1357
+ private readBaseAnnotationProperties;
1223
1358
  /**
1224
1359
  * Fetch a string value (`/T`, `/M`, `/State`, …) from an annotation.
1225
1360
  *
@@ -1374,6 +1509,16 @@ export declare class PdfiumNative implements IPdfiumExecutor {
1374
1509
  private readPdfLinkAnnoTarget;
1375
1510
  private createLocalDestPtr;
1376
1511
  private applyBookmarkTarget;
1512
+ /**
1513
+ * Apply a link target (action or destination) to a link annotation
1514
+ * @param docPtr - pointer to pdf document
1515
+ * @param annotationPtr - pointer to the link annotation
1516
+ * @param target - the link target to apply
1517
+ * @returns true if successful
1518
+ *
1519
+ * @private
1520
+ */
1521
+ private applyLinkTarget;
1377
1522
  /**
1378
1523
  * Read pdf action from pdf document
1379
1524
  * @param docPtr - pointer to pdf document object
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../direct-engine-CGBAQS04.cjs"),t=require("../../browser-C6QEa8uk.cjs"),r=require("../../pdf-engine-DgNNP62W.cjs"),n=require("@embedpdf/models"),o=require("@embedpdf/fonts-jp"),s=require("@embedpdf/fonts-kr"),a=require("@embedpdf/fonts-sc"),d=require("@embedpdf/fonts-tc"),i=require("@embedpdf/fonts-arabic"),f=require("@embedpdf/fonts-hebrew"),p=require("@embedpdf/fonts-latin"),m=require("./web/worker-engine.cjs");function c(e="latest"){return{jp:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-jp@${e}/fonts`,kr:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-kr@${e}/fonts`,sc:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-sc@${e}/fonts`,tc:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-tc@${e}/fonts`,arabic:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-arabic@${e}/fonts`,hebrew:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-hebrew@${e}/fonts`,latin:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-latin@${e}/fonts`}}function u(e,t){return e.map(e=>({url:`${t}/${e.file}`,weight:e.weight,italic:e.italic}))}function b(e){return{fonts:{[n.FontCharset.SHIFTJIS]:u(o.fonts,e.jp),[n.FontCharset.HANGEUL]:u(s.fonts,e.kr),[n.FontCharset.GB2312]:u(a.fonts,e.sc),[n.FontCharset.CHINESEBIG5]:u(d.fonts,e.tc),[n.FontCharset.ARABIC]:u(i.fonts,e.arabic),[n.FontCharset.HEBREW]:u(f.fonts,e.hebrew),[n.FontCharset.CYRILLIC]:u(p.fonts,e.latin),[n.FontCharset.GREEK]:u(p.fonts,e.latin),[n.FontCharset.VIETNAMESE]:u(p.fonts,e.latin)}}}const l=c("latest"),C=b(l);exports.BitmapFormat=e.BitmapFormat,exports.FontFallbackManager=e.FontFallbackManager,exports.PdfiumErrorCode=e.PdfiumErrorCode,exports.PdfiumNative=e.PdfiumNative,exports.RenderFlag=e.RenderFlag,exports.computeFormDrawParams=e.computeFormDrawParams,exports.createNodeFontLoader=e.createNodeFontLoader,exports.createPdfiumDirectEngine=e.createPdfiumEngine,exports.isValidCustomKey=e.isValidCustomKey,exports.readArrayBuffer=e.readArrayBuffer,exports.readString=e.readString,exports.ImageConverterError=t.ImageConverterError,exports.browserImageDataToBlobConverter=t.browserImageDataToBlobConverter,exports.createHybridImageConverter=t.createHybridImageConverter,exports.createWorkerPoolImageConverter=t.createWorkerPoolImageConverter,exports.PdfEngine=r.PdfEngine,Object.defineProperty(exports,"FontCharset",{enumerable:!0,get:()=>n.FontCharset}),exports.createPdfiumWorkerEngine=m.createPdfiumEngine,exports.DEFAULT_PDFIUM_WASM_URL="https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.2.0/dist/pdfium.wasm",exports.FONT_CDN_URLS=l,exports.cdnFontConfig=C,exports.createCdnFontConfig=function(e="latest"){return b(c(e))};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../direct-engine-Byh1BweU.cjs"),t=require("../../browser-C6QEa8uk.cjs"),r=require("../../pdf-engine-BXctylEz.cjs"),n=require("@embedpdf/models"),o=require("@embedpdf/fonts-jp"),s=require("@embedpdf/fonts-kr"),a=require("@embedpdf/fonts-sc"),d=require("@embedpdf/fonts-tc"),i=require("@embedpdf/fonts-arabic"),f=require("@embedpdf/fonts-hebrew"),p=require("@embedpdf/fonts-latin"),m=require("./web/worker-engine.cjs");function c(e="latest"){return{jp:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-jp@${e}/fonts`,kr:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-kr@${e}/fonts`,sc:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-sc@${e}/fonts`,tc:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-tc@${e}/fonts`,arabic:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-arabic@${e}/fonts`,hebrew:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-hebrew@${e}/fonts`,latin:`https://cdn.jsdelivr.net/npm/@embedpdf/fonts-latin@${e}/fonts`}}function u(e,t){return e.map(e=>({url:`${t}/${e.file}`,weight:e.weight,italic:e.italic}))}function b(e){return{fonts:{[n.FontCharset.SHIFTJIS]:u(o.fonts,e.jp),[n.FontCharset.HANGEUL]:u(s.fonts,e.kr),[n.FontCharset.GB2312]:u(a.fonts,e.sc),[n.FontCharset.CHINESEBIG5]:u(d.fonts,e.tc),[n.FontCharset.ARABIC]:u(i.fonts,e.arabic),[n.FontCharset.HEBREW]:u(f.fonts,e.hebrew),[n.FontCharset.CYRILLIC]:u(p.fonts,e.latin),[n.FontCharset.GREEK]:u(p.fonts,e.latin),[n.FontCharset.VIETNAMESE]:u(p.fonts,e.latin)}}}const l=c("latest"),C=b(l);exports.BitmapFormat=e.BitmapFormat,exports.FontFallbackManager=e.FontFallbackManager,exports.PdfiumErrorCode=e.PdfiumErrorCode,exports.PdfiumNative=e.PdfiumNative,exports.RenderFlag=e.RenderFlag,exports.computeFormDrawParams=e.computeFormDrawParams,exports.createNodeFontLoader=e.createNodeFontLoader,exports.createPdfiumDirectEngine=e.createPdfiumEngine,exports.isValidCustomKey=e.isValidCustomKey,exports.readArrayBuffer=e.readArrayBuffer,exports.readString=e.readString,exports.ImageConverterError=t.ImageConverterError,exports.browserImageDataToBlobConverter=t.browserImageDataToBlobConverter,exports.createHybridImageConverter=t.createHybridImageConverter,exports.createWorkerPoolImageConverter=t.createWorkerPoolImageConverter,exports.PdfEngine=r.PdfEngine,Object.defineProperty(exports,"FontCharset",{enumerable:!0,get:()=>n.FontCharset}),exports.createPdfiumWorkerEngine=m.createPdfiumEngine,exports.DEFAULT_PDFIUM_WASM_URL="https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.4.0/dist/pdfium.wasm",exports.FONT_CDN_URLS=l,exports.cdnFontConfig=C,exports.createCdnFontConfig=function(e="latest"){return b(c(e))};
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
- import { B, F, P, a, R, d, e, c, i, b, r } from "../../direct-engine-DGRkMlJ8.js";
1
+ import { B, F, P, a, R, d, e, c, i, b, r } from "../../direct-engine-6BoAmGsC.js";
2
2
  import { I, b as b2, a as a2, c as c2 } from "../../browser-awZxztMA.js";
3
- import { P as P2 } from "../../pdf-engine-ChjNHvQd.js";
3
+ import { P as P2 } from "../../pdf-engine-D_Dua_6w.js";
4
4
  import { FontCharset } from "@embedpdf/models";
5
5
  import { FontCharset as FontCharset2 } from "@embedpdf/models";
6
6
  import { fonts as fonts$6 } from "@embedpdf/fonts-jp";
@@ -49,7 +49,7 @@ const cdnFontConfig = buildCdnFontConfig(FONT_CDN_URLS);
49
49
  function createCdnFontConfig(version = "latest") {
50
50
  return buildCdnFontConfig(buildCdnUrls(version));
51
51
  }
52
- const DEFAULT_PDFIUM_WASM_URL = "https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.2.0/dist/pdfium.wasm";
52
+ const DEFAULT_PDFIUM_WASM_URL = "https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.4.0/dist/pdfium.wasm";
53
53
  export {
54
54
  B as BitmapFormat,
55
55
  DEFAULT_PDFIUM_WASM_URL,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("@embedpdf/pdfium");const e=require("../../../direct-engine-CGBAQS04.cjs");require("../../../pdf-engine-DgNNP62W.cjs"),require("../../../browser-C6QEa8uk.cjs"),exports.createPdfiumEngine=e.createPdfiumEngine;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("@embedpdf/pdfium");const e=require("../../../direct-engine-Byh1BweU.cjs");require("../../../pdf-engine-BXctylEz.cjs"),require("../../../browser-C6QEa8uk.cjs"),exports.createPdfiumEngine=e.createPdfiumEngine;
2
2
  //# sourceMappingURL=direct-engine.cjs.map
@@ -1,6 +1,6 @@
1
1
  import "@embedpdf/pdfium";
2
- import { c } from "../../../direct-engine-DGRkMlJ8.js";
3
- import "../../../pdf-engine-ChjNHvQd.js";
2
+ import { c } from "../../../direct-engine-6BoAmGsC.js";
3
+ import "../../../pdf-engine-D_Dua_6w.js";
4
4
  import "../../../browser-awZxztMA.js";
5
5
  export {
6
6
  c as createPdfiumEngine