Перейти к основному содержимому
Версия: Next

Interface: PdfDocumentApi

API для работы с PDF файлом в режиме просмотра.

Специализированный интерфейс для работы с PDF документами в режиме просмотра.

ВАЖНО: Несмотря на то, что интерфейс наследует API от DocumentApi он реализует его частично.

Позволяет только управлять масштабом отображаемого документа.

Remarks

Иерархия интерфейсов:

DocumentApi (базовый интерфейс)
├── TextDocumentApi (текстовые документы)
├── SpreadsheetDocumentApi (таблицы)
├── PresentationDocumentApi (презентации)
└── PdfDocumentApi (PDF-просмотр) ← текущий интерфейс

Реализуемый функционал от DocumentApi:

  • DocumentApi.zoom — масштабирование отображаемого документа.

Example

Определение типа документа и работа с ним

const docApi = editorApi.document;

if (docApi.type === 'pdf') {
// TypeScript типизирует docApi как PdfDocumentApi
// Теперь доступны методы управлением масштабом документа
docApi.zoom.zoomIn();
...
}

Extends

Methods

insertColumns()

insertColumns(insertAfter, columnsCount?): Promise<void>

Вставляет один или несколько столбцов относительно текущего выделения.

Parameters

insertAfter

boolean

Определяет позицию вставки:

  • true — вставить после выделения
  • false — вставить перед выделением
columnsCount?

number

Количество вставляемых столбцов. Если не указано, используется ширина текущего выделения

Returns

Promise<void>

Promise, который завершается после выполнения операции

Remarks

Поведение:

  • Если выделен один столбец:
    • вставка выполняется непосредственно перед или после него
  • Если выделено несколько столбцов:
    • при insertAfter = false вставка выполняется перед крайним левым столбцом
    • при insertAfter = true вставка выполняется после крайнего правого столбца
  • Если columnsCount не указан:
    • вставляется столько столбцов, сколько выделено

Example

Вставка одного столбца после выделенного

await documentApi.insertColumns(true);

Вставка трёх столбцов перед выделением

await documentApi.insertColumns(false, 3);

Вставка с количеством по выделению

// если выделено 2 столбца → вставится 2 столбца
await documentApi.insertColumns(true);

Inherited from

DocumentApi.insertColumns


insertRows()

insertRows(insertAfter, rowsCount?): Promise<void>

Вставляет одну или несколько строк относительно текущего выделения.

Parameters

insertAfter

boolean

Определяет позицию вставки:

  • true — вставить после выделения
  • false — вставить перед выделением
rowsCount?

number

Количество вставляемых строк. Если не указано, используется высота текущего выделения

Returns

Promise<void>

Promise, который завершается после выполнения операции

Remarks

Поведение:

  • Если выделена одна строка:
    • вставка выполняется непосредственно перед или после неё
  • Если выделено несколько строк:
    • при insertAfter = false вставка выполняется перед верхней строкой выделения
    • при insertAfter = true вставка выполняется после нижней строки выделения
  • Если rowsCount не указан:
    • вставляется столько строк, сколько выделено

Example

Вставка одной строки после выделенной

await documentApi.insertRows(true);

Вставка трёх строк перед выделением

await documentApi.insertRows(false, 3);

Вставка с количеством по выделению

// если выделено 2 строки → вставится 2 строки
await documentApi.insertRows(true);

Inherited from

DocumentApi.insertRows


print()

print(): Promise<void>

Открывает диалог печати для текущего документа.

Returns

Promise<void>

Promise, который завершается после успешного открытия диалога печати

Throws

Если диалог печати не может быть открыт. Ошибка передаётся через reject Promise.

Remarks

Поведение:

  • Открывает системный или встроенный диалог печати
  • Пользователь может настроить параметры печати и подтвердить или отменить действие
  • Не гарантирует выполнение печати (пользователь может отменить)
  • Promise резолвится после открытия диалога, а не после завершения печати

Ограничения:

  • Требует пользовательского взаимодействия
  • Может быть недоступен из-за политики доступа (см. DocumentAccessPolicy)

Example

try {
await editorApi.document.print();
} catch (e) {
if (e instanceof PrintingNotAvailableError) {
console.error(e.message);
}
}

Inherited from

DocumentApi.print

Properties

type

type: pdf

Тип документа: PDF.

Используется для runtime проверки типа документа.

Remarks

Это свойство переопределяет базовый type из DocumentApi и явно указывает, что это PDF документ.

Значение:

  • Всегда равно 'pdf'
  • Используется для типизации в TypeScript (type guards)
  • Позволяет разными методами работать с разными типами документов

Example

if (editorApi.document.type === 'pdf') {
// Здесь editorApi.document гарантированно PdfDocumentApi
await editorApi.document.zoom.zoomIn();
}

zoom

zoom: ZoomApi

API управления масштабированием (zoom) документа.

Позволяет устанавливать, получать и контролировать уровень масштаба документа. Может использоваться для оптимизации просмотра под разные размеры экрана.

Remarks

Типичные операции:

  • Получить текущий масштаб: zoom.getZoomLevel()
  • Установить масштаб: zoom.setZoomLevel(150) (процент)

See

ZoomApi — полное описание методов управления масштабом

Example

// Получить текущий масштаб
const zoom = await editorApi.document.zoom.getZoomLevel();
console.log('Масштаб:', zoom + '%');

// Установить масштаб 150%
await editorApi.document.zoom.setZoomLevel(150);

Inherited from

DocumentApi.zoom