- release.yml 便携包离线预装 钉钉/飞书中国版/企业微信 插件(借鉴 openclaw-china 生态) - config-server 新增 /api/local-models:自动探测 Ollama/LM Studio 本地模型(借鉴 RealShocky/openclaw-windows) - Config.html 检测到本地模型自动生成卡片、免 Key 点选即用;新增钉钉渠道卡片 - skills-cn 新增 pdf-toolkit/web-to-markdown/qrcode-maker/image-compress(13→17) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
name, description, metadata
| name | description | metadata | ||||
|---|---|---|---|---|---|---|
| pdf-toolkit | PDF 工具箱 - 合并/拆分/提取文字/转图片,纯命令行处理本地 PDF |
|
PDF 工具箱
帮用户对本地 PDF 文件做常见处理:合并、拆分、提取文字、转图片。优先用系统已有工具,
没有就用 Python 的 pypdf(轻量纯 Python,必要时 pip install pypdf 自动安装)。
能力概述
- 合并:把多个 PDF 拼成一个
- 拆分:按页拆成多份,或抽取指定页
- 提取文字:把 PDF 内容导出成纯文本,便于总结/检索
- 页数/信息:查看 PDF 总页数、元信息
操作方式
用 Bash 工具执行。下面以 pypdf 为例(跨平台、无需 Office/Acrobat):
# 确保依赖(仅首次,已装会秒过)
python -c "import pypdf" 2>/dev/null || pip install -q pypdf
# 合并 a.pdf b.pdf -> merged.pdf
python - <<'PY'
from pypdf import PdfWriter
w = PdfWriter()
for f in ["a.pdf", "b.pdf"]:
w.append(f)
w.write("merged.pdf"); w.close()
print("已合并 -> merged.pdf")
PY
# 提取全部文字
python - <<'PY'
from pypdf import PdfReader
r = PdfReader("input.pdf")
print("\n".join((p.extract_text() or "") for p in r.pages))
PY
# 抽取第 1-3 页 -> sub.pdf
python - <<'PY'
from pypdf import PdfReader, PdfWriter
r = PdfReader("input.pdf"); w = PdfWriter()
for i in range(0, 3):
w.add_page(r.pages[i])
w.write("sub.pdf"); w.close()
print("已抽取 1-3 页 -> sub.pdf")
PY
使用建议
- 处理前先
ls确认文件存在、用python -c "from pypdf import PdfReader;print(len(PdfReader('x.pdf').pages))"看页数 - 扫描件(图片型 PDF)提取不到文字属正常,需 OCR(提示用户)
- 输出文件默认放在与源文件同目录,操作完告诉用户生成的文件名