Skip to content

zeropdf v1.3.0


zeropdf / PdfEditableDocument

Class: PdfEditableDocument

Defined in: src/document.ts:5274

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

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

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

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

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

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

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

Queues flattening for all parsed form fields.

Returns

void


getPageCount()

ts
getPageCount(): number;

Defined in: src/document.ts:5432

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Builds the internal incremental update model for serialization.

Returns

PdfIncrementalUpdateModel

The internal incremental update model.


toUint8Array()

ts
toUint8Array(): Uint8Array;

Defined in: src/document.ts:6123

Serializes the incremental update into PDF bytes.

Returns

Uint8Array

The serialized or collected bytes.


updateInfo()

ts
updateInfo(info): void;

Defined in: src/document.ts:5609

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

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

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

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

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.