@embedpdf/plugin-interaction

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

Tools and the pointer for EmbedPDF: the active tool, the cursor and touch.

原始使用文档

@embedpdf/plugin-interaction

Tools and the pointer for EmbedPDF: the active tool, the cursor and touch.

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

FrameworkImport fromDocs
React@embedpdf/react/interactionTools, cursors & touch
Vue@embedpdf/vue/interactionTools, cursors & touch
Svelte@embedpdf/svelte/interactionTools, cursors & touch
Angular@embedpdf/angular/interactionTools, cursors & touch

In React

At any moment one tool is active, and it decides what a click or a drag on the page does: select text, scroll, draw a rectangle, place a stamp. The interaction plugin keeps track of it, and every feature that uses the pointer works through it. Register interactionPlugin():

interaction-plugin.tsx

import { interactionPlugin } from '@embedpdf/react/interaction';
import { renderPlugin } from '@embedpdf/react/render';
import { stagePlugin } from '@embedpdf/react/stage';

export const plugins = [stagePlugin(), renderPlugin(), interactionPlugin()];

Then switch tools from your toolbar:

tool-switch.tsx

import { useInteraction, useInteractionState } from '@embedpdf/react/interaction';

export function ToolSwitch() {
  const interaction = useInteraction();
  const { activeToolId } = useInteractionState();

  return (
    <>
      <button aria-pressed={activeToolId === 'pointer'} onClick={() => interaction.activateTool('pointer')}>
        Select
      </button>
      <button aria-pressed={activeToolId === 'pan'} onClick={() => interaction.activateTool('pan')}>
        Hand
      </button>
    </>
  );
}

License

Apache-2.0

版本与发布记录

@embedpdf/plugin-interaction 共发布 27 个版本,首次发布于 2026/08/06;过去 12 个月发布了 27 个版本。

版本发布日期距今
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-interaction 的常见问题

@embedpdf/plugin-interaction 是什么?

Tools and the pointer for EmbedPDF: the active tool, the cursor and touch.

如何安装 @embedpdf/plugin-interaction?

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

@embedpdf/plugin-interaction 支持 TypeScript 吗?

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

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

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

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

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

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

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

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

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