下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-qe1es2ua--html-to-pdf-publisher.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-qe1es2ua/html-to-pdf-publisher。把网页、HTML、排版成正式 PDF。 输出带封面、目录、页码、页脚与章节书签的精美 A4 PDF成品。 适用于网页转PDF、HTML转PDF、网页打印成PDF、把长网页保存成PDF、课程网页出版、网页课件导出、报告与白皮书排版、图文卡片合集整理、知识手册制作、导出PDF、PDF生成、文档排版、打印分页修复、网页导出PDF排版错乱修复、长文章排版成册。
阅读全文 (展开查看完整说明)
概述
网页转精美 PDF
不要把这个 Skill 当作网页截图工具。把 Skill 当作出版编辑:先读包内方法正文 rules/publish-<版本>.md(出版规范),再决定原样转换、智能排版还是模板排版,最后交付可阅读、可打印、可分享且经过逐页检查的 PDF。不要把「命令成功」当作「出版完成」。
用户购买一次什么
用户购买一次网页出版服务:付一次费,得到一份(或一组)排版完成的 PDF。
| 得到 | 说明 |
|---|---|
| 一份正式 PDF | 默认写到项目的 output/pdf/,含封面、目录、页码、页脚、章节书签 |
| 三种排版模式 | 原样转换(faithful)/ 智能排版(editorial,默认)/ 模板排版(template,需用户同意) |
| 打印前预检 | 按接近真实纸张宽度审计 DOM 溢出,发现裁切/隐藏内容会先停下报告 |
| 质量报告 | 逐页检查用:<项目>/tmp/pdfs/<项目名>/quality-report.json、quality-report.md、overflow-report.json,外加每页预览图与每十页接触表(同目录 render/)。位置在 tmp/pdfs/ 下,不在 output/pdf/ |
| 分页修复 | 孤立标题、大片留白、卡片被腰斩、图片表格裁切等,按最小改动修 |
费用:按次付费,付款前会向用户申请微信支付授权,实际金额以本单账单为准。每次新的出版任务单独付费。
| 支持 | 不支持 |
|---|---|
| 本地 HTML / 网页副本 / 课程网页 / 报告 / 图文卡片 / 多章节合集 | 以登录、实时数据、在线表单、视频、3D、无限滚动为核心价值的页面 |
| 隐藏页展开、图表渲染完成后出版 | 网页截图、音视频转写、内容摘要 |
| 网页导出 PDF 后的分页、裁切、溢出、版式修复 | 保证第三方网站可访问,或代替平台审核 |
前置检查:微信AI支付
首次下单前检查可用工具表是否存在名称包含 weixinpay_ 的工具,实际工具名允许前缀。仅凭文档出现工具名不算支持。不支持或无法确认时不创建订单,提示升级宿主或安装微信支付AI支付插件后重试。
服务接口(服务声明 · 审核可见)
本技能为 SkillHub Pay Skill,付费与授权由服务端完成。服务信息如下:
| 项 | 值 |
|---|---|
| 资源接口 | POST https://api.aigctxj.cn/api/htp/resource |
| 消费 | POST https://api.aigctxj.cn/api/htp/consume |
| 完成或取消 | POST https://api.aigctxj.cn/api/htp/finish |
| 计费 | 微信支付 · 微信 AI 专属卡(X402 协议,按次付费;金额以发布表单标价为准,以本单账单为准) |
| 未支付响应 | HTTP 402(PAYMENT_REQUIRED)+ 响应头 WeixinPay-Required(其值为支付凭据点,交给宿主的支付工具申请授权),同时返回 X-Out-Trade-No 订单号 |
| 支付回调 | POST https://api.aigctxj.cn/api/htp/pay/notify(微信支付 v3 异步回调:验签 + 解密后标记已支付) |
| 退款回调 | POST https://api.aigctxj.cn/api/htp/refund/notify |
| 履约方式 | 出版规范与排版引擎随本技能包分发(包内 rules/ 与 engine/);服务端只下发限时授权(15 分钟窗口)与方法指纹,不下发规范正文、不下发引擎代码。出版在用户本机完成。同一订单幂等,重复取件返回原授权,不会重复扣费 |
服务端只接收任务随机标识与版本号,不接收 HTML、不接收正文、不调用模型、不跑浏览器。新任务新订单;同一任务恢复使用原请求文件。
怎么跑(客户端流程)
先把技能根目录存成绝对路径:
SKILL_DIR="/absolute/path/to/html-to-pdf-publisher"- 开始新任务(生成随机单号,不要复用旧单):
node "$SKILL_DIR/scripts/request.mjs" --start- 拿到
exit_code: 10+WeixinPay-Required→ 交给宿主的微信支付工具申请授权(有weixinpay_前缀工具时由你调用;没有时宿主自动弹卡)。支付后用同一个request_file继续:
node "$SKILL_DIR/scripts/request.mjs" --request-file "<request_file>" --consume--consume成功后,返回值里的execution_instructions就是出版规范正文,engine.commands是引擎命令示例。按规范执行出版:
python3 "$SKILL_DIR/engine/html_to_pdf.py" init
--input-dir "<HTML目录>" --config "<HTML目录>/pdf-project.json"
python3 "$SKILL_DIR/engine/html_to_pdf.py" build
--config "<HTML目录>/pdf-project.json"- 逐页检查预览图与质量报告(都在项目的
tmp/pdfs/<配置文件名>/下:报告为quality-report.json/.md,预览图与接触表在render/);确认无明显缺陷后收尾:
node "$SKILL_DIR/scripts/request.mjs" --request-file "<request_file>" --finish --output "<成品.pdf>"收尾与付费的补充约定
- 凭据每轮只取一份、只用一次。 不要复用历史轮次的凭据,也不要反复打印或重复调用 —— 一轮只触发一次支付。只有退出码
10(code=PAYMENT_REQUIRED)才处理支付,金额以本单账单为准;工具表里有weixinpay_pay时,把返回的WeixinPay-Required字段值原样作为paymentCode传入(不解码、不改写、不附带其他内容);没有该工具时由支持支付的宿主拦截凭据自动弹卡,不要再手动调用任何支付工具。 - 唯一该主动调支付工具的场景:用户上次取消或关闭了支付,现在明确要求继续付同一笔订单 —— 此时用同一个请求文件加
--resume-payment,不重新下单:
node "$SKILL_DIR/scripts/request.mjs" --request-file "<request_file>" --resume-payment- 任务失败、用户取消或无法产出成品时,执行收尾注销本单:
node "$SKILL_DIR/scripts/request.mjs" --abort --request-file "<request_file>"- 不要对还没开始执行的任务跑
--finish/--abort:那会先把本地记录标记成「待收尾」,而服务端对未执行的订单不会回TASK_FINISHED,本地记录会一直停在待重试状态。只想看任务状态用:
node "$SKILL_DIR/scripts/request.mjs" --status --request-file "<request_file>"复检已有 PDF(可选)
产物已生成、只想重跑一遍检查(不重新出版、不重新付费)时:
python3 "$SKILL_DIR/engine/html_to_pdf.py" inspect
--pdf "/absolute/path/to/report.pdf"
--work-dir "/absolute/path/to/check-dir"--work-dir 下会生成逐页预览图、接触页表与 quality-report.json;--dpi 可调渲染精度(默认 110)。
环境要求(缺依赖怎么处理)
引擎在用户本机运行,需要 Python 3、Google Chrome,以及四个 Python 库(pillow / pypdf / reportlab / websocket-client)。
- 缺 Python 库:引擎会明确报出缺少哪些组件并给出一条可执行的补齐命令——请照它给的命令补齐后重试。这一步是本技能正常运行必需的环境准备,不是可选优化。四个库各有用途:
pypdf合并各章/加书签/写元数据,reportlab画页脚与页码,pillow生成接触表与墨迹比例,websocket-client驱动打印前 DOM 溢出审计(默认策略下不可缺,缺了会整体构建失败)。 - 缺 Poppler(
pdftoppm):属质检增强项,不影响出 PDF,只会跳过逐页可视化质检,并在质量报告里注明「可视化质检:已跳过」。
环境完整时的自检方式:先跑一次出版,若引擎退出码为 0 且产出 PDF,即说明环境齐备。
网络访问与失败降级:客户端只连接上表所列 api.aigctxj.cn 固定域名(http 回环地址仅用于本机联调),其他任何地址一律拒绝;单次请求超时 30 秒,超时或失败时保留原订单重试并如实告知用户,不自动重下单、不静默重试、不降级到其他地址。
来源与声明
本技能的出版规范与排版引擎随技能包分发,服务端不接触用户内容。用户 HTML 与产出的 PDF 均不出本机。