# bookcover-node 中文文档

规范地址：https://npmcn.com/package/bookcover-node/

版本：0\.24\.0
npm 元数据更新时间：2026-11-03T04:33:50.521Z
中文译文更新时间：2026-11-03T06:04:47.908Z
软件包许可：MIT-0

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

原始 npm 页面：https://www.npmjs.com/package/bookcover-node
原文对照：https://npmcn.com/package/bookcover-node/?lang=original
项目主页：https://github.com/gracious-tech/bookcover/tree/main/generator-node#readme
源码仓库：https://github.com/gracious-tech/bookcover

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

- 包体积（解压后）：19.4 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-07-16T12:02:11.498Z
- 最新版本发布：2026-11-03T04:33:50.353Z
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

生成印刷就绪的书籍封面。部分 [封套](https://github.com/gracious-tech/bookcover) 一代系统。

## 安装

```sh
npm install bookcover-node
```

也可以使用：`pnpm add bookcover-node`、`yarn add bookcover-node`、`bun add bookcover-node`

## README

# bookcover-node

生成印刷就绪的书籍封面。部分 [封套](https://github.com/gracious-tech/bookcover) 一代系统。

```
npm install bookcover-node
```

[![Example cover](https://npmcn.com/package/sample.svg)](https://npmcn.com/package/sample.pdf "View example PDF")

这是书封面生成器的Node.js包装器。将文件写入临时目录； 产生的 [typst](https://typst.app/) CLI二进制文件，并回读编译后的输出。

需要 [`typst`](https://typst.app/) 在 `$PATH`.

## 看到 [模式参考](https://github.com/gracious-tech/bookcover/blob/main/generator/README.md) 这是作为参数传递的，它实际上配置了封面设计。

```ts
import {generate} from 'bookcover-node'
```

## `generate(options): Promise<GenerateResult>`

```ts
interface GenerateOptions {
    schema: unknown              // raw schema (see above)
    input_path: string           // directory to search for background image
    output_path: string          // where to write the output file
    format?: 'pdf'|'svg'|'png'  // default: 'pdf'
    ppi?: number                 // PNG resolution, default: 144
    split?: boolean              // also write front/back/spine panel files
    pdf_pages?: boolean          // PDF: front and back pages (no spine), bleed all round
    assets_dir?: string          // root of the assets tree (see "Assets" below)
    fonts_dir?: string           // fonts tree if kept elsewhere, default: <assets_dir>/fonts
    typst_path?: string          // typst CLI binary, default: 'typst' from $PATH
    custom_fonts?: CustomFont[]  // user-uploaded font families (from typst-fonts)
    // Filename of the built-in background the image is (e.g. 'beach.jpg') — colors come from its
    // baked data, whichever copy of it is in input_path
    image_builtin?: string
}

interface GenerateResult {
    output_path: string
    split_paths?: {front: string, back: string, spine?: string}
}
```

## 资产

Typst模板被捆绑在里面 `bookcover-core` 本身（绑到确切的安装） 版本-不需要设置)。生成仍然需要本地字体集合，而本地字体集合不需要 在NPM包中发布。设置它一次，并将其路径传递为 `assets_dir` (或 `fonts_dir` 直接):

```bash
# Fonts — download the curated families + Noto fallbacks named by the repo's font config
curl -O https://raw.githubusercontent.com/gracious-tech/bookcover/main/font_config.json
npx typst-fonts-download --fonts assets/fonts --config font_config.json
```

这将产生预期的布局：

```
assets/
    fonts/      manifest.json, <family>/, _noto/<family>/
```

在 [封套回购](https://github.com/gracious-tech/bookcover) 本身 `assets_dir` 可以省略-它默认是回购自己的 `assets/` dir。

### 例子

```ts
import {generate} from 'bookcover-node'

await generate({
    schema: {
        title1: 'My Book',
        author: 'Jane Doe',
        page_count: 200,
        printer: {service: 'kdp', binding_type: 'paperback', ink_type: 'bw', paper_type: 'white'},
        size_id: 'us_trade',
    },
    input_path: '.',
    output_path: './cover.pdf',
    assets_dir: './assets',
})
```

## 常见问题

### bookcover-node 是什么？

生成印刷就绪的书籍封面。部分 封套 一代系统。

### 如何安装 bookcover-node？

在项目目录运行 npm install bookcover-node，或使用 pnpm add / yarn add / bun add。

### bookcover-node 支持 TypeScript 吗？

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

### bookcover-node 支持 ESM 还是 CommonJS？

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

### bookcover-node 可以商用吗？

bookcover-node 使用 MIT-0 许可。声明的许可为 MIT-0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### bookcover-node 还在维护吗？

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

