PDF Web Viewer
    Preparing search index...

    SDK Operations

    The sdk.IDocumentModel interface is the central hub for all document interactions. It combines state properties, core lifecycle operations, and a comprehensive set of editing commands.

    When you open a document using PdfSdk.openDocument or PdfSdk.openBlankDocument, you receive an instance of IDocumentModel.

    const document = await PdfSdk.openDocument({ file });
    // document implements IDocumentModel

    Retrieve basic metadata and status information.

    console.log(`Title: ${document.title}`);
    console.log(`Pages: ${document.getNumPages()}`);
    console.log(`Modified: ${document.isModified}`);
    Method Description
    sdk.IDocumentModel.getNumPages Returns the total number of pages.
    sdk.IDocumentModel.getPage Retrieves a specific PageModel by index.
    sdk.IDocumentModel.getPages Returns an array of all PageModel objects.
    sdk.IDocumentModel.changeDocName Renames the document instance in memory.
    sdk.IDocumentModel.dispose Releases resources associated with the document.

    Export the document to various formats.

    // Export as a Blob
    const blob = await document.exportDocument({ as: 'blob' });

    // Export as a File
    const file = await document.exportDocument({ as: 'file', name: 'output.pdf' });

    Manage the structure of the document by adding, removing, or modifying pages.

    // Rotate the first page 90 degrees
    await document.rotatePages({
    range: [0],
    rotation: 90,
    });

    // Delete the second page
    await document.deletePages({
    range: [1],
    });
    Method Description
    sdk.IDocumentModel.deletePages Removes specified pages from the document.
    sdk.IDocumentModel.rotatePages Rotates specified pages by 90, 180, or 270 degrees.
    sdk.IDocumentModel.movePages Moves pages to a new location within the document.
    sdk.IDocumentModel.insertPagesFromFile Inserts pages from another PDF file.
    sdk.IDocumentModel.insertBlankPages Inserts new blank pages.
    sdk.IDocumentModel.insertDuplicatePages Duplicates existing pages.
    sdk.IDocumentModel.resizePages Changes the dimensions of specified pages.
    sdk.IDocumentModel.reversePage Reverses the order of pages in a range.
    sdk.IDocumentModel.replaceWithBlankPages Replaces content of specified pages with blank pages.
    sdk.IDocumentModel.replaceWithDuplicatePages Replaces pages with duplicates of other pages.
    sdk.IDocumentModel.replaceWithPagesFromFile Replaces pages with content from another PDF.
    sdk.IDocumentModel.changePagesBackground Sets a background color or image for pages.
    sdk.IDocumentModel.changePagesMargin Adjusts the margins of specified pages.

    Create, modify, and remove annotations (comments, shapes, stamps).

    // Add a sticky note
    await document.createAnnotation({
    type: 'StickyNote',
    pageIndex: 0,
    rect: [100, 100, 150, 150],
    contents: 'Please review',
    });
    Method Description
    sdk.IDocumentModel.createAnnotation Creates a new annotation (StickyNote, Highlight, Shape, etc.).
    sdk.IDocumentModel.deleteAnnotation Removes an existing annotation.
    sdk.IDocumentModel.changeAnnotationProperties Updates properties like color, opacity, or content.
    sdk.IDocumentModel.whiteoutPage Redacts a region of the page (permanently removes content).
    sdk.IDocumentModel.createWidgetAnnotation Creates form fields or other widget annotations.
    sdk.IDocumentModel.autoOrderAnnotation Automatically reorders annotations based on position.
    sdk.IDocumentModel.changeAnnotOrder Changes the Z-order of an annotation.
    sdk.IDocumentModel.orderAnnotation Moves an annotation to a specific index in the order.
    sdk.IDocumentModel.canChangeAnnotZOrder Checks if annotation Z-order can be changed.

    Modify the actual content of the PDF, including text and images.

    Method Description
    sdk.IDocumentModel.replaceText Finds and replaces text strings.
    sdk.IDocumentModel.createTextBlock Adds new text to the page.
    sdk.IDocumentModel.deleteTextBlocks Removes text blocks.
    sdk.IDocumentModel.editPageText Edits existing text content.
    sdk.IDocumentModel.editTextParagraphs Edits text at the paragraph level.
    sdk.IDocumentModel.insertChar Inserts a single character.
    sdk.IDocumentModel.transformTextBlock Moves, scales, or rotates a text block.
    sdk.IDocumentModel.changeFontAttributes Changes font family, size, or style.
    sdk.IDocumentModel.changeHighlightColor Changes the color of text highlighting.
    sdk.IDocumentModel.changeStrikeoutColor Changes the color of strikeout text.
    sdk.IDocumentModel.changeUnderlineColor Changes the color of underlined text.
    sdk.IDocumentModel.changeListStyle Modifies list formatting (bullets, numbering).
    sdk.IDocumentModel.changeParaAttr Modifies paragraph attributes (alignment, etc).
    sdk.IDocumentModel.getTextAsTable Extracts text content structured as a table.
    sdk.IDocumentModel.canChangeTextBlockZOrder Checks if text block Z-order can be changed.
    Method Description
    sdk.IDocumentModel.insertImageContentElement Inserts an image file onto a page.
    sdk.IDocumentModel.cropImage Crops an image element on the page.
    sdk.IDocumentModel.deleteContentElements Removes specific content objects (images, text).
    sdk.IDocumentModel.copyContentElement Copies an element to the clipboard.
    sdk.IDocumentModel.pasteContentElement Pastes an element from the clipboard.
    sdk.IDocumentModel.copyTextBlock Copies a text block to the clipboard.
    sdk.IDocumentModel.pasteTextBlock Pastes a text block from the clipboard.
    sdk.IDocumentModel.changeElementMatrix Applies a transformation matrix to an element.
    sdk.IDocumentModel.changeElementOrder Changes the Z-order of content elements.
    sdk.IDocumentModel.createClip Creates a clipping path.
    sdk.IDocumentModel.deleteClip Removes a clipping path.
    sdk.IDocumentModel.transformClip Transforms a clipping path.
    sdk.IDocumentModel.transformContent Transforms generic content elements.
    sdk.IDocumentModel.canChangeElementZOrder Checks if element Z-order can be changed.

    Handle interactive forms and digital signatures.

    // Fill a form field
    await document.changeAcroformValue({
    fieldId: 'ClientName',
    value: 'John Doe',
    });
    Method Description
    sdk.IDocumentModel.fillSignCreate Creates a Fill & Sign field.
    sdk.IDocumentModel.fillSignDelete Deletes a Fill & Sign field.
    sdk.IDocumentModel.fillSignUpdate Updates a Fill & Sign field.
    sdk.IDocumentModel.importAcroformsFdfData Imports form data from an FDF file.
    sdk.IDocumentModel.changeAcroformValue Sets the value of a form field.
    sdk.IDocumentModel.resetAcroformsFdfData Resets form fields to their default values.
    sdk.IDocumentModel.exportAcroformsFdfData Exports form data.
    sdk.IDocumentModel.exportFillSignAsset Exports a Fill & Sign asset (signature/initials).
    sdk.IDocumentModel.isDocPermittedForESign Checks if the document allows e-signing.

    Add headers, footers, watermarks, and page numbers.

    // Add page numbers
    await document.insertPageNumber({
    format: 'Page %n of %N',
    position: 'BottomCenter',
    });
    Method Description
    sdk.IDocumentModel.insertHeader Adds a header to specified pages.
    sdk.IDocumentModel.deleteHeader Removes headers.
    sdk.IDocumentModel.insertPageNumber Adds automatic page numbering.
    sdk.IDocumentModel.deletePageNumber Removes page numbering.
    sdk.IDocumentModel.insertWatermark Adds a text or image watermark.
    sdk.IDocumentModel.deleteWatermark Removes watermarks.
    sdk.IDocumentModel.insertBatesNumbering Applies Bates numbering for legal documents.
    sdk.IDocumentModel.deleteBatesNumbering Removes Bates numbering.

    Manage bookmarks, attachments, and layers.

    // Add a bookmark
    await document.addBookmark({
    title: 'Section 1',
    pageIndex: 0,
    parentIndex: [],
    });
    Method Description
    sdk.IDocumentModel.addBookmark Adds a new bookmark to the outline.
    sdk.IDocumentModel.bookmarkAddBefore Adds a bookmark before a specific node.
    sdk.IDocumentModel.bookmarkAddAfter Adds a bookmark after a specific node.
    sdk.IDocumentModel.bookmarkAddChild Adds a child bookmark.
    sdk.IDocumentModel.deleteBookmark Removes a bookmark.
    sdk.IDocumentModel.deleteAllBookmarks Removes all bookmarks.
    sdk.IDocumentModel.moveBookmark Repositions a bookmark in the hierarchy.
    sdk.IDocumentModel.patchBookmark Updates bookmark properties.
    sdk.IDocumentModel.addAttachment Attaches a file to the PDF.
    sdk.IDocumentModel.deleteAttachment Removes an attachment.
    sdk.IDocumentModel.saveAttachment Saves an attachment to a file.
    sdk.IDocumentModel.exportAttachment Exports a specific attachment.
    sdk.IDocumentModel.exportAllAttachments Exports all attachments.
    sdk.IDocumentModel.setOCGroupState Controls the visibility of Optional Content Groups (Layers).
    sdk.IDocumentModel.updateLayerStates Updates the state of multiple layers.

    Manage document security, permissions, and claims.

    // Check permissions
    const claims = await document.listDocumentClaims();
    console.log('Allowed operations:', claims);

    // Unlock a password-protected document
    await document.ownerAuthorization('password123');
    Method Description
    sdk.IDocumentModel.listDocumentClaims Returns a list of permitted operations (claims).
    sdk.IDocumentModel.ownerAuthorization Unlocks the document with an owner password.
    sdk.IDocumentModel.setSecurityPermissions Sets security permissions (requires owner access).
    sdk.IDocumentModel.isOperationPermitted Checks if a specific operation is allowed.
    sdk.IDocumentModel.applyRedactions Permanently applies redaction annotations.
    sdk.IDocumentModel.changeDocumentProperties Updates document metadata (Title, Author, etc.).

    Extract content and data from the document.

    Method Description
    sdk.IDocumentModel.extractImages Extracts all images from the document.
    sdk.IDocumentModel.extractImage Extracts a specific image.
    sdk.IDocumentModel.extractPages Extracts pages as a new document.
    sdk.IDocumentModel.exportComments Exports annotations/comments.
    sdk.IDocumentModel.documentExportStampAppearance Exports the appearance of a stamp.
    sdk.IDocumentModel.getMeasurementViewports Retrieves measurement viewports.
    sdk.IDocumentModel.createMeasurementCalibration Calibrates measurement tools.

    Optimize the document for storage or distribution.

    Method Description
    sdk.IDocumentModel.compress Compresses the document to reduce file size.
    sdk.IDocumentModel.sanitize Removes sensitive information and metadata.
    sdk.IDocumentModel.removeMetadata Strips metadata from the document.

    Manage the history of changes.

    if (document.hasUndo) {
    await document.undo();
    }
    Method Description
    sdk.IDocumentModel.undo Reverts the last action.
    sdk.IDocumentModel.redo Reapplies the last undone action.
    sdk.IDocumentModel.changeDocumentHistory Modifies the history stack directly.
    sdk.IDocumentModel.doTransactionAsync Groups multiple operations into a single transaction.
    Property Type Description
    id string Unique identifier for the document instance.
    title string The document title from metadata.
    author string The document author.
    isModified boolean true if the document has unsaved changes.
    isSigned boolean true if the document contains digital signatures.
    numPages number Total number of pages (via getNumPages()).
    security sdk.IDocumentSecurity Security settings and permissions.
    undoRedoHistory sdk.IDocumentHistory Information about the undo/redo stack.
    permissions string Raw permissions string.
    bookmarks any Document bookmarks structure.
    layers any[] List of optional content groups (layers).
    attachments any[] List of file attachments.
    Event Type Description
    onCommandExecuting Observable Emits before a command runs.
    onCommandExecuted Observable Emits after a command completes successfully.
    onCommandFailed Observable Emits if a command throws an error.
    onIsModifiedChanged Observable Emits when the modification state changes.
    onPagesChanged Observable Emits when pages are added, removed, or moved.
    onUndoRedoChanged Observable Emits when the history stack changes.
    onBookmarksChanged Observable Emits when bookmarks are modified.