@cloudpdf/viewer

中文文档
3.1.0发布于 2026/11/09Apache-2.0TypeScriptES Module近 30 天下载 2245

The open-source EmbedPDF viewer with the CloudPDF engine as its default: , init() and every framework wrapper's names, pages rendered on CloudPDF SaaS or your own @cloudpdf/server, the local engine loaded only when stamps need it. dist/cl

原始使用文档

@cloudpdf/viewer

The full EmbedPDF viewer with the CloudPDF engine as its default: the same <embedpdf-viewer> element and init() as @embedpdf/viewer, whose documents live on CloudPDF (the SaaS, or your own @cloudpdf/server). Opening and reading a document is HTTPS API traffic only. The one exception is stamps: a stamp library is a PDF cut into stamps in the browser, so the first time someone opens Stamps or Signatures the viewer loads the local engine (embedpdf.wasm, shipped in the same folder). Pass plugins: { stamp: { assetEngine } } to supply your own.

Usage

<embedpdf-viewer id="viewer" style="height: 100vh"></embedpdf-viewer>

<script type="module">
  import 'https://cdn.jsdelivr.net/npm/@cloudpdf/viewer@3/dist/cloudpdf.js';

  document.getElementById('viewer').src = { grant: 'grt_…' };
</script>

A cloud document isn't a URL, so it's given from script, not as an attribute. Or create the viewer from script:

import CloudPDF from 'https://cdn.jsdelivr.net/npm/@cloudpdf/viewer@3/dist/cloudpdf.js';

CloudPDF.init({ target: '#viewer', src: { token: '<document token>' } });

src is the document: { token } with a document token your backend creates for the user (a string, or a function that gives a fresh one), { id } when the engine's own token already allows it, or { grant } with a grant from the dashboard. Another src opens in its place. For several documents at once, pass documents: entries of { src, name, password, active }.

The viewer connects to CloudPDF SaaS (https://engine.cloudpdf.com). Your own @cloudpdf/server goes in the engine's settings: engine: { baseUrl: 'https://pdf.example.com' }, with the engine's own token and fetch beside it.

Every customization option of the open-source viewer (the layout, commands, icons, themes, languages) rides along verbatim; see the EmbedPDF docs for the vocabulary.

From npm instead of the CDN:

npm install @cloudpdf/viewer
import CloudPDF from '@cloudpdf/viewer';

License

Apache-2.0 — see LICENSE.

Everything CloudPDF ships to a browser is open source; everything that runs on a server is commercial. This artifact is browser-side, so it is Apache-2.0 — as are the viewer chrome and engine interfaces it is built on, from the EmbedPDF open-source project. Rendering happens on a CloudPDF deployment (the SaaS, or a self-hosted @cloudpdf/server under a separate written agreement), which is the commercial part.

版本与发布记录

@cloudpdf/viewer 共发布 32 个版本,首次发布于 2022/08/16;过去 12 个月发布了 26 个版本。

版本发布日期距今
3.1.0latest2026/11/091 天前
3.0.02026/11/073 天前
3.0.0-next.23next2026/11/073 天前
3.0.0-next.222026/11/045 天前
3.0.0-next.212026/11/036 天前
3.0.0-next.202026/11/037 天前

关于 @cloudpdf/viewer 的常见问题

@cloudpdf/viewer 是什么?

The open-source EmbedPDF viewer with the CloudPDF engine as its default: , init() and every framework wrapper's names, pages rendered on CloudPDF SaaS or your own @cloudpdf/server, the local engine loaded only when stamps need it. dist/cl

如何安装 @cloudpdf/viewer?

在项目目录运行 npm install @cloudpdf/viewer,或使用 pnpm add / yarn add / bun add。

@cloudpdf/viewer 支持 TypeScript 吗?

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

@cloudpdf/viewer 支持 ESM 还是 CommonJS?

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

@cloudpdf/viewer 可以商用吗?

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

@cloudpdf/viewer 的下载量有多少?

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

@cloudpdf/viewer 还在维护吗?

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