Сноски и концевые сноски
Добавляйте сноски в традиционные документы с разбивкой на страницы. Обычная сноска размещается на странице ссылки, концевая — согласно настройкам документа. API не поддерживает современные документы.
Режим плагина
Установка
pnpm add @univerjs-pro/docs-reference @univerjs-pro/docs-reference-uinpm install @univerjs-pro/docs-reference @univerjs-pro/docs-reference-uiyarn add @univerjs-pro/docs-reference @univerjs-pro/docs-reference-uibun add @univerjs-pro/docs-reference @univerjs-pro/docs-reference-uiИспользование
Добавьте плагины в редактор Docs с настроенной лицензией. Подключите стили и ресурсы языка редактора.
import { UniverDocsReferencePlugin } from '@univerjs-pro/docs-reference'import { UniverDocsReferenceUIPlugin } from '@univerjs-pro/docs-reference-ui'import ReferenceLocale from '@univerjs-pro/docs-reference-ui/locale/ru-RU'import { LocaleType } from '@univerjs/core'import '@univerjs-pro/docs-reference/facade'import '@univerjs-pro/docs-reference-ui/lib/index.css'univerAPI.loadLocales(LocaleType.RU_RU, ReferenceLocale)univer.registerPlugin(UniverDocsReferencePlugin)univer.registerPlugin(UniverDocsReferenceUIPlugin)Режим предустановки
Установка
pnpm add @univerjs/presets @univerjs/preset-docs-core @univerjs/preset-docs-drawing @univerjs/preset-docs-advancednpm install @univerjs/presets @univerjs/preset-docs-core @univerjs/preset-docs-drawing @univerjs/preset-docs-advancedyarn add @univerjs/presets @univerjs/preset-docs-core @univerjs/preset-docs-drawing @univerjs/preset-docs-advancedbun add @univerjs/presets @univerjs/preset-docs-core @univerjs/preset-docs-drawing @univerjs/preset-docs-advancedИспользование
UniverDocsAdvancedPreset уже включает оба плагина. При использовании этого preset не регистрируйте их повторно.
Используйте вместе базовую предустановку, предустановку рисования и расширенную предустановку, объединив их языковые ресурсы. Настройка клиентской лицензии описана в разделе Использование лицензии.
import { UniverDocsAdvancedPreset } from '@univerjs/preset-docs-advanced'import AdvancedLocale from '@univerjs/preset-docs-advanced/locales/ru-RU'import { UniverDocsCorePreset } from '@univerjs/preset-docs-core'import CoreLocale from '@univerjs/preset-docs-core/locales/ru-RU'import { UniverDocsDrawingPreset } from '@univerjs/preset-docs-drawing'import DrawingLocale from '@univerjs/preset-docs-drawing/locales/ru-RU'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-docs-core/lib/index.css'import '@univerjs/preset-docs-drawing/lib/index.css'import '@univerjs/preset-docs-advanced/lib/index.css'const { univerAPI } = createUniver({ locale: LocaleType.RU_RU, locales: { [LocaleType.RU_RU]: mergeLocales(CoreLocale, DrawingLocale, AdvancedLocale), }, presets: [ UniverDocsCorePreset({ container: 'app' }), UniverDocsDrawingPreset(), UniverDocsAdvancedPreset(), ],})Вставка и управление сносками
const document = univerAPI.getActiveDocument()if (document) { const noteId = document.insertFootnote(0) if (noteId) console.log(document.getParagraphs(noteId)) console.log(document.getFootnotes(), document.getEndnotes())}Смещение — позиция UTF-16 в основном тексте, включая структурные токены. Неверная позиция или содержимое, отсутствие прав либо современный документ приводят к результату null. При успехе возвращается стабильный ID сноски. Ссылка и содержимое участвуют в одной mutation отмены и совместного редактирования.
Читайте сноски через getFootnotes() / getEndnotes() и удаляйте через deleteFootnote(noteId) / deleteEndnote(noteId). setFootnoteSettings() и setEndnoteSettings() задают нумерацию и размещение; null сбрасывает явные настройки. Сохраните возвращённый ID для обращения к содержимому: отображаемый номер может измениться после переразбивки страниц.
Насколько полезно это руководство?