# @camptocamp/inkmap 中文文档

规范地址：https://npmcn.com/package/%40camptocamp/inkmap/

版本：2\.0\.0
npm 元数据更新时间：2025-09-10T12:34:56.369Z
中文译文更新时间：2026-11-09T00:39:33.812Z
软件包许可：SEE LICENSE IN LICENSE\.txt

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

原始 npm 页面：https://www.npmjs.com/package/%40camptocamp/inkmap
原文对照：https://npmcn.com/package/%40camptocamp/inkmap/?lang=original
项目主页：https://github.com/camptocamp/inkmap#readme
源码仓库：https://github.com/camptocamp/inkmap

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

- 包体积（解压后）：10.4 MB，32 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：8 个
- 首次发布：2021-02-18T10:34:42.547Z
- 最新版本发布：2025-09-10T12:34:56.142Z
- 近 30 天下载量：2712（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

用于在浏览器中生成可打印,高品质地图的库.

## 安装

```sh
npm install @camptocamp/inkmap
```

也可以使用：`pnpm add @camptocamp/inkmap`、`yarn add @camptocamp/inkmap`、`bun add @camptocamp/inkmap`

## README

**墨水图**,用于在浏览器中生成高分辨率地图的库

##### [现场演示!](https://camptocamp.github.io/inkmap/main/)

## 导言

**墨水图** 是基于 [打开标签](https://www.openlayers.org/) ,并将根据给定的JSON规格生成PNG格式的地图.

**墨水图** 可以处理长期运行的工作(例如300 dpi中的A0格式)并提供一个跟踪工作进度的API. 在用户浏览器支持的情况下,它使用背景中的服务人员 [屏幕外凸起](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas),如果没有,则会无缝地倒回主线.

请注意: **墨水图** 已完全获得 [法国生态环境部](https://www.ecologie.gouv.fr/) 作为其笛卡尔网络绘图工具箱的一部分,在此托管: [https://adullyact.net/projects/descartes/ 互联网档案馆的存檔,存档日期2013-12-02](https://adullact.net/projects/descartes/)

## 使用量

### 基础

要将图书馆纳入您的项目:

```bash
$ npm install --save @camptocamp/inkmap
```

然后从 `inkmap` 软件包 :

```js
import { print, downloadBlob } from '@camptocamp/inkmap';

print({
  layers: [ ... ],
  projection: 'EPSG:4326',
  ...
}).then(downloadBlob);
```

### 高级

**墨水图** 通过使用由监察员提供的可观察设备,提供高级工作监测 [rxjs (韩语)](https://rxjs.dev/) 图书馆.

可观察者与应许是不同的,因为他们能爽约 _多个值_ 而不是仅仅一个,而且非常适合进度报告.

使用可观察的,简单地叫它 `subscribe()` 作为参数的函数。 此函数在新值释放时会被称为, 例如 :

```js
import { getJobStatus } from '@camptocamp/inkmap';

...

getJobStatus(jobId).subscribe((jobStatus) => {
  // do something with the status
});
```

请注意: _长寿可观察者_ (即永远无法完成的可观察者) `unsubscribe()` 当释放的值不再需要时。 开放订阅可观察器可能会造成内存出漏.

### 扶持服务人员

**墨水图** 能够 _并将_ 如果有机会,请使用专门的服务人员从事印刷工作。 这提供了以下条件: 优点 :

-   任务运行在一个单独的线程中, 意味着用户导航不会受到任何 CPU 密集型任务的影响
-   服务员没有绑定在窗口或标签上,因此在标签被关闭时(甚至浏览器被关闭时,视平台而定)工作会继续运行
-   当打印工作完成( 尚未执行) 时, 可能会向用户发送按压通知

**为了实现这一点 `inkmap-worker.js` 位于 `dist` 文件夹必须在与应用程序相同的路径上发布 使用墨水图**。 。 。 .

工人档案可以使用符号链接或实际复制文件的方式发布,例如在应用程序构建管道中.

如果使用 Webpack 来构建应用程序,一个解决方案就是使用 [复制 Webpack Plugin 软件包](https://webpack.js.org/plugins/copy-webpack-plugin/)数字 :

```js
export default {
  ...
  plugins: [
     new CopyWebpackPlugin([
       {
         from: 'node_modules/@camptocamp/inkmap/dist/inkmap-worker.js',
         to: 'dist'
       },
     ]),
  ],
  ...
}
```

## API 密码

重要注意: 所有 API 函数都命名为来自 `inkmap` 软件包.

见 [API 文档](https://camptocamp.github.io/inkmap/main/docs/) 网站.

## 建筑

在引擎盖下, `inkmap` 将尝试在它被命名的页面上安装一个服务员。 然后由服务员负责 将所有映射图像和数据装入,将它们组合在一起,并返回应用程序代码.

## 捐款

见 [捐款](https://npmcn.com/package/%40camptocamp/inkmap/CONTRIBUTING.md)。 。 。 .

## 许可证

[塞科尔-C](https://cecill.info/licences/Licence_CeCILL-C_V1-en.txt)

## 常见问题

### @camptocamp/inkmap 是什么？

用于在浏览器中生成可打印,高品质地图的库\.

### 如何安装 @camptocamp/inkmap？

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

### @camptocamp/inkmap 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/camptocamp\_\_inkmap 是否存在。

### @camptocamp/inkmap 支持 ESM 还是 CommonJS？

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

### @camptocamp/inkmap 需要什么版本的 Node\.js？

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

### @camptocamp/inkmap 可以商用吗？

@camptocamp/inkmap 使用 SEE LICENSE IN LICENSE\.txt 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @camptocamp/inkmap 的下载量有多少？

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

### @camptocamp/inkmap 还在维护吗？

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

