知网 CAJ 转 PDF
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1650116b/caj-to-pdf。
技能介绍
要解决什么问题
在国内做文献阅读时,知网导出的 .caj 往往无法在普通 PDF 阅读器里直接打开,也无法复制正文。老格式 KDH、外层包装的 PDF,以及页面以图像元素存储的 HN/C8,处理方式各不相同;批量下载后若逐个手动转换,既慢又容易漏掉失败文件。
技能如何工作
本技能在目录内 bundled caj2pdf,通过 scripts/convert.py 完成转换,并用 pymupdf 替代外部 mutool CLI 做 PDF 结构修复与扫描检测。典型流程是:
- 运行
scripts/setup_check.py确认 PyPDF2、imagesize、pymupdf 等依赖是否就绪; - 对单文件、目录或 glob 批量执行转换,必要时用
--info只看格式信息、用--no-toc排查目录相关失败; - 转换结束后脚本会标注
[文字可选中]或[扫描版/图像型],批量模式还会汇总成功/失败数并列出失败文件名。
常见输入与输出对应关系如下:
| 格式 | 说明 | 输出倾向 |
|------|------|----------|
| CAJ / KDH / 包装 PDF | 内嵌或可解密的 PDF | 尽量 文字可选中 |
| HN/C8 | 页面元素图像存储 | 图像型 PDF(需 OCR 才能编辑文字) |
HN/C8 依赖 bundled 的 libjbigdec-w64.dll;DLL 不可用时仍会走页面图像提取,但结果仍是扫描型 PDF。
适用边界与注意点
- 加密/DRM 或严重损坏的 CAJ 可能转换失败,需单独
--info排查。 - HN/C8 不会产出可选中文本,这是格式本身限制,不是脚本 bug。
- 脚本支持 UTF-8 中文路径;若遇权限或路径问题,先确认读写目录再重试。
- 技能采用 GPL-3.0;CAJ 为知网专有格式,对外发布或再分发时需自行对照知网服务条款与平台政策。
使用场景
- 从知网批量下载的 `.caj` 需在本地统一转成 PDF,再导入 Zotero 等工具做标注与引用。
- 导师或合作者提供的旧版 `.kdh` 在常规阅读器无法打开,需解包为可选中文本的 PDF 供摘录。
- 批量转换后根据输出里的 `[文字可选中]` 或 `[扫描版/图像型]` 决定直接复制正文还是先做 OCR。
- 处理 HN/C8 等扫描型知网文件,需要稳定产出图像型 PDF 以便归档或接入 PaddleOCR 等识别流程。
适合人员
- 撰写学位论文、经常从知网导出 CAJ/KDH 参考文献并要在 PDF 里划词摘录的硕博研究生
- 负责将读者或同事提交的知网附件标准化为通用 PDF 的高校馆员、资料管理员
- 整理行业/政策研报、需把客户提供的 CAJ 批量转成可邮件转发 PDF 的研究助理或咨询分析师
- 维护文献处理脚本、需根据批量失败文件名排查加密、损坏或路径问题的数据/运维工程同学