Skip to content

a11ydocs v1.7.0


a11ydocs / PdfEditableDocument

Class: PdfEditableDocument

Defined in: src/document.ts:5572

A mutable editor for applying incremental updates to an existing PDF document. It supports page edits, appended pages, form updates, structure changes, embedded resources, and incremental serialization.

Constructors

Constructor

ts
new PdfEditableDocument(base): PdfEditableDocument;

Defined in: src/document.ts:5648

Creates an editor around a parsed source PDF.

Parameters

ParameterTypeDescription
baseParsedPdfDocumentThe parsed source PDF to edit.

Returns

PdfEditableDocument

Methods

addPage()

ts
addPage(options?): PdfPage;

Defined in: src/document.ts:5691

Appends a new page and returns its page builder.

Parameters

ParameterTypeDescription
optionsPageOptionsOptions that control the operation.

Returns

PdfPage

The new page builder.


editPage()

ts
editPage(index): PdfPage;

Defined in: src/document.ts:5801

Creates or returns a page builder for editing an existing page.

Parameters

ParameterTypeDescription
indexnumberThe page index.

Returns

PdfPage

The editable page builder.


embedTrueTypeFont()

ts
embedTrueTypeFont(data, options?): PdfEmbeddedFont;

Defined in: src/document.ts:5884

Embeds a TrueType font for use by appended or edited pages.

Parameters

ParameterTypeDescription
dataBinaryDataThe binary image or font data.
optionsEmbedTrueTypeFontOptionsOptions that control the operation.

Returns

PdfEmbeddedFont

The result of the operation.


findEditableStructureElements()

ts
findEditableStructureElements(query?): readonly ParsedPdfEditableStructureElement[];

Defined in: src/document.ts:6130

Finds editable tagged structure elements that match the supplied query.

Parameters

ParameterTypeDescription
queryPdfEditableStructureQueryThe criteria used to match structure elements.

Returns

readonly ParsedPdfEditableStructureElement[]

The result of the operation.


findSimilarStructureElements()

ts
findSimilarStructureElements(target, options?): readonly ParsedPdfEditableStructureElement[];

Defined in: src/document.ts:6177

Finds tagged structure elements related to the supplied element.

Parameters

ParameterTypeDescription
targetParsedPdfEditableStructureElementThe destination page, outline target, or structure element.
optionsPdfEditableStructureSimilarityOptionsOptions that control the operation.

Returns

readonly ParsedPdfEditableStructureElement[]

The result of the operation.


flattenForms()

ts
flattenForms(): void;

Defined in: src/document.ts:6574

Queues flattening for all parsed form fields.

Returns

void


getPageCount()

ts
getPageCount(): number;

Defined in: src/document.ts:5730

Returns the current page count including appended and inserted pages.

Returns

number

The page count.


insertPage()

ts
insertPage(index, options?): PdfPage;

Defined in: src/document.ts:5703

Inserts a new page at the requested position and returns its page builder.

Parameters

ParameterTypeDescription
indexnumberThe page index.
optionsPageOptionsOptions that control the operation.

Returns

PdfPage

The inserted page builder.


listEditableStructureElements()

ts
listEditableStructureElements(): readonly ParsedPdfEditableStructureElement[];

Defined in: src/document.ts:6115

Returns editable tagged structure element handles from the source document.

Returns

readonly ParsedPdfEditableStructureElement[]

The editable structure element handles.


movePage()

ts
movePage(fromIndex, toIndex): void;

Defined in: src/document.ts:5764

Moves a page from one position to another.

Parameters

ParameterTypeDescription
fromIndexnumberThe current page index.
toIndexnumberThe destination page index.

Returns

void


removePage()

ts
removePage(index): void;

Defined in: src/document.ts:5739

Removes a page from the editable page order.

Parameters

ParameterTypeDescription
indexnumberThe page index.

Returns

void


save()

ts
save(path): Promise<void>;

Defined in: src/document.ts:6735

Serializes the incremental update and writes it to a file path. Convenience alias for writeToFile for Node.js callers.

Parameters

ParameterTypeDescription
pathstringThe file path to write to.

Returns

Promise<void>


setEncryption()

ts
setEncryption(options): void;

Defined in: src/document.ts:6401

Sets encryption options for the next save, upgrading the encryption algorithm. New and modified objects will use the new encryption.

Parameters

ParameterTypeDescription
optionsDocumentEncryptionOptionsEncryption options for the next save.

Returns

void


setFieldValue()

ts
setFieldValue(name, value): void;

Defined in: src/document.ts:5946

Queues a form field value update by field name.

/** Queues a form field value update by field name.

Parameters

ParameterTypeDescription
namestringThe name to assign or look up.
valuestring | booleanThe value to write or apply.

Returns

void


setStructureAltText()

ts
setStructureAltText(target, altText): void;

Defined in: src/document.ts:6240

Queues alternate text updates for a tagged structure element.

Parameters

ParameterTypeDescription
targetParsedPdfEditableStructureElementThe destination page, outline target, or structure element.
altTextstring | undefinedThe replacement alternate text, or undefined to clear it.

Returns

void


setStructureReadingOrder()

ts
setStructureReadingOrder(orderedChildren): void;

Defined in: src/document.ts:6268

Queues a child reading-order update for a tagged structure element.

Parameters

ParameterTypeDescription
orderedChildrenreadonly ParsedPdfEditableStructureElement[]The child element handles in the desired reading order.

Returns

void


setStructureRole()

ts
setStructureRole(target, role): void;

Defined in: src/document.ts:6196

Queues a role update for a tagged structure element.

Parameters

ParameterTypeDescription
targetParsedPdfEditableStructureElementThe destination page, outline target, or structure element.
role| string & object | PdfStandardStructureTagThe replacement structure role.

Returns

void


setStructureRoles()

ts
setStructureRoles(targets, role): void;

Defined in: src/document.ts:6225

Queues role updates for multiple tagged structure elements.

Parameters

ParameterTypeDescription
targetsreadonly ParsedPdfEditableStructureElement[]The structure element handles to update.
role| string & object | PdfStandardStructureTagThe replacement structure role.

Returns

void


setXmpMetadata()

ts
setXmpMetadata(metadata): void;

Defined in: src/document.ts:5931

Queues an XMP metadata update or removal.

Parameters

ParameterTypeDescription
metadataXmpMetadataInput | undefinedThe XMP metadata input, or undefined to clear it.

Returns

void


sign()

ts
sign(options): void;

Defined in: src/document.ts:6411

Adds a detached digital signature as an incremental update.

Parameters

ParameterTypeDescription
optionsDocumentSignatureOptionsSignature options, including the CMS/PKCS#7 signer callback.

Returns

void


toArrayBuffer()

ts
toArrayBuffer(): ArrayBuffer;

Defined in: src/document.ts:6507

Serializes the incremental update into an ArrayBuffer.

Returns

ArrayBuffer

The serialized PDF data as an ArrayBuffer.


toBlob()

ts
toBlob(): Blob;

Defined in: src/document.ts:6533

Serializes the incremental update into a PDF Blob.

Returns

Blob

The serialized PDF data as a Blob.


toIncrementalModel()

ts
toIncrementalModel(): PdfIncrementalUpdateModel;

Defined in: src/document.ts:6630

Builds the internal incremental update model for serialization.

Returns

PdfIncrementalUpdateModel

The internal incremental update model.


toUint8Array()

ts
toUint8Array(): Uint8Array;

Defined in: src/document.ts:6421

Serializes the incremental update into PDF bytes.

Returns

Uint8Array

The serialized or collected bytes.


updateInfo()

ts
updateInfo(info): void;

Defined in: src/document.ts:5907

Queues updates to the document information dictionary.

Parameters

ParameterTypeDescription
infoDocumentInfoThe document information metadata to merge.

Returns

void


writePageContent()

ts
writePageContent(
   index, 
   content, 
   mode): void;

Defined in: src/document.ts:5840

Writes raw PDF content operators to an existing page's content stream.

Parameters

ParameterTypeDescription
indexnumberThe page index.
contentstringRaw PDF content stream operators (e.g. "BT /F1 12 Tf (Hello) Tj ET").
mode"replace" | "append" | "prepend"How to apply the content: replace entirely, append after existing (wraps existing in q/Q), or prepend before existing (wraps existing in q/Q).

Returns

void


writeTo()

ts
writeTo(sink): Promise<void>;

Defined in: src/document.ts:6442

Streams the incremental update bytes to a byte sink.

Parameters

ParameterTypeDescription
sinkByteSinkThe sink that receives written byte chunks.

Returns

Promise<void>


writeToFile()

ts
writeToFile(path): Promise<void>;

Defined in: src/document.ts:6723

Serializes the incremental update and writes it to a file path.

Parameters

ParameterTypeDescription
pathstringThe file path to write to.

Returns

Promise<void>


estimateSignatureSize()

ts
static estimateSignatureSize(certificateBytes?): number;

Defined in: src/document.ts:6714

Estimates the byte size needed for a detached-signature placeholder.

Parameters

ParameterTypeDescription
certificateBytes?Uint8Array<ArrayBufferLike> | nullOptional certificate bytes for size estimation.

Returns

number

The estimated placeholder size in bytes.

Released under the ISC license.