@embedpdf/engines 2.9.1 → 2.10.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 (50) hide show
  1. package/dist/{direct-engine-D-Jf9yyY.js → direct-engine-4LZYs06h.js} +1069 -262
  2. package/dist/direct-engine-4LZYs06h.js.map +1 -0
  3. package/dist/direct-engine-C29Euebw.cjs +2 -0
  4. package/dist/direct-engine-C29Euebw.cjs.map +1 -0
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.js +165 -143
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/orchestrator/pdf-engine.d.ts +8 -1
  10. package/dist/lib/orchestrator/remote-executor.d.ts +8 -1
  11. package/dist/lib/pdfium/cache.d.ts +5 -4
  12. package/dist/lib/pdfium/engine.d.ts +40 -6
  13. package/dist/lib/pdfium/index.cjs +1 -1
  14. package/dist/lib/pdfium/index.cjs.map +1 -1
  15. package/dist/lib/pdfium/index.js +3 -3
  16. package/dist/lib/pdfium/web/direct-engine.cjs +1 -1
  17. package/dist/lib/pdfium/web/direct-engine.js +2 -2
  18. package/dist/lib/pdfium/web/worker-engine.cjs +1 -1
  19. package/dist/lib/pdfium/web/worker-engine.cjs.map +1 -1
  20. package/dist/lib/pdfium/web/worker-engine.js +32 -2
  21. package/dist/lib/pdfium/web/worker-engine.js.map +1 -1
  22. package/dist/lib/webworker/engine.cjs +1 -1
  23. package/dist/lib/webworker/engine.cjs.map +1 -1
  24. package/dist/lib/webworker/engine.d.ts +19 -1
  25. package/dist/lib/webworker/engine.js +104 -0
  26. package/dist/lib/webworker/engine.js.map +1 -1
  27. package/dist/lib/webworker/runner.d.ts +19 -5
  28. package/dist/pdf-engine-BeHgaBOW.cjs +2 -0
  29. package/dist/pdf-engine-BeHgaBOW.cjs.map +1 -0
  30. package/dist/{pdf-engine-ZvReuoDb.js → pdf-engine-sORqXhQk.js} +74 -1
  31. package/dist/pdf-engine-sORqXhQk.js.map +1 -0
  32. package/dist/preact/index.cjs +1 -1
  33. package/dist/preact/index.cjs.map +1 -1
  34. package/dist/preact/index.js +1 -1
  35. package/dist/react/index.cjs +1 -1
  36. package/dist/react/index.cjs.map +1 -1
  37. package/dist/react/index.js +1 -1
  38. package/dist/svelte/index.cjs +1 -1
  39. package/dist/svelte/index.cjs.map +1 -1
  40. package/dist/svelte/index.js +1 -1
  41. package/dist/vue/index.cjs +1 -1
  42. package/dist/vue/index.cjs.map +1 -1
  43. package/dist/vue/index.js +1 -1
  44. package/package.json +7 -7
  45. package/dist/direct-engine-CDxs18JK.cjs +0 -2
  46. package/dist/direct-engine-CDxs18JK.cjs.map +0 -1
  47. package/dist/direct-engine-D-Jf9yyY.js.map +0 -1
  48. package/dist/pdf-engine-DeyImjZt.cjs +0 -2
  49. package/dist/pdf-engine-DeyImjZt.cjs.map +0 -1
  50. package/dist/pdf-engine-ZvReuoDb.js.map +0 -1
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 'renderPageRaw':\n task = engine.renderPageRaw!(...args);\n break;\n case 'renderPageRectRaw':\n task = engine.renderPageRectRaw!(...args);\n break;\n case 'renderPageAnnotation':\n task = engine.renderPageAnnotation!(...args);\n break;\n case 'renderPageAnnotations':\n task = engine.renderPageAnnotations!(...args);\n break;\n case 'renderPageAnnotationsRaw':\n task = engine.renderPageAnnotationsRaw!(...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 'getPageTextRuns':\n task = engine.getPageTextRuns!(...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 */\ntype PdfEngineMethodResultValue = Extract<\n {\n [P in PdfEngineMethodName]: TaskReturn<PdfEngineMethodReturnType<P>>;\n }[PdfEngineMethodName],\n { type: 'result' }\n>['value'];\n\nexport type PdfEngineMethodResponseBody =\n | { type: 'result'; value: PdfEngineMethodResultValue }\n | { type: 'error'; value: PdfEngineError };\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 type 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 * Bind task progress and completion handlers to worker responses.\n */\n private handleTask<T extends PdfEngineMethodReturnType<PdfEngineMethodName>>(\n requestId: string,\n task: T,\n ) {\n task.onProgress((progress) => {\n const response: ExecuteProgress = {\n id: requestId,\n type: 'ExecuteProgress',\n data: progress,\n };\n this.respond(response);\n });\n\n task.wait(\n (result) => {\n const response: ExecuteResponse = {\n id: requestId,\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: requestId,\n type: 'ExecuteResponse',\n data: {\n type: 'error',\n value: error,\n },\n };\n this.respond(response);\n },\n );\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 switch (name) {\n case 'isSupport':\n this.handleTask(request.id, engine.isSupport!(...args));\n return;\n case 'destroy':\n this.handleTask(request.id, engine.destroy!(...args));\n return;\n case 'openDocumentUrl':\n this.handleTask(request.id, engine.openDocumentUrl!(...args));\n return;\n case 'openDocumentBuffer':\n this.handleTask(request.id, engine.openDocumentBuffer!(...args));\n return;\n case 'getDocPermissions':\n this.handleTask(request.id, engine.getDocPermissions!(...args));\n return;\n case 'getDocUserPermissions':\n this.handleTask(request.id, engine.getDocUserPermissions!(...args));\n return;\n case 'getMetadata':\n this.handleTask(request.id, engine.getMetadata!(...args));\n return;\n case 'setMetadata':\n this.handleTask(request.id, engine.setMetadata!(...args));\n return;\n case 'getBookmarks':\n this.handleTask(request.id, engine.getBookmarks!(...args));\n return;\n case 'setBookmarks':\n this.handleTask(request.id, engine.setBookmarks!(...args));\n return;\n case 'deleteBookmarks':\n this.handleTask(request.id, engine.deleteBookmarks!(...args));\n return;\n case 'getSignatures':\n this.handleTask(request.id, engine.getSignatures!(...args));\n return;\n case 'renderPage':\n this.handleTask(request.id, engine.renderPage!(...args));\n return;\n case 'renderPageRect':\n this.handleTask(request.id, engine.renderPageRect!(...args));\n return;\n case 'renderPageRaw':\n this.handleTask(request.id, engine.renderPageRaw!(...args));\n return;\n case 'renderPageRectRaw':\n this.handleTask(request.id, engine.renderPageRectRaw!(...args));\n return;\n case 'renderPageAnnotation':\n this.handleTask(request.id, engine.renderPageAnnotation!(...args));\n return;\n case 'renderPageAnnotations':\n this.handleTask(request.id, engine.renderPageAnnotations!(...args));\n return;\n case 'renderPageAnnotationsRaw':\n this.handleTask(request.id, engine.renderPageAnnotationsRaw!(...args));\n return;\n case 'renderThumbnail':\n this.handleTask(request.id, engine.renderThumbnail!(...args));\n return;\n case 'getAllAnnotations':\n this.handleTask(request.id, engine.getAllAnnotations!(...args));\n return;\n case 'getPageAnnotations':\n this.handleTask(request.id, engine.getPageAnnotations!(...args));\n return;\n case 'getDocumentJavaScriptActions':\n this.handleTask(request.id, engine.getDocumentJavaScriptActions!(...args));\n return;\n case 'getPageAnnoWidgets':\n this.handleTask(request.id, engine.getPageAnnoWidgets!(...args));\n return;\n case 'getPageWidgetJavaScriptActions':\n this.handleTask(request.id, engine.getPageWidgetJavaScriptActions!(...args));\n return;\n case 'createPageAnnotation':\n this.handleTask(request.id, engine.createPageAnnotation!(...args));\n return;\n case 'updatePageAnnotation':\n this.handleTask(request.id, engine.updatePageAnnotation!(...args));\n return;\n case 'removePageAnnotation':\n this.handleTask(request.id, engine.removePageAnnotation!(...args));\n return;\n case 'getPageTextRects':\n this.handleTask(request.id, engine.getPageTextRects!(...args));\n return;\n case 'searchAllPages':\n this.handleTask(request.id, engine.searchAllPages!(...args));\n return;\n case 'closeDocument':\n this.handleTask(request.id, engine.closeDocument!(...args));\n return;\n case 'closeAllDocuments':\n this.handleTask(request.id, engine.closeAllDocuments!(...args));\n return;\n case 'saveAsCopy':\n this.handleTask(request.id, engine.saveAsCopy!(...args));\n return;\n case 'getAttachments':\n this.handleTask(request.id, engine.getAttachments!(...args));\n return;\n case 'addAttachment':\n this.handleTask(request.id, engine.addAttachment!(...args));\n return;\n case 'removeAttachment':\n this.handleTask(request.id, engine.removeAttachment!(...args));\n return;\n case 'readAttachmentContent':\n this.handleTask(request.id, engine.readAttachmentContent!(...args));\n return;\n case 'setFormFieldValue':\n this.handleTask(request.id, engine.setFormFieldValue!(...args));\n return;\n case 'setFormFieldState':\n this.handleTask(request.id, engine.setFormFieldState!(...args));\n return;\n case 'renameWidgetField':\n this.handleTask(request.id, engine.renameWidgetField!(...args));\n return;\n case 'shareWidgetField':\n this.handleTask(request.id, engine.shareWidgetField!(...args));\n return;\n case 'flattenPage':\n this.handleTask(request.id, engine.flattenPage!(...args));\n return;\n case 'extractPages':\n this.handleTask(request.id, engine.extractPages!(...args));\n return;\n case 'extractText':\n this.handleTask(request.id, engine.extractText!(...args));\n return;\n case 'redactTextInRects':\n this.handleTask(request.id, engine.redactTextInRects!(...args));\n return;\n case 'applyRedaction':\n this.handleTask(request.id, engine.applyRedaction!(...args));\n return;\n case 'applyAllRedactions':\n this.handleTask(request.id, engine.applyAllRedactions!(...args));\n return;\n case 'flattenAnnotation':\n this.handleTask(request.id, engine.flattenAnnotation!(...args));\n return;\n case 'getTextSlices':\n this.handleTask(request.id, engine.getTextSlices!(...args));\n return;\n case 'getPageGlyphs':\n this.handleTask(request.id, engine.getPageGlyphs!(...args));\n return;\n case 'getPageGeometry':\n this.handleTask(request.id, engine.getPageGeometry!(...args));\n return;\n case 'getPageTextRuns':\n this.handleTask(request.id, engine.getPageTextRuns!(...args));\n return;\n case 'merge':\n this.handleTask(request.id, engine.merge!(...args));\n return;\n case 'mergePages':\n this.handleTask(request.id, engine.mergePages!(...args));\n return;\n case 'preparePrintDocument':\n this.handleTask(request.id, engine.preparePrintDocument!(...args));\n return;\n case 'setDocumentEncryption':\n this.handleTask(request.id, engine.setDocumentEncryption(...args));\n return;\n case 'removeEncryption':\n this.handleTask(request.id, engine.removeEncryption(...args));\n return;\n case 'unlockOwnerPermissions':\n this.handleTask(request.id, engine.unlockOwnerPermissions(...args));\n return;\n case 'isEncrypted':\n this.handleTask(request.id, engine.isEncrypted(...args));\n return;\n case 'isOwnerUnlocked':\n this.handleTask(request.id, engine.isOwnerUnlocked(...args));\n return;\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\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,4 +1,4 @@
1
- import { Logger, PdfEngine as IPdfEngine, PdfDocumentObject, PdfPageObject, PdfTask, PdfErrorReason, PdfFileUrl, PdfFile, PdfOpenDocumentUrlOptions, PdfOpenDocumentBufferOptions, PdfMetadataObject, PdfBookmarksObject, PdfBookmarkObject, PdfRenderPageOptions, PdfRenderThumbnailOptions, PdfRenderPageAnnotationOptions, PdfAnnotationObject, PdfTextRectObject, PdfSearchAllPagesOptions, SearchAllPagesResult, PdfPageSearchProgress, PdfAnnotationsProgress, PdfAttachmentObject, PdfAddAttachmentParams, PdfWidgetAnnoObject, FormFieldValue, PdfFlattenPageOptions, PdfPageFlattenResult, PdfRedactTextOptions, Rect, PageTextSlice, PdfGlyphObject, PdfPageGeometry, PdfPageTextRuns, PdfPrintOptions, PdfEngineFeature, PdfEngineOperation, PdfSignatureObject, AnnotationCreateContext, CompoundTask, ImageDataLike, IPdfiumExecutor, AnnotationAppearanceMap } from '@embedpdf/models';
1
+ import { Logger, PdfEngine as IPdfEngine, PdfDocumentObject, PdfPageObject, PdfTask, PdfErrorReason, PdfFileUrl, PdfFile, PdfOpenDocumentUrlOptions, PdfOpenDocumentBufferOptions, PdfMetadataObject, PdfBookmarksObject, PdfBookmarkObject, PdfRenderPageOptions, PdfRenderThumbnailOptions, PdfRenderPageAnnotationOptions, PdfAnnotationObject, PdfTextRectObject, PdfSearchAllPagesOptions, SearchAllPagesResult, PdfPageSearchProgress, PdfAnnotationsProgress, PdfAttachmentObject, PdfAddAttachmentParams, PdfDocumentJavaScriptActionObject, PdfWidgetAnnoObject, PdfWidgetAnnoField, PdfWidgetJavaScriptActionObject, FormFieldValue, PdfFlattenPageOptions, PdfPageFlattenResult, PdfRedactTextOptions, Rect, PageTextSlice, PdfGlyphObject, PdfPageGeometry, PdfPageTextRuns, PdfPrintOptions, PdfEngineFeature, PdfEngineOperation, PdfSignatureObject, AnnotationCreateContext, CompoundTask, ImageDataLike, IPdfiumExecutor, AnnotationAppearanceMap } from '@embedpdf/models';
2
2
  import { ImageDataConverter } from '../converters/types';
3
3
  export type { ImageDataConverter } from '../converters/types';
4
4
  export type { ImageDataLike, IPdfiumExecutor, BatchProgress } from '@embedpdf/models';
@@ -89,7 +89,14 @@ export declare class PdfEngine<T = Blob> implements IPdfEngine<T> {
89
89
  addAttachment(doc: PdfDocumentObject, params: PdfAddAttachmentParams): PdfTask<boolean>;
90
90
  removeAttachment(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<boolean>;
91
91
  readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<ArrayBuffer>;
92
+ getDocumentJavaScriptActions(doc: PdfDocumentObject): PdfTask<PdfDocumentJavaScriptActionObject[]>;
93
+ getPageAnnoWidgets(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetAnnoObject[]>;
94
+ getPageWidgetJavaScriptActions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetJavaScriptActionObject[]>;
92
95
  setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): PdfTask<boolean>;
96
+ setFormFieldState(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, field: PdfWidgetAnnoField): PdfTask<boolean>;
97
+ renameWidgetField(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, name: string): PdfTask<boolean>;
98
+ shareWidgetField(doc: PdfDocumentObject, sourcePage: PdfPageObject, sourceAnnotation: PdfWidgetAnnoObject, targetPage: PdfPageObject, targetAnnotation: PdfWidgetAnnoObject): PdfTask<boolean>;
99
+ regenerateWidgetAppearances(doc: PdfDocumentObject, page: PdfPageObject, annotationIds: string[]): PdfTask<boolean>;
93
100
  flattenPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfFlattenPageOptions): PdfTask<PdfPageFlattenResult>;
94
101
  extractPages(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<ArrayBuffer>;
95
102
  extractText(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<string>;
@@ -1,4 +1,4 @@
1
- import { BatchProgress, Logger, PdfDocumentObject, PdfPageObject, PdfTask, PdfFile, PdfOpenDocumentBufferOptions, PdfMetadataObject, PdfBookmarksObject, PdfBookmarkObject, PdfRenderPageOptions, PdfRenderThumbnailOptions, PdfRenderPageAnnotationOptions, PdfAnnotationObject, PdfTextRectObject, PdfAttachmentObject, PdfAddAttachmentParams, PdfWidgetAnnoObject, FormFieldValue, PdfFlattenPageOptions, PdfPageFlattenResult, PdfRedactTextOptions, Rect, PageTextSlice, PdfGlyphObject, PdfPageGeometry, PdfPageTextRuns, PdfPrintOptions, PdfSignatureObject, AnnotationCreateContext, SearchResult, IPdfiumExecutor, ImageDataLike, AnnotationAppearanceMap } from '@embedpdf/models';
1
+ import { BatchProgress, Logger, PdfDocumentObject, PdfPageObject, PdfTask, PdfFile, PdfOpenDocumentBufferOptions, PdfMetadataObject, PdfBookmarksObject, PdfBookmarkObject, PdfRenderPageOptions, PdfRenderThumbnailOptions, PdfRenderPageAnnotationOptions, PdfAnnotationObject, PdfTextRectObject, PdfAttachmentObject, PdfAddAttachmentParams, PdfWidgetAnnoObject, PdfWidgetAnnoField, PdfDocumentJavaScriptActionObject, PdfWidgetJavaScriptActionObject, FormFieldValue, PdfFlattenPageOptions, PdfPageFlattenResult, PdfRedactTextOptions, Rect, PageTextSlice, PdfGlyphObject, PdfPageGeometry, PdfPageTextRuns, PdfPrintOptions, PdfSignatureObject, AnnotationCreateContext, SearchResult, IPdfiumExecutor, ImageDataLike, AnnotationAppearanceMap } from '@embedpdf/models';
2
2
  import { FontFallbackConfig } from '../pdfium/font-fallback';
3
3
  /**
4
4
  * Options for creating a RemoteExecutor
@@ -81,7 +81,14 @@ export declare class RemoteExecutor implements IPdfiumExecutor {
81
81
  addAttachment(doc: PdfDocumentObject, params: PdfAddAttachmentParams): PdfTask<boolean>;
82
82
  removeAttachment(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<boolean>;
83
83
  readAttachmentContent(doc: PdfDocumentObject, attachment: PdfAttachmentObject): PdfTask<ArrayBuffer>;
84
+ getDocumentJavaScriptActions(doc: PdfDocumentObject): PdfTask<PdfDocumentJavaScriptActionObject[]>;
85
+ getPageAnnoWidgets(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetAnnoObject[]>;
86
+ getPageWidgetJavaScriptActions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetJavaScriptActionObject[]>;
84
87
  setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): PdfTask<boolean>;
88
+ setFormFieldState(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, field: PdfWidgetAnnoField): PdfTask<boolean>;
89
+ renameWidgetField(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, name: string): PdfTask<boolean>;
90
+ shareWidgetField(doc: PdfDocumentObject, sourcePage: PdfPageObject, sourceAnnotation: PdfWidgetAnnoObject, targetPage: PdfPageObject, targetAnnotation: PdfWidgetAnnoObject): PdfTask<boolean>;
91
+ regenerateWidgetAppearances(doc: PdfDocumentObject, page: PdfPageObject, annotationIds: string[]): PdfTask<boolean>;
85
92
  flattenPage(doc: PdfDocumentObject, page: PdfPageObject, options?: PdfFlattenPageOptions): PdfTask<PdfPageFlattenResult>;
86
93
  extractPages(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<ArrayBuffer>;
87
94
  extractText(doc: PdfDocumentObject, pageIndexes: number[]): PdfTask<string>;
@@ -90,8 +90,6 @@ export declare class PageContext {
90
90
  private disposed;
91
91
  private ttl;
92
92
  private textPagePtr?;
93
- private formInfoPtr?;
94
- private formHandle?;
95
93
  constructor(pdf: WrappedPdfiumModule, docPtr: number, pageIdx: number, pagePtr: number, ttl: number, onFinalDispose: () => void);
96
94
  /** Called by PageCache.acquire() */
97
95
  bumpRefCount(): void;
@@ -107,12 +105,15 @@ export declare class PageContext {
107
105
  disposeImmediate(): void;
108
106
  /** Always safe: opens (once) and returns the text-page ptr. */
109
107
  getTextPage(): number;
110
- /** Always safe: opens (once) and returns the form-fill handle. */
111
- getFormHandle(): number;
112
108
  /**
113
109
  * Safely execute `fn` with an annotation pointer.
114
110
  * Pointer is ALWAYS closed afterwards.
115
111
  */
116
112
  withAnnotation<T>(annotIdx: number, fn: (annotPtr: number) => T): T;
113
+ /**
114
+ * Safely execute `fn` with a fresh form-fill handle.
115
+ * Handle is ALWAYS torn down afterwards — no caching, no stale state.
116
+ */
117
+ withFormHandle<T>(fn: (formHandle: number) => T): T;
117
118
  private ensureAlive;
118
119
  }
@@ -1,4 +1,4 @@
1
- import { BatchProgress, ImageDataLike, IPdfiumExecutor, PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchResult, PdfBookmarkObject, PdfDocumentObject, PdfPageObject, Rect, PdfAttachmentObject, PdfSignatureObject, PdfStampAnnoObject, PdfCircleAnnoObject, PdfSquareAnnoObject, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, PdfHighlightAnnoObject, FormFieldValue, PdfPageFlattenResult, PdfTask, PdfOpenDocumentBufferOptions, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PageTextSlice, AnnotationCreateContext, PdfRenderPageAnnotationOptions, PdfRedactTextOptions, PdfFlattenPageOptions, PdfRenderThumbnailOptions, PdfRenderPageOptions, PdfMetadataObject, PdfPrintOptions, PdfAddAttachmentParams, AnnotationAppearanceMap, PdfPageTextRuns } from '@embedpdf/models';
1
+ import { BatchProgress, ImageDataLike, IPdfiumExecutor, PdfAnnotationObject, PdfTextRectObject, PdfWidgetAnnoObject, Logger, SearchResult, PdfBookmarkObject, PdfDocumentObject, PdfPageObject, Rect, PdfAttachmentObject, PdfSignatureObject, PdfStampAnnoObject, PdfCircleAnnoObject, PdfSquareAnnoObject, PdfSquigglyAnnoObject, PdfStrikeOutAnnoObject, PdfUnderlineAnnoObject, PdfFile, PdfHighlightAnnoObject, PdfWidgetAnnoField, FormFieldValue, PdfPageFlattenResult, PdfTask, PdfOpenDocumentBufferOptions, Task, PdfErrorReason, PdfGlyphObject, PdfPageGeometry, PdfDocumentJavaScriptActionObject, PdfWidgetJavaScriptActionObject, PageTextSlice, AnnotationCreateContext, PdfRenderPageAnnotationOptions, PdfRedactTextOptions, PdfFlattenPageOptions, PdfRenderThumbnailOptions, PdfRenderPageOptions, PdfMetadataObject, PdfPrintOptions, PdfAddAttachmentParams, AnnotationAppearanceMap, PdfPageTextRuns } from '@embedpdf/models';
2
2
  import { WrappedPdfiumModule } from '@embedpdf/pdfium';
3
3
  import { FontFallbackManager, FontFallbackConfig } from './font-fallback';
4
4
  /**
@@ -162,6 +162,10 @@ export declare class PdfiumNative implements IPdfiumExecutor {
162
162
  * @public
163
163
  */
164
164
  renderPageRect(doc: PdfDocumentObject, page: PdfPageObject, rect: Rect, options?: PdfRenderPageOptions): PdfTask<ImageDataLike>;
165
+ getDocumentJavaScriptActions(doc: PdfDocumentObject): PdfTask<PdfDocumentJavaScriptActionObject[], PdfErrorReason>;
166
+ getPageAnnoWidgets(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetAnnoObject[], PdfErrorReason>;
167
+ getPageWidgetJavaScriptActions(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfWidgetJavaScriptActionObject[], PdfErrorReason>;
168
+ regenerateWidgetAppearances(doc: PdfDocumentObject, page: PdfPageObject, annotationIds: string[]): PdfTask<boolean>;
165
169
  /**
166
170
  * {@inheritDoc @embedpdf/models!PdfEngine.getPageAnnotations}
167
171
  *
@@ -234,6 +238,14 @@ export declare class PdfiumNative implements IPdfiumExecutor {
234
238
  * @public
235
239
  */
236
240
  setFormFieldValue(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, value: FormFieldValue): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
241
+ /**
242
+ * {@inheritDoc @embedpdf/models!PdfEngine.setFormFieldState}
243
+ *
244
+ * @public
245
+ */
246
+ setFormFieldState(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, field: PdfWidgetAnnoField): Task<any, PdfErrorReason, unknown> | Task<boolean, PdfErrorReason, unknown>;
247
+ renameWidgetField(doc: PdfDocumentObject, page: PdfPageObject, annotation: PdfWidgetAnnoObject, name: string): PdfTask<boolean>;
248
+ shareWidgetField(doc: PdfDocumentObject, sourcePage: PdfPageObject, sourceAnnotation: PdfWidgetAnnoObject, targetPage: PdfPageObject, targetAnnotation: PdfWidgetAnnoObject): PdfTask<boolean>;
237
249
  /**
238
250
  * {@inheritDoc @embedpdf/models!PdfEngine.flattenPage}
239
251
  *
@@ -378,6 +390,12 @@ export declare class PdfiumNative implements IPdfiumExecutor {
378
390
  * @private
379
391
  */
380
392
  private addFreeTextContent;
393
+ private addTextFieldContent;
394
+ private addToggleFieldContent;
395
+ private addChoiceFieldContent;
396
+ private setMKColor;
397
+ private clearMKColor;
398
+ private getMKColor;
381
399
  /**
382
400
  * Set the rect of specified annotation
383
401
  * @param page - page info that the annotation is belonged to
@@ -659,6 +677,17 @@ export declare class PdfiumNative implements IPdfiumExecutor {
659
677
  */
660
678
  private readPageAnnotations;
661
679
  /**
680
+ *
681
+ *
682
+ * @param ctx - document context
683
+ * @param page - page info
684
+ * @returns form fields on the pdf page
685
+ *
686
+ * @private
687
+ */
688
+ private readPageAnnoWidgets;
689
+ /**
690
+ * Read page annotations
662
691
  * Read page annotations without loading the page (raw approach)
663
692
  *
664
693
  * @param doc - pdf document object
@@ -670,14 +699,17 @@ export declare class PdfiumNative implements IPdfiumExecutor {
670
699
  */
671
700
  private readPageAnnotationsRaw;
672
701
  /**
673
- * Get page annotations (public API, returns Task)
702
+ * Read page form field
674
703
  *
675
- * @param doc - pdf document
704
+ * @param ctx - document context
676
705
  * @param page - page info
677
- * @returns task with annotations on the pdf page
706
+ * @param annotationPtr - pointer to pdf annotation
707
+ * @param pageCtx - page context
708
+ * @returns form field
678
709
  *
679
- * @public
710
+ * @private
680
711
  */
712
+ private readPageAnnoWidget;
681
713
  getPageAnnotationsRaw(doc: PdfDocumentObject, page: PdfPageObject): PdfTask<PdfAnnotationObject[]>;
682
714
  /**
683
715
  * Read pdf annotation from pdf document
@@ -686,7 +718,7 @@ export declare class PdfiumNative implements IPdfiumExecutor {
686
718
  * @param docPtr - pointer to pdf document
687
719
  * @param page - page info
688
720
  * @param annotationPtr - pointer to pdf annotation
689
- * @param pageCtx - page context
721
+ * @param formHandle - optional form fill handle for widget annotations
690
722
  * @returns pdf annotation
691
723
  *
692
724
  * @private
@@ -1491,6 +1523,7 @@ export declare class PdfiumNative implements IPdfiumExecutor {
1491
1523
  * @private
1492
1524
  */
1493
1525
  private getAnnotString;
1526
+ private readButtonExportValue;
1494
1527
  /**
1495
1528
  * Get a string value (`/T`, `/M`, `/State`, …) from an attachment.
1496
1529
  *
@@ -1620,6 +1653,7 @@ export declare class PdfiumNative implements IPdfiumExecutor {
1620
1653
  * @private
1621
1654
  */
1622
1655
  private readPdfWidgetAnnoField;
1656
+ private readWidgetOptions;
1623
1657
  /**
1624
1658
  * {@inheritDoc @embedpdf/models!PdfEngine.renderAnnotation}
1625
1659
  *
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../direct-engine-CDxs18JK.cjs"),t=require("../../browser-13mzox-R.cjs"),r=require("../../pdf-engine-DeyImjZt.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.9.1/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-C29Euebw.cjs"),t=require("../../browser-13mzox-R.cjs"),r=require("../../pdf-engine-BeHgaBOW.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.10.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 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/lib/pdfium/cdn-fonts.ts","../../../src/lib/pdfium/index.ts"],"sourcesContent":["/**\n * CDN Font Configuration for Browser Environments\n *\n * This file is intentionally separate from font-fallback.ts so that\n * Node.js users don't have to bundle the CDN URLs and font definitions.\n *\n * Only import this in browser-specific code (like the worker).\n */\n\nimport { FontCharset, type FontFile } from '@embedpdf/models';\nimport type { FontFallbackConfig, FontVariant } from './font-fallback';\n\n// Import font definitions from font packages (single source of truth)\nimport { fonts as jpFonts } from '@embedpdf/fonts-jp';\nimport { fonts as krFonts } from '@embedpdf/fonts-kr';\nimport { fonts as scFonts } from '@embedpdf/fonts-sc';\nimport { fonts as tcFonts } from '@embedpdf/fonts-tc';\nimport { fonts as arabicFonts } from '@embedpdf/fonts-arabic';\nimport { fonts as hebrewFonts } from '@embedpdf/fonts-hebrew';\nimport { fonts as latinFonts } from '@embedpdf/fonts-latin';\n\n// ============================================================================\n// CDN URL Builders\n// ============================================================================\n\n/**\n * Build CDN URLs from package version\n */\nfunction buildCdnUrls(version: string = 'latest') {\n return {\n jp: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-jp@${version}/fonts`,\n kr: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-kr@${version}/fonts`,\n sc: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-sc@${version}/fonts`,\n tc: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-tc@${version}/fonts`,\n arabic: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-arabic@${version}/fonts`,\n hebrew: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-hebrew@${version}/fonts`,\n latin: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-latin@${version}/fonts`,\n };\n}\n\n/**\n * Convert font files to FontVariant array with base URL\n */\nfunction toFontVariants(fonts: FontFile[], baseUrl: string): FontVariant[] {\n return fonts.map((f) => ({\n url: `${baseUrl}/${f.file}`,\n weight: f.weight,\n italic: f.italic,\n }));\n}\n\n/**\n * Build a complete font config from CDN URLs\n */\nfunction buildCdnFontConfig(urls: ReturnType<typeof buildCdnUrls>): FontFallbackConfig {\n return {\n fonts: {\n [FontCharset.SHIFTJIS]: toFontVariants(jpFonts, urls.jp),\n [FontCharset.HANGEUL]: toFontVariants(krFonts, urls.kr),\n [FontCharset.GB2312]: toFontVariants(scFonts, urls.sc),\n [FontCharset.CHINESEBIG5]: toFontVariants(tcFonts, urls.tc),\n [FontCharset.ARABIC]: toFontVariants(arabicFonts, urls.arabic),\n [FontCharset.HEBREW]: toFontVariants(hebrewFonts, urls.hebrew),\n [FontCharset.CYRILLIC]: toFontVariants(latinFonts, urls.latin),\n [FontCharset.GREEK]: toFontVariants(latinFonts, urls.latin),\n [FontCharset.VIETNAMESE]: toFontVariants(latinFonts, urls.latin),\n },\n };\n}\n\n// ============================================================================\n// Public Exports\n// ============================================================================\n\n/**\n * CDN base URLs for EmbedPDF font packages hosted on jsDelivr (using @latest)\n */\nexport const FONT_CDN_URLS = buildCdnUrls('latest');\n\n/**\n * Default CDN font configuration using @embedpdf/fonts-* packages from jsDelivr\n *\n * This is the default configuration for browser-based worker engines.\n * Fonts are loaded on-demand from jsDelivr when PDFium needs them.\n *\n * Uses @latest to always get the newest version of font packages.\n *\n * Included packages:\n * - @embedpdf/fonts-jp: Japanese (7 weights: Thin to Black)\n * - @embedpdf/fonts-kr: Korean (7 weights: Thin to Black)\n * - @embedpdf/fonts-sc: Simplified Chinese (5 weights: Light to Bold)\n * - @embedpdf/fonts-tc: Traditional Chinese (7 weights: Thin to Black)\n * - @embedpdf/fonts-arabic: Arabic (Regular, Bold)\n * - @embedpdf/fonts-hebrew: Hebrew (Regular, Bold)\n * - @embedpdf/fonts-latin: Latin/Cyrillic/Greek/Vietnamese (9 weights with italics)\n */\nexport const cdnFontConfig: FontFallbackConfig = buildCdnFontConfig(FONT_CDN_URLS);\n\n/**\n * Create a CDN font config with a specific version\n *\n * Use this if you need to pin to a specific version for stability.\n *\n * @param version - Version string (e.g., '1.0.0', '1', 'latest')\n * @returns FontFallbackConfig with versioned CDN URLs\n *\n * @example\n * ```typescript\n * // Pin to specific version\n * const fontConfig = createCdnFontConfig('1.0.0');\n *\n * // Use major version (recommended for stability)\n * const fontConfig = createCdnFontConfig('1');\n * ```\n */\nexport function createCdnFontConfig(version: string = 'latest'): FontFallbackConfig {\n return buildCdnFontConfig(buildCdnUrls(version));\n}\n\n// Re-export types for convenience\nexport type { FontFallbackConfig };\n","export * from './engine';\nexport * from './helper';\nexport * from '../converters/types';\nexport * from '../converters/browser';\nexport * from '../orchestrator/pdf-engine';\nexport * from './font-fallback';\nexport * from './cdn-fonts';\n\n// Export web factory functions (avoid ambiguous exports)\nexport { createPdfiumEngine as createPdfiumDirectEngine } from './web/direct-engine';\nexport { createPdfiumEngine as createPdfiumWorkerEngine } from './web/worker-engine';\nexport type { CreatePdfiumEngineOptions } from './web/direct-engine';\n\nexport const DEFAULT_PDFIUM_WASM_URL: string =\n 'https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm';\n"],"names":["buildCdnUrls","version","jp","kr","sc","tc","arabic","hebrew","latin","toFontVariants","fonts","baseUrl","map","f","url","file","weight","italic","buildCdnFontConfig","urls","FontCharset","SHIFTJIS","jpFonts","HANGEUL","krFonts","GB2312","scFonts","CHINESEBIG5","tcFonts","ARABIC","arabicFonts","HEBREW","hebrewFonts","CYRILLIC","latinFonts","GREEK","VIETNAMESE","FONT_CDN_URLS","cdnFontConfig"],"mappings":"qgBA4BA,SAASA,EAAaC,EAAkB,UACtC,MAAO,CACLC,GAAI,mDAAmDD,UACvDE,GAAI,mDAAmDF,UACvDG,GAAI,mDAAmDH,UACvDI,GAAI,mDAAmDJ,UACvDK,OAAQ,uDAAuDL,UAC/DM,OAAQ,uDAAuDN,UAC/DO,MAAO,sDAAsDP,UAEjE,CAKA,SAASQ,EAAeC,EAAmBC,GACzC,OAAOD,EAAME,IAAKC,IAAA,CAChBC,IAAK,GAAGH,KAAWE,EAAEE,OACrBC,OAAQH,EAAEG,OACVC,OAAQJ,EAAEI,SAEd,CAKA,SAASC,EAAmBC,GAC1B,MAAO,CACLT,MAAO,CACL,CAACU,EAAAA,YAAYC,UAAWZ,EAAea,EAAAA,MAASH,EAAKjB,IACrD,CAACkB,EAAAA,YAAYG,SAAUd,EAAee,EAAAA,MAASL,EAAKhB,IACpD,CAACiB,EAAAA,YAAYK,QAAShB,EAAeiB,EAAAA,MAASP,EAAKf,IACnD,CAACgB,EAAAA,YAAYO,aAAclB,EAAemB,EAAAA,MAAST,EAAKd,IACxD,CAACe,EAAAA,YAAYS,QAASpB,EAAeqB,EAAAA,MAAaX,EAAKb,QACvD,CAACc,EAAAA,YAAYW,QAAStB,EAAeuB,EAAAA,MAAab,EAAKZ,QACvD,CAACa,EAAAA,YAAYa,UAAWxB,EAAeyB,EAAAA,MAAYf,EAAKX,OACxD,CAACY,EAAAA,YAAYe,OAAQ1B,EAAeyB,EAAAA,MAAYf,EAAKX,OACrD,CAACY,EAAAA,YAAYgB,YAAa3B,EAAeyB,EAAAA,MAAYf,EAAKX,QAGhE,CASO,MAAM6B,EAAgBrC,EAAa,UAmB7BsC,EAAoCpB,EAAmBmB,w6BClFlE,mJDqGK,SAA6BpC,EAAkB,UACpD,OAAOiB,EAAmBlB,EAAaC,GACzC"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/lib/pdfium/cdn-fonts.ts","../../../src/lib/pdfium/index.ts"],"sourcesContent":["/**\n * CDN Font Configuration for Browser Environments\n *\n * This file is intentionally separate from font-fallback.ts so that\n * Node.js users don't have to bundle the CDN URLs and font definitions.\n *\n * Only import this in browser-specific code (like the worker).\n */\n\nimport { FontCharset, type FontFile } from '@embedpdf/models';\nimport type { FontFallbackConfig, FontVariant } from './font-fallback';\n\n// Import font definitions from font packages (single source of truth)\nimport { fonts as jpFonts } from '@embedpdf/fonts-jp';\nimport { fonts as krFonts } from '@embedpdf/fonts-kr';\nimport { fonts as scFonts } from '@embedpdf/fonts-sc';\nimport { fonts as tcFonts } from '@embedpdf/fonts-tc';\nimport { fonts as arabicFonts } from '@embedpdf/fonts-arabic';\nimport { fonts as hebrewFonts } from '@embedpdf/fonts-hebrew';\nimport { fonts as latinFonts } from '@embedpdf/fonts-latin';\n\n// ============================================================================\n// CDN URL Builders\n// ============================================================================\n\n/**\n * Build CDN URLs from package version\n */\nfunction buildCdnUrls(version: string = 'latest') {\n return {\n jp: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-jp@${version}/fonts`,\n kr: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-kr@${version}/fonts`,\n sc: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-sc@${version}/fonts`,\n tc: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-tc@${version}/fonts`,\n arabic: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-arabic@${version}/fonts`,\n hebrew: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-hebrew@${version}/fonts`,\n latin: `https://cdn.jsdelivr.net/npm/@embedpdf/fonts-latin@${version}/fonts`,\n };\n}\n\n/**\n * Convert font files to FontVariant array with base URL\n */\nfunction toFontVariants(fonts: FontFile[], baseUrl: string): FontVariant[] {\n return fonts.map((f) => ({\n url: `${baseUrl}/${f.file}`,\n weight: f.weight,\n italic: f.italic,\n }));\n}\n\n/**\n * Build a complete font config from CDN URLs\n */\nfunction buildCdnFontConfig(urls: ReturnType<typeof buildCdnUrls>): FontFallbackConfig {\n return {\n fonts: {\n [FontCharset.SHIFTJIS]: toFontVariants(jpFonts, urls.jp),\n [FontCharset.HANGEUL]: toFontVariants(krFonts, urls.kr),\n [FontCharset.GB2312]: toFontVariants(scFonts, urls.sc),\n [FontCharset.CHINESEBIG5]: toFontVariants(tcFonts, urls.tc),\n [FontCharset.ARABIC]: toFontVariants(arabicFonts, urls.arabic),\n [FontCharset.HEBREW]: toFontVariants(hebrewFonts, urls.hebrew),\n [FontCharset.CYRILLIC]: toFontVariants(latinFonts, urls.latin),\n [FontCharset.GREEK]: toFontVariants(latinFonts, urls.latin),\n [FontCharset.VIETNAMESE]: toFontVariants(latinFonts, urls.latin),\n },\n };\n}\n\n// ============================================================================\n// Public Exports\n// ============================================================================\n\n/**\n * CDN base URLs for EmbedPDF font packages hosted on jsDelivr (using @latest)\n */\nexport const FONT_CDN_URLS = buildCdnUrls('latest');\n\n/**\n * Default CDN font configuration using @embedpdf/fonts-* packages from jsDelivr\n *\n * This is the default configuration for browser-based worker engines.\n * Fonts are loaded on-demand from jsDelivr when PDFium needs them.\n *\n * Uses @latest to always get the newest version of font packages.\n *\n * Included packages:\n * - @embedpdf/fonts-jp: Japanese (7 weights: Thin to Black)\n * - @embedpdf/fonts-kr: Korean (7 weights: Thin to Black)\n * - @embedpdf/fonts-sc: Simplified Chinese (5 weights: Light to Bold)\n * - @embedpdf/fonts-tc: Traditional Chinese (7 weights: Thin to Black)\n * - @embedpdf/fonts-arabic: Arabic (Regular, Bold)\n * - @embedpdf/fonts-hebrew: Hebrew (Regular, Bold)\n * - @embedpdf/fonts-latin: Latin/Cyrillic/Greek/Vietnamese (9 weights with italics)\n */\nexport const cdnFontConfig: FontFallbackConfig = buildCdnFontConfig(FONT_CDN_URLS);\n\n/**\n * Create a CDN font config with a specific version\n *\n * Use this if you need to pin to a specific version for stability.\n *\n * @param version - Version string (e.g., '1.0.0', '1', 'latest')\n * @returns FontFallbackConfig with versioned CDN URLs\n *\n * @example\n * ```typescript\n * // Pin to specific version\n * const fontConfig = createCdnFontConfig('1.0.0');\n *\n * // Use major version (recommended for stability)\n * const fontConfig = createCdnFontConfig('1');\n * ```\n */\nexport function createCdnFontConfig(version: string = 'latest'): FontFallbackConfig {\n return buildCdnFontConfig(buildCdnUrls(version));\n}\n\n// Re-export types for convenience\nexport type { FontFallbackConfig };\n","export * from './engine';\nexport * from './helper';\nexport * from '../converters/types';\nexport * from '../converters/browser';\nexport * from '../orchestrator/pdf-engine';\nexport * from './font-fallback';\nexport * from './cdn-fonts';\n\n// Export web factory functions (avoid ambiguous exports)\nexport { createPdfiumEngine as createPdfiumDirectEngine } from './web/direct-engine';\nexport { createPdfiumEngine as createPdfiumWorkerEngine } from './web/worker-engine';\nexport type { CreatePdfiumEngineOptions } from './web/direct-engine';\n\nexport const DEFAULT_PDFIUM_WASM_URL: string =\n 'https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@__PDFIUM_VERSION__/dist/pdfium.wasm';\n"],"names":["buildCdnUrls","version","jp","kr","sc","tc","arabic","hebrew","latin","toFontVariants","fonts","baseUrl","map","f","url","file","weight","italic","buildCdnFontConfig","urls","FontCharset","SHIFTJIS","jpFonts","HANGEUL","krFonts","GB2312","scFonts","CHINESEBIG5","tcFonts","ARABIC","arabicFonts","HEBREW","hebrewFonts","CYRILLIC","latinFonts","GREEK","VIETNAMESE","FONT_CDN_URLS","cdnFontConfig"],"mappings":"qgBA4BA,SAASA,EAAaC,EAAkB,UACtC,MAAO,CACLC,GAAI,mDAAmDD,UACvDE,GAAI,mDAAmDF,UACvDG,GAAI,mDAAmDH,UACvDI,GAAI,mDAAmDJ,UACvDK,OAAQ,uDAAuDL,UAC/DM,OAAQ,uDAAuDN,UAC/DO,MAAO,sDAAsDP,UAEjE,CAKA,SAASQ,EAAeC,EAAmBC,GACzC,OAAOD,EAAME,IAAKC,IAAA,CAChBC,IAAK,GAAGH,KAAWE,EAAEE,OACrBC,OAAQH,EAAEG,OACVC,OAAQJ,EAAEI,SAEd,CAKA,SAASC,EAAmBC,GAC1B,MAAO,CACLT,MAAO,CACL,CAACU,EAAAA,YAAYC,UAAWZ,EAAea,EAAAA,MAASH,EAAKjB,IACrD,CAACkB,EAAAA,YAAYG,SAAUd,EAAee,EAAAA,MAASL,EAAKhB,IACpD,CAACiB,EAAAA,YAAYK,QAAShB,EAAeiB,EAAAA,MAASP,EAAKf,IACnD,CAACgB,EAAAA,YAAYO,aAAclB,EAAemB,EAAAA,MAAST,EAAKd,IACxD,CAACe,EAAAA,YAAYS,QAASpB,EAAeqB,EAAAA,MAAaX,EAAKb,QACvD,CAACc,EAAAA,YAAYW,QAAStB,EAAeuB,EAAAA,MAAab,EAAKZ,QACvD,CAACa,EAAAA,YAAYa,UAAWxB,EAAeyB,EAAAA,MAAYf,EAAKX,OACxD,CAACY,EAAAA,YAAYe,OAAQ1B,EAAeyB,EAAAA,MAAYf,EAAKX,OACrD,CAACY,EAAAA,YAAYgB,YAAa3B,EAAeyB,EAAAA,MAAYf,EAAKX,QAGhE,CASO,MAAM6B,EAAgBrC,EAAa,UAmB7BsC,EAAoCpB,EAAmBmB,w6BClFlE,oJDqGK,SAA6BpC,EAAkB,UACpD,OAAOiB,EAAmBlB,EAAaC,GACzC"}
@@ -1,6 +1,6 @@
1
- import { B, F, P, a, R, c, b, d, i, r, e } from "../../direct-engine-D-Jf9yyY.js";
1
+ import { B, F, P, a, R, c, b, d, i, r, e } from "../../direct-engine-4LZYs06h.js";
2
2
  import { I, b as b2, c as c2, a as a2 } from "../../browser-BISJ9naB.js";
3
- import { P as P2 } from "../../pdf-engine-ZvReuoDb.js";
3
+ import { P as P2 } from "../../pdf-engine-sORqXhQk.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.9.1/dist/pdfium.wasm";
52
+ const DEFAULT_PDFIUM_WASM_URL = "https://cdn.jsdelivr.net/npm/@embedpdf/pdfium@2.10.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-CDxs18JK.cjs");require("../../../pdf-engine-DeyImjZt.cjs"),require("../../../browser-13mzox-R.cjs"),exports.createPdfiumEngine=e.createPdfiumEngine;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("@embedpdf/pdfium");const e=require("../../../direct-engine-C29Euebw.cjs");require("../../../pdf-engine-BeHgaBOW.cjs"),require("../../../browser-13mzox-R.cjs"),exports.createPdfiumEngine=e.createPdfiumEngine;
2
2
  //# sourceMappingURL=direct-engine.cjs.map
@@ -1,6 +1,6 @@
1
1
  import "@embedpdf/pdfium";
2
- import { d } from "../../../direct-engine-D-Jf9yyY.js";
3
- import "../../../pdf-engine-ZvReuoDb.js";
2
+ import { d } from "../../../direct-engine-4LZYs06h.js";
3
+ import "../../../pdf-engine-sORqXhQk.js";
4
4
  import "../../../browser-BISJ9naB.js";
5
5
  export {
6
6
  d as createPdfiumEngine