Текст и списки

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

Текст PDF может быть простым редактируемым полем, рамкой абзаца на основе истории или семантическим списком.

Текстовые поля

TypeScript
const textBox = page.insertTextBox({  text: 'Quarterly review',  left: 36,  top: 36,  width: 280,  height: 48,  fontSize: 20,})textBox.setTextStyle({ bold: true, fill: '#1d4ed8' })textBox.setTextStyle({ italic: true }, { start: 0, end: 9 })

setTextStyle(style, range?) применяет стиль ко всему полю или диапазону UTF-16 с включённым началом и исключённым концом.

Абзацы

Блоки абзацев имеют стабильные идентификаторы. Получите их через getBlocks() перед изменением текста, стиля или порядка.

TypeScript
const paragraph = page.insertParagraph({  text: 'Release summary',  left: 36,  top: 108,  width: 280,  height: 96,})paragraph.appendBlock({  text: 'Approved for publication',  textStyle: { italic: true },})const [block] = paragraph.getBlocks()if (block) {  paragraph.setBlockStyle(block.id, { align: 'center' })}

Семантические списки

TypeScript
const list = page.insertList({  text: 'Verify content',  kind: univerAPI.Enum.PdfListKind.ORDERED,  preset: univerAPI.Enum.PdfListPresetId.ORDERED_NUMBER_ALPHA,  left: 36,  top: 228,  width: 280,  height: 120,})list.insertItem(1, { text: 'Export final PDF' })list.insertItem(2, { text: 'Archive source', level: 1 })list.setStartNumber(3)

Уровни списка находятся в диапазоне от 0 до 8. Для повышения уровня нужен предыдущий элемент, способный стать родителем; setStartNumber() доступен только для упорядоченных списков.

Текстовые поля также предоставляют getTextRuns(), getTextAnchor() и setTextAnchor(). Абзацы предоставляют insertBlock(), appendBlock(), setBlockText(), setBlockStyle() и removeBlock().

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.