Skip to content

WorkerProxy

@scaryterry/pdfium


Defined in: src/context/worker-proxy.ts:138

Worker proxy for off-main-thread PDF processing.

Provides the same API as the main-thread implementation but executes all operations in a Web Worker.

await using proxy = await WorkerProxy.create(workerUrl, wasmBinary);
const doc = await proxy.openDocument(pdfArrayBuffer);

get disposed(): boolean

Defined in: src/core/disposable.ts:73

Whether this resource has been disposed.

boolean

AsyncDisposable.disposed

[asyncDispose](): Promise<void>

Defined in: src/core/disposable.ts:195

Asynchronously dispose of this resource.

Promise<void>

AsyncDisposable.[asyncDispose]


closeDocument(documentId): Promise<void>

Defined in: src/context/worker-proxy.ts:252

Close a document.

ParameterTypeDescription
documentIdstringDocument ID returned from openDocument

Promise<void>

If the document cannot be closed


closePage(pageId): Promise<void>

Defined in: src/context/worker-proxy.ts:285

Close a page.

ParameterTypeDescription
pageIdstringPage ID returned from loadPage

Promise<void>

If the page cannot be closed


dispose(): Promise<void>

Defined in: src/core/disposable.ts:206

Alias for Symbol.asyncDispose for explicit calls.

Promise<void>

AsyncDisposable.dispose


getPageCount(documentId): Promise<number>

Defined in: src/context/worker-proxy.ts:263

Get the page count of a document.

ParameterTypeDescription
documentIdstringDocument ID

Promise<number>

The page count

If the page count cannot be retrieved


getPageSize(pageId): Promise<PageSizeResponse>

Defined in: src/context/worker-proxy.ts:296

Get the size of a page.

ParameterTypeDescription
pageIdstringPage ID

Promise<PageSizeResponse>

The page size

If the page size cannot be retrieved


getText(pageId): Promise<string>

Defined in: src/context/worker-proxy.ts:333

Get text content from a page.

ParameterTypeDescription
pageIdstringPage ID

Promise<string>

The text content

If text extraction fails


getTextLayout(pageId): Promise<{ rects: Float32Array; text: string; }>

Defined in: src/context/worker-proxy.ts:343

Get text rects from a page.

ParameterTypeDescription
pageIdstringPage ID

Promise<{ rects: Float32Array; text: string; }>

Object with text and flat array of coordinates [left, right, bottom, top]


loadPage(documentId, pageIndex): Promise<LoadPageResponse>

Defined in: src/context/worker-proxy.ts:275

Load a page from a document.

ParameterTypeDescription
documentIdstringDocument ID
pageIndexnumberZero-based page index

Promise<LoadPageResponse>

The page info

If the page cannot be loaded


openDocument(data, password?): Promise<OpenDocumentResponse>

Defined in: src/context/worker-proxy.ts:242

Open a PDF document.

ParameterTypeDescription
dataArrayBufferPDF file data
password?stringOptional password for encrypted documents

Promise<OpenDocumentResponse>

The document info

If the document cannot be opened


ping(timeout): Promise<boolean>

Defined in: src/context/worker-proxy.ts:356

Check if the worker is alive and responsive.

Sends a lightweight PING message and waits for a response.

ParameterTypeDefault valueDescription
timeoutnumber5_000Timeout in milliseconds (default: 5000)

Promise<boolean>

true if the worker responded within the timeout, false otherwise

Never — errors are caught internally and returned as false


renderPage(pageId, options, onProgress?): Promise<RenderResult>

Defined in: src/context/worker-proxy.ts:309

Render a page.

ParameterTypeDescription
pageIdstringPage ID
optionsRenderOptionsRender options
onProgress?ProgressCallbackOptional progress callback

Promise<RenderResult>

The render result

If rendering fails


static create(workerUrl, wasmBinary, options?): Promise<WorkerProxy>

Defined in: src/context/worker-proxy.ts:175

Create a new worker proxy.

ParameterTypeDescription
workerUrlstring | URLURL to the worker script
wasmBinaryArrayBufferPre-loaded WASM binary
options?WorkerProxyOptionsOptional configuration

Promise<WorkerProxy>

The worker proxy instance

If worker creation or initialisation fails