# @cantoo/html2canvas 中文文档

规范地址：https://npmcn.com/package/%40cantoo/html2canvas/

版本：1\.5\.9
npm 元数据更新时间：2026-05-05T16:23:49.783Z
中文译文更新时间：2026-11-09T08:55:56.382Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cantoo/html2canvas
原文对照：https://npmcn.com/package/%40cantoo/html2canvas/?lang=original
项目主页：https://html2canvas.hertzen.com/
源码仓库：https://github.com/cantoo-scribe/html2canvas

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.3 MB，417 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=8\.0\.0
- 运行依赖：2 个
- 首次发布：2023-08-31T00:16:45.922Z
- 最新版本发布：2024-03-13T13:45:44.326Z
- 近 30 天下载量：3214（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

带有 JavaScript 的屏幕截图

## 安装

```sh
npm install @cantoo/html2canvas
```

也可以使用：`pnpm add @cantoo/html2canvas`、`yarn add @cantoo/html2canvas`、`bun add @cantoo/html2canvas`

## README

# html2 扫描仪

[主页](https://html2canvas.hertzen.com/) | [下载](https://github.com/niklasvh/html2canvas/releases) | [问 题](https://github.com/niklasvh/html2canvas/discussions/categories/q-a)

[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/niklasvh/html2canvas?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ![CI](https://github.com/niklasvh/html2canvas/workflows/CI/badge.svg?branch=master) [![NPM Downloads](https://img.shields.io/npm/dm/html2canvas.svg)](https://www.npmjs.org/package/html2canvas) [![NPM Version](https://img.shields.io/npm/v/html2canvas.svg)](https://www.npmjs.org/package/html2canvas)

#### JavaScript HTML 渲染器

脚本允许您直接在用户浏览器上取取网页或部分内容的"截图". 截图基于DOM,因此可能不完全准确到真实的表示,因为它没有做出实际的截图,而是根据页面上可获得的信息来构建截图.

### 怎么会这样?

脚本通过阅读DOM和应用于元素的不同样式,使当前页面成为画布图像.

没错 **不需要从服务器获取任何渲染**,因为整个图像是在 **客户端的浏览器**然而,由于它严重依赖于浏览器,所以这个库是 _不适宜_ 用于节点. 它也没有神奇地绕过任何浏览器内容政策限制,所以渲染出跨源内容将需要一个 [代理服务器](https://github.com/niklasvh/html2canvas/wiki/Proxies) 以获取内容 [来源相同](http://en.wikipedia.org/wiki/Same_origin_policy)。 。 。 .

剧本还在 **非常实验状态**,所以我不建议在生产环境中使用它,也不开始使用它来建造应用程序,因为仍然会有重大的改变.

### 浏览器兼容性

库应该对下列浏览器进行精细操作(使用 `Promise` 多边填充 :

-   Firefox 3.5+ (英语)
-   谷歌颜色
-   第12号歌剧院+
-   IE9 + 软件
-   萨法里6+

由于每个CSS属性需要手动构建才能被支持,因此有一些属性尚未被支持.

### 使用量

Html2canvas 图书馆使用 `Promise`s 并期望在全球范围内提供。 如果你想的话 支助 [旧浏览器](http://caniuse.com/#search=promise) 不属于本地支持的 `Promise`s,请包括一个多填充器,例如: [es6 保证](https://github.com/jakearchibald/es6-promise) 包含之前 `html2canvas`。 。 。 .

制作一个 `element` 使用html2canvas,只需拨打: `html2canvas(element[, options]);`

函数返回 a [答应](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) 内含 `<canvas>` 键。 只需要在承诺中加入一个承诺实现者 `then`数字 :

```
html2canvas(document.body).then(function(canvas) {
    document.body.appendChild(canvas);
});
```

### 大楼

您可以下载已建立 [这里](https://github.com/niklasvh/html2canvas/releases)。 。 。 .

克隆基特仓库 :

```
$ git clone git://github.com/niklasvh/html2canvas.git
```

安装依赖性 :

```
$ npm install
```

构建浏览器捆绑

```
$ npm run build
```

### 实例

详情和例子请访问 [主页](https://html2canvas.hertzen.com/) 或尝试 [测试控制台](https://html2canvas.hertzen.com/tests/)。 。 。 .

### 捐款

如果您希望为该项目捐款,请将拉动请求发送给开发分支. 在提交任何更改之前,尝试并测试这些更改是否与所有支持浏览器一起工作. 如果一些 CSS 属性没有支持或不完整,请在提交任何代码更改之前建立相应的测试.

## 常见问题

### @cantoo/html2canvas 是什么？

带有 JavaScript 的屏幕截图

### 如何安装 @cantoo/html2canvas？

在项目目录运行 npm install @cantoo/html2canvas，或使用 pnpm add / yarn add / bun add。

### @cantoo/html2canvas 支持 TypeScript 吗？

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

### @cantoo/html2canvas 支持 ESM 还是 CommonJS？

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

### @cantoo/html2canvas 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=8\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cantoo/html2canvas 可以商用吗？

@cantoo/html2canvas 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cantoo/html2canvas 的下载量有多少？

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

### @cantoo/html2canvas 还在维护吗？

最新版本 1\.5\.9 发布于 2024/03/13（2 年前）；至今共发布 11 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/08/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

