Skip to content

WorkerProxy

@scaryterry/pdfium


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

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:74

Whether this resource has been disposed.

boolean

AsyncDisposable.disposed

[asyncDispose](): Promise<void>

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

Asynchronously dispose of this resource.

Promise<void>

AsyncDisposable.[asyncDispose]


addInkStroke(pageId, annotationIndex, points): Promise<number>

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

ParameterType
pageIdstring
annotationIndexnumber
pointsobject[]

Promise<number>


appendAnnotationAttachmentPoints(pageId, annotationIndex, points): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
pointsSerialisedQuadPoints

Promise<boolean>


applyRedactions(pageId, fillColour?, removeIntersectingAnnotations?): Promise<ApplyRedactionsResponse>

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

ParameterType
pageIdstring
fillColour?Colour
removeIntersectingAnnotations?boolean

Promise<ApplyRedactionsResponse>


builderAddPage(builderId, options?): Promise<BuilderAddPageResponse>

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

ParameterType
builderIdstring
options?{ height?: number; width?: number; }
options.height?number
options.width?number

Promise<BuilderAddPageResponse>


builderLoadStandardFont(builderId, fontName): Promise<BuilderLoadStandardFontResponse>

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

ParameterType
builderIdstring
fontNamestring

Promise<BuilderLoadStandardFontResponse>


builderPageAddEllipse(pageBuilderId, cx, cy, rx, ry, style?): Promise<void>

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

ParameterType
pageBuilderIdstring
cxnumber
cynumber
rxnumber
rynumber
style?ShapeStyle

Promise<void>


builderPageAddLine(pageBuilderId, x1, y1, x2, y2, style?): Promise<void>

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

ParameterType
pageBuilderIdstring
x1number
y1number
x2number
y2number
style?ShapeStyle

Promise<void>


builderPageAddRectangle(pageBuilderId, x, y, w, h, style?): Promise<void>

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

ParameterType
pageBuilderIdstring
xnumber
ynumber
wnumber
hnumber
style?ShapeStyle

Promise<void>


builderPageAddText(pageBuilderId, text, x, y, fontId, fontSize, colour?): Promise<void>

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

ParameterType
pageBuilderIdstring
textstring
xnumber
ynumber
fontIdstring
fontSizenumber
colour?Colour

Promise<void>


builderSave(builderId, options?): Promise<ArrayBuffer>

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

ParameterType
builderIdstring
options?SaveOptions

Promise<ArrayBuffer>


canFormUndo(pageId): Promise<boolean>

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

ParameterType
pageIdstring

Promise<boolean>


closeDocument(documentId): Promise<void>

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

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:334

Close a page.

ParameterTypeDescription
pageIdstringPage ID returned from loadPage

Promise<void>

If the page cannot be closed


createAnnotation(pageId, subtype): Promise<SerialisedAnnotation>

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

ParameterType
pageIdstring
subtypeAnnotationType

Promise<SerialisedAnnotation>


createDocumentBuilder(): Promise<CreateDocumentBuilderResponse>

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

Promise<CreateDocumentBuilderResponse>


createNUp(documentId, options): Promise<CreateNUpResponse>

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

ParameterType
documentIdstring
optionsNUpLayoutOptions

Promise<CreateNUpResponse>


deletePage(documentId, pageIndex): Promise<void>

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

ParameterType
documentIdstring
pageIndexnumber

Promise<void>


dispose(): Promise<void>

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

Alias for Symbol.asyncDispose for explicit calls.

Promise<void>

AsyncDisposable.dispose


disposeDocumentBuilder(builderId): Promise<void>

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

ParameterType
builderIdstring

Promise<void>


findText(pageId, query, flags?): Promise<TextSearchResult[]>

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

ParameterType
pageIdstring
querystring
flags?TextSearchFlags

Promise<TextSearchResult[]>


flattenPage(pageId, flags?): Promise<FlattenResult>

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

ParameterType
pageIdstring
flags?FlattenFlags

Promise<FlattenResult>


formUndo(pageId): Promise<boolean>

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

ParameterType
pageIdstring

Promise<boolean>


generatePageContent(pageId): Promise<boolean>

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

ParameterType
pageIdstring

Promise<boolean>


getAllPageDimensions(documentId): Promise<object[]>

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

ParameterType
documentIdstring

Promise<object[]>


getAnnotations(pageId): Promise<SerialisedAnnotation[]>

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

ParameterType
pageIdstring

Promise<SerialisedAnnotation[]>


getAttachments(documentId): Promise<SerialisedAttachment[]>

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

ParameterType
documentIdstring

Promise<SerialisedAttachment[]>


getBookmarks(documentId): Promise<Bookmark[]>

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

ParameterType
documentIdstring

Promise<Bookmark[]>


getCharacterInfo(pageId, charIndex): Promise<CharacterInfo | undefined>

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

ParameterType
pageIdstring
charIndexnumber

Promise<CharacterInfo | undefined>


getCharAtPos(pageId, x, y): Promise<CharAtPosResponse | null>

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

ParameterType
pageIdstring
xnumber
ynumber

Promise<CharAtPosResponse | null>


getCharBox(pageId, charIndex): Promise<CharBox | undefined>

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

ParameterType
pageIdstring
charIndexnumber

Promise<CharBox | undefined>


getDocumentInfo(documentId): Promise<DocumentInfoResponse>

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

ParameterType
documentIdstring

Promise<DocumentInfoResponse>


getExtendedDocumentInfo(documentId): Promise<ExtendedDocumentInfoResponse>

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

ParameterType
documentIdstring

Promise<ExtendedDocumentInfoResponse>


getFormSelectedText(pageId): Promise<string | null>

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

ParameterType
pageIdstring

Promise<string | null>


getFormWidgets(pageId): Promise<SerialisedFormWidget[]>

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

ParameterType
pageIdstring

Promise<SerialisedFormWidget[]>


getJavaScriptActions(documentId): Promise<JavaScriptAction[]>

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

ParameterType
documentIdstring

Promise<JavaScriptAction[]>


getLinks(pageId): Promise<SerialisedLink[]>

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

ParameterType
pageIdstring

Promise<SerialisedLink[]>


getMetadata(documentId): Promise<DocumentMetadata>

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

ParameterType
documentIdstring

Promise<DocumentMetadata>


getNamedDestinationByName(documentId, name): Promise<NamedDestination | null>

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

ParameterType
documentIdstring
namestring

Promise<NamedDestination | null>


getNamedDestinations(documentId): Promise<NamedDestination[]>

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

ParameterType
documentIdstring

Promise<NamedDestination[]>


getPageCount(documentId): Promise<number>

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

Get the page count of a document.

ParameterTypeDescription
documentIdstringDocument ID

Promise<number>

The page count

If the page count cannot be retrieved


getPageInfo(pageId): Promise<PageInfoResponse>

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

ParameterType
pageIdstring

Promise<PageInfoResponse>


getPageLabel(documentId, pageIndex): Promise<string | null>

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

ParameterType
documentIdstring
pageIndexnumber

Promise<string | null>


getPageObjects(pageId): Promise<SerialisedPageObject[]>

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

ParameterType
pageIdstring

Promise<SerialisedPageObject[]>


getPageSize(pageId): Promise<PageSizeResponse>

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

Get the size of a page.

ParameterTypeDescription
pageIdstringPage ID

Promise<PageSizeResponse>

The page size

If the page size cannot be retrieved


getPermissions(documentId): Promise<DocumentPermissions>

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

ParameterType
documentIdstring

Promise<DocumentPermissions>


getPrintPageRanges(documentId): Promise<number[] | undefined>

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

ParameterType
documentIdstring

Promise<number[] | undefined>


getSignatures(documentId): Promise<SerialisedSignature[]>

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

ParameterType
documentIdstring

Promise<SerialisedSignature[]>


getStructureTree(pageId): Promise<StructureElement[] | null>

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

ParameterType
pageIdstring

Promise<StructureElement[] | null>


getText(pageId): Promise<string>

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

Get text content from a page.

ParameterTypeDescription
pageIdstringPage ID

Promise<string>

The text content

If text extraction fails


getTextInRect(pageId, left, top, right, bottom): Promise<string>

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

ParameterType
pageIdstring
leftnumber
topnumber
rightnumber
bottomnumber

Promise<string>


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

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

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]


getViewerPreferences(documentId): Promise<ViewerPreferences>

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

ParameterType
documentIdstring

Promise<ViewerPreferences>


getWebLinks(pageId): Promise<WebLink[]>

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

ParameterType
pageIdstring

Promise<WebLink[]>


importPages(targetDocId, sourceDocId, options?): Promise<void>

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

ParameterType
targetDocIdstring
sourceDocIdstring
options?ImportPagesOptions

Promise<void>


insertBlankPage(documentId, pageIndex, width, height): Promise<void>

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

ParameterType
documentIdstring
pageIndexnumber
widthnumber
heightnumber

Promise<void>


killFormFocus(documentId): Promise<boolean>

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

ParameterType
documentIdstring

Promise<boolean>


loadPage(documentId, pageIndex): Promise<LoadPageResponse>

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

Load a page from a document.

ParameterTypeDescription
documentIdstringDocument ID
pageIndexnumberZero-based page index

Promise<LoadPageResponse>

The page info

If the page cannot be loaded


movePages(documentId, pageIndices, destPageIndex): Promise<void>

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

ParameterType
documentIdstring
pageIndicesnumber[]
destPageIndexnumber

Promise<void>


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

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

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:795

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


removeAnnotation(pageId, annotationIndex): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber

Promise<boolean>


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

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

Render a page.

ParameterTypeDescription
pageIdstringPage ID
optionsRenderOptionsRender options
onProgress?ProgressCallbackOptional progress callback

Promise<RenderResult>

The render result

If rendering fails


renderPageStandalone(documentId, pageIndex, options, onProgress?): Promise<RenderResult>

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

Render a page in one round-trip: load, render, close — all inside the worker.

Eliminates 2 round-trips compared to loadPage → renderPage → closePage.

ParameterType
documentIdstring
pageIndexnumber
optionsRenderOptions
onProgress?ProgressCallback

Promise<RenderResult>


saveDocument(documentId, options?): Promise<ArrayBuffer>

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

ParameterType
documentIdstring
options?SaveOptions

Promise<ArrayBuffer>


setAnnotationAttachmentPoints(pageId, annotationIndex, quadIndex, points): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
quadIndexnumber
pointsSerialisedQuadPoints

Promise<boolean>


setAnnotationBorder(pageId, annotationIndex, hRadius, vRadius, borderWidth): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
hRadiusnumber
vRadiusnumber
borderWidthnumber

Promise<boolean>


setAnnotationColour(pageId, annotationIndex, colourType, colour): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
colourTypeAnnotationColourType
colourColour

Promise<boolean>


setAnnotationFlags(pageId, annotationIndex, flags): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
flagsnumber

Promise<boolean>


setAnnotationRect(pageId, annotationIndex, rect): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
rectRect

Promise<boolean>


setAnnotationString(pageId, annotationIndex, key, value): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
keystring
valuestring

Promise<boolean>


setAnnotationURI(pageId, annotationIndex, uri): Promise<boolean>

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

ParameterType
pageIdstring
annotationIndexnumber
uristring

Promise<boolean>


setFormHighlight(documentId, fieldType, colour, alpha): Promise<void>

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

ParameterType
documentIdstring
fieldTypeFormFieldType
colourColour
alphanumber

Promise<void>


setPageRotation(pageId, rotation): Promise<void>

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

ParameterType
pageIdstring
rotationPageRotation

Promise<void>


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

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

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