/install html2pdf
Overview
This skill converts an HTML file to PDF using Puppeteer (headless Chromium), exactly how atypica exports its AI research reports. Two modes are supported:
| Mode | When to use |
|---|---|
| Single-page (default) | Design/report pages meant to look like one tall poster — no page breaks. Full-width at 1440 px. |
| Paginated | Documents meant to be printed or read page-by-page (A4, Letter, etc.). |
Quickstart (3 steps)
# 1. Copy the bundled scripts to a working directory
cp \x3Cskill-dir>/scripts/html-to-pdf.js ./
cp \x3Cskill-dir>/scripts/package.json ./
# 2. Install the only dependency (downloads Chromium automatically, ~170 MB, one-time)
npm install
# 3. Run
node html-to-pdf.js report.html report.pdf
\x3Cskill-dir> is the directory that contains this SKILL.md file.
Note:
npm install puppeteer(~170 MB) downloads a pinned Chromium binary. This is the only install step — no system Chrome, no wkhtmltopdf, no separate server needed. If the environment already has Puppeteer installed, skip step 2.
Command reference
node html-to-pdf.js \x3Cinput.html> \x3Coutput.pdf> [options]
Options:
--paginated A4-paginated mode (respects @media print, page-breaks)
--format \x3Cfmt> Page format: A4 (default), A3, Letter, Legal
--width \x3Cpx> Viewport width for single-page mode (default: 1440)
--wait \x3Cms> Extra milliseconds to wait after page load (for JS-rendered content)
--header-footer Add page-number footer in paginated mode
Examples
# Single-page full-height (atypica report style)
node html-to-pdf.js report.html report.pdf
# A4 paginated document
node html-to-pdf.js document.html document.pdf --paginated
# A4 with page numbers
node html-to-pdf.js document.html document.pdf --paginated --header-footer
# Narrower single-page layout
node html-to-pdf.js report.html report.pdf --width 1280
# Wait 2 s for JavaScript-rendered charts
node html-to-pdf.js dashboard.html dashboard.pdf --wait 2000
How it works (mirrors atypica's browser service)
- Launches headless Chromium via Puppeteer with sandbox disabled and CJK font hints enabled.
- Loads the HTML from a
file://URL so relative assets (images, local CSS) resolve correctly. - Injects system-font CSS to ensure Chinese/Japanese/Korean characters render on any OS.
- Single-page mode: measures
document.body.scrollHeight, sets viewport to that height, and generates a single-page PDF at that exact size — no clipping, no page breaks. - Paginated mode: injects
@media printCSS for clean page-breaks, then generates a standard-format paginated PDF. - Writes the PDF buffer to the output path.
Handling common issues
| Problem | Fix |
|---|---|
Chromium not found after npm install puppeteer |
Run npx puppeteer browsers install chrome |
| Missing system fonts / boxes instead of CJK chars | Inject works for most cases; for guaranteed rendering install fonts-noto-cjk (Linux) or ensure macOS system fonts are accessible |
| JavaScript-rendered content missing | Add --wait 2000 (or more) to let JS execute after load |
| Images not loading | Make sure image src paths are relative to the HTML file location |
| PDF cut off at bottom | The script auto-measures height; if content loads lazily add --wait |
--no-sandbox error in strict container |
Puppeteer requires --no-sandbox in Docker/CI; this flag is already set |
Dependency notes
- Node.js ≥ 18 required (≥ 20 recommended)
puppeteeris the onlynpmdependency — it self-contains Chromium- No global Chrome installation needed
- Works on macOS, Linux, and Windows (WSL)
- In CI/Docker, add
--disable-dev-shm-usage(already included in the script)
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install html2pdf - 安装完成后,直接呼叫该 Skill 的名称或使用
/html2pdf触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
html-to-pdf 是什么?
Convert an HTML file to a PDF using headless Chrome (Puppeteer) — the same approach atypica uses for its AI-generated research reports. Use this skill whenev... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 107 次。
如何安装 html-to-pdf?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install html2pdf」即可一键安装,无需额外配置。
html-to-pdf 是免费的吗?
是的,html-to-pdf 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
html-to-pdf 支持哪些平台?
html-to-pdf 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 html-to-pdf?
由 owenrao(@owenrao)开发并维护,当前版本 v1.0.0。