@embedpdf/plugin-outline

中文文档
3.2.0发布于 2026/11/12Apache-2.0TypeScriptESM + CJS近 30 天下载 8969

The outline for EmbedPDF: shows a document's bookmarks as a tree, follows them, and adds, renames, moves and deletes them.

原始使用文档

@embedpdf/plugin-outline

The outline for EmbedPDF: shows a document's bookmarks as a tree, follows them, and adds, renames, moves and deletes them.

This plugin comes with each EmbedPDF framework package. Import it from the one you use:

FrameworkImport fromDocs
React@embedpdf/react/outlineOutline
Vue@embedpdf/vue/outlineOutline
Svelte@embedpdf/svelte/outlineOutline
Angular@embedpdf/angular/outlineOutline

In React

A document's outline is its table of contents: titled items, nested, each going to a place in the document. Acrobat calls the items bookmarks. Register outlinePlugin() to show it in your UI:

outline-list.tsx

import { useOutline, useOutlineState } from '@embedpdf/react/outline';

export function OutlineList() {
  const outline = useOutline();
  const { rows, current } = useOutlineState();

  return (
    <ul role="tree">
      {rows.map(({ item, depth, hasChildren, expanded }) => (
        <li
          key={item.ref.objectNumber}
          role="treeitem"
          aria-level={depth + 1}
          aria-expanded={hasChildren ? expanded : undefined}
          aria-current={item.ref.objectNumber === current?.objectNumber ? 'location' : undefined}
          style={{ paddingInlineStart: depth * 16 }}
        >
          {hasChildren && (
            <button onClick={() => outline.toggle(item.ref)}>{expanded ? '▾' : '▸'}</button>
          )}
          <button onClick={() => outline.activate(item.ref)}>{item.title}</button>
        </li>
      ))}
    </ul>
  );
}

What useOutlineState() gives you updates by itself: after your own changes, and on a shared document, after someone else's. Nothing is read when a document opens: the outline loads the first time something asks for it, so a document nobody shows the outline of costs nothing.

License

Apache-2.0

版本与发布记录

@embedpdf/plugin-outline 共发布 12 个版本,首次发布于 2026/10/26;过去 12 个月发布了 12 个版本。

版本发布日期距今
3.2.0latest2026/11/121 天前
3.1.02026/11/094 天前
3.0.02026/11/076 天前
3.0.0-next.23next2026/11/076 天前
3.0.0-next.222026/11/049 天前
3.0.0-next.212026/11/0310 天前

关于 @embedpdf/plugin-outline 的常见问题

@embedpdf/plugin-outline 是什么?

The outline for EmbedPDF: shows a document's bookmarks as a tree, follows them, and adds, renames, moves and deletes them.

如何安装 @embedpdf/plugin-outline?

在项目目录运行 npm install @embedpdf/plugin-outline,或使用 pnpm add / yarn add / bun add。

@embedpdf/plugin-outline 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@embedpdf/plugin-outline 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@embedpdf/plugin-outline 可以商用吗?

@embedpdf/plugin-outline 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@embedpdf/plugin-outline 的下载量有多少?

根据 npm 官方下载统计,@embedpdf/plugin-outline 在 2026/10/14 – 2026/11/12 这 30 天内被下载 8,969 次,日均约 299 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@embedpdf/plugin-outline 还在维护吗?

最新版本 3.2.0 发布于 2026/11/12(1 天前);至今共发布 12 个版本,其中过去 12 个月发布了 12 个;首次发布于 2026/10/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。