@embedpdf/angular

中文文档
3.2.0发布于 2026/11/12Apache-2.0TypeScriptES Module近 30 天下载 2621

用 EmbedPDF 构建自己的 PDF 查看器的角服务和组件 .

中文使用文档
文档目录6 节
  1. 快开始
  2. 1. 安装
  3. 2. 显示 PDF
  4. 每个插件
  5. 文档
  6. 许可证

@embedpdf/angular (英语)

用 EmbedPDF 构建自己的 PDF 查看器的角服务和组件 .

快开始

本指南构建一个小型 PDF 查看器: 页面、 文本人员可以选择、 缩放按钮、 a 高亮和保存按钮。 每个步骤都添加一个插件或一个控件,这样您就可以停止任何 台阶并有一个工作查看器.

1. 安装

你需要两个包:一个是框架,一个是引擎.

npm install @embedpdf/angular @embedpdf/engine

每个特性都是从框架包中单独导入的,例如 @embedpdf/angular/stage, (中文(简体) ), 所以,你不用的东西 从来没有达到你的捆绑.

2. 显示 PDF

一次创建引擎,然后把它给 provideEmbedPdf() 您想要的插件和文档 打开. <epdf-stage> 显示页面,以及 <epdf-render-layer> 绘制每个 :

basic.ts

import { ChangeDetectionStrategy, Component } from '@angular/core';
import { EpdfDocumentGate, provideEmbedPdf } from '@embedpdf/angular/runtime';
import type { OpenInput } from '@embedpdf/angular/runtime';
import { EpdfPageTemplate, EpdfStage, withStage } from '@embedpdf/angular/stage';
import { EpdfRenderLayer, withRender } from '@embedpdf/angular/render';
import { localEngine } from '@embedpdf/engine';

// The local engine opens bytes: fetch lazily, under the loading tab.
const welcome = async (): Promise<OpenInput> => {
  const response = await fetch('https://www.embedpdf.com/pdfs/welcome.pdf');
  return { kind: 'bytes', id: 'welcome', bytes: new Uint8Array(await response.arrayBuffer()) };
};

// The component that provides the viewer renders it: the engine is created in the browser,
// and costs nothing until the first document opens, so the page renders at once.
@Component({
  selector: 'demo-root',
  imports: [EpdfDocumentGate, EpdfStage, EpdfPageTemplate, EpdfRenderLayer],
  providers: [
    provideEmbedPdf(
      { engine: () => localEngine(), initialDocuments: [{ source: welcome }] },
      withStage(),
      withRender(),
    ),
  ],
  changeDetection: ChangeDetectionStrategy.OnPush,
  template: `
    <div style="height: 500px">
      <!-- Document UI is defined over a document: gate it on having one. -->
      <epdf-stage *epdfDocumentGate="let document; fallback: loading" style="height: 100%">
        <ng-template epdfPage>
          <epdf-render-layer />
        </ng-template>
      </epdf-stage>
    </div>

    <ng-template #loading><p>Loading…</p></ng-template>
  `,
})
export class App {}

localEngine() 在它被使用之前,没有付出任何代价, 所以它的安全在你的组件,即使与 服务器侧渲染 。 浏览器在浏览器中开始: PDFium 靴子装入 Web Worker in the 背景,第一页显示文档打开后立即显示。 引擎的Web大会是 从您所在的站点开始的建筑和负载部分;见 设置。 。 。 .

*epdfDocumentGate 显示其 fallback 直到文档打开为止,所以舞台永远不会变成 没有一个.

每个插件

每个插件为一导入行 。 注册插件并导入其组件来自 同一个地方:

插件它给你什么从
阶段滚动、缩放、布局、页面导航@embedpdf/angular/stage
渲染器每个缩放、深角瓦片的清晰页@embedpdf/angular/render
链接可点击的网页和网站链接@embedpdf/angular/link
选择选择和复制文本@embedpdf/angular/selection
搜索查找文本, 并显示每个匹配@embedpdf/angular/search
说明突出显示、注解、形状、自由文本和你自己的工具@embedpdf/angular/annotation
邮票邮票图书馆,通过点击或编码放置@embedpdf/angular/stamp
计量实际规模的距离、周边和地区@embedpdf/angular/measurement
编辑永远删除内容@embedpdf/angular/redaction
表单填充和建造PDF表格@embedpdf/angular/form
签署签署文件和检查签名@embedpdf/angular/signature
页面编辑旋转、重排、插入和删除页面@embedpdf/angular/page-edit
元数据文件的标题、作者和您自己的字段@embedpdf/angular/metadata
字体文档的字体可以写入, 绘制为引擎写入的字体@embedpdf/angular/fonts
大纲文档的大纲(其书签),用于显示、跟踪和编辑@embedpdf/angular/outline
附录包含 PDF 文件: 列出、保存、附加和删除@embedpdf/angular/attachment
行动PDF 本身做什么:按钮、脚本、打印@embedpdf/angular/actions
查看管理器几个文件并存@embedpdf/angular/view-manager
互动活动工具、光标和触摸@embedpdf/angular/interaction
图标用标签、图标和快捷键命名动作@embedpdf/angular/commands
贝壳打开哪些面板、对话框和菜单@embedpdf/angular/shell
翻译您的用户语言UI@embedpdf/angular/i18n

文档

  • 快开始: 一步一步地构建一个PDF取景器,其中包含文本选择,缩放按钮,亮点和保存按钮.
  • 设置:服务器侧渲染,捆绑,字体,并亲自主持引擎.
  • 如何运作:插件,你的用户界面如何与它们交谈,层层,以及哪个组件的谈话文件.
  • 滚动、缩放和布局:布局,缩放模式,页面导航和触摸.

许可证

阿帕奇 - 2.0

版本与发布记录

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

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

关于 @embedpdf/angular 的常见问题

@embedpdf/angular 是什么?

用 EmbedPDF 构建自己的 PDF 查看器的角服务和组件 .

如何安装 @embedpdf/angular?

在项目目录运行 npm install @embedpdf/angular,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:rxjs(^7.4.0)、@angular/core(>=20.2.0 <23.0.0)、@angular/common(>=20.2.0 <23.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@embedpdf/angular 支持 TypeScript 吗?

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

@embedpdf/angular 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@embedpdf/angular 可以商用吗?

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

@embedpdf/angular 的下载量有多少?

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

@embedpdf/angular 还在维护吗?

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