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
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
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
Properties
type
type:
Тип документа: 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);