This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /api/python/editors/pdf-editor.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. PdfEditor

Provides specialized editing capabilities for PDF documents. Implements document and page-based editing operations specific to PDF format.

from nutrient_sdk import PdfEditor

Construction

PdfEditor cannot be instantiated directly. Obtain instances through static factory methods or via other SDK classes.

Class Methods

edit

@classmethod
def edit(cls, document: Document) -> PdfEditor

Creates a new PdfEditor instance and begins editing the specified document.

Parameters:

NameTypeDescription
documentDocumentThe document to edit.

Returns: PdfEditor - A new PdfEditor instance for editing the document.


Methods

append_document

def append_document(self, document: Document) -> None

Appends all pages from another document to the end of the current PDF document.

Parameters:

NameTypeDescription
documentDocumentThe document to append to the current PDF document.

close

def close(self) -> None

Closes the editor and releases all associated resources.


detect_and_add_form_fields

def detect_and_add_form_fields(self) -> None

Detects form fields on every page of the document and adds matching interactive form fields to the PDF. Detection uses the Vision form pipeline; detected fields are converted into AcroForm form fields placed at the detected positions.


make_searchable

def make_searchable(self) -> None

Runs OCR over every page in the document and writes an invisible, searchable text layer on top of the rendered page content.


save

def save(self) -> None

Saves the current changes made in the editor.


save_as

def save_as(self, path: str) -> None

Saves the current changes to a file at the specified path.

Parameters:

NameTypeDescription
pathstrThe file path where the document will be saved.

Properties

form_field_collection

@property
def form_field_collection(self) -> list

The collection of form fields in the PDF document.

Type: list

Read-only property.


metadata

@property
def metadata(self) -> PdfMetadata

The metadata associated with the current PDF document.

Type: PdfMetadata

Read-only property.


page_collection

@property
def page_collection(self) -> list

The collection of pages in the PDF document.

Type: list

Read-only property.


Context manager

PdfEditor supports the context manager protocol. Use with to ensure native resources are released automatically:

with PdfEditor.edit(...) as pdf_editor:
# ... use pdf_editor ...
pass # closed automatically on exit

Or close explicitly:

pdf_editor = PdfEditor.edit(...)
try:
# ... use pdf_editor ...
pass
finally:
pdf_editor.close()