438061781

Pdf Figure Extractor

办公效率v1.0.0
作者:438061781更新于 2026-05-11pdf-figure-extractor@clawhub_438061781/pdf-figure-extractor
PDF 处理#PDF#论文

据 AlphaMoat 统计,截至 2026-09,Pdf Figure Extractor 累计下载 1,100 次、获 0 个星标,在全部 5,078 个 AI 技能中排名第 4,983 位,在「办公效率」分类(435 个)中排名第 419 位。

累计安装
122
累计下载
1,100
星标
-
全站排名
#4,983
全站前 99% · 「办公效率」前 97%
平台累计安装累计下载星标评论
ClawHub ↗23921--
SkillHub ↗1221,100-—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

主文描述识别 Figure 相关文本、定位 caption、确定裁剪范围并检查子图、标签和正文是否误入的流程。提取结果可能缺少子图或混入图注与正文,应根据 PDF 结构检查每张图片并调整坐标;仅处理用户有意提供且适合处理的 PDF。

资料发布于 2026-10-29

可以用来做什么

  • 从论文 PDF 中规划图形提取步骤
  • 根据图注位置判断候选裁剪区域
  • 建立提取图片的质量检查清单

什么时候用

  • 需要把论文图形用于文档或稿件,且可以逐张人工复核提取结果时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

不读取 PDF,列出分析页面结构和定位图注的步骤。
为一张候选图建立裁剪后检查表,涵盖子图、坐标轴标签、图注与正文。

月度数据趋势

累计下载1,100
1226471,1722026-03 · 累计下载 1942026-05 · 累计下载 5042026-06 · 累计下载 6092026-07 · 累计下载 8082026-08 · 累计下载 8832026-09 · 累计下载 1,10026-0326-09
星标-
0112026-03 · 星标 -2026-05 · 星标 -2026-06 · 星标 -2026-07 · 星标 -2026-08 · 星标 -2026-09 · 星标 -26-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-091,100—-
2026-08883+9.3%-
2026-07808+32.7%-
2026-06609+20.8%-
2026-05504—-
2026-03194—-

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

2.7 KB · ClawHub v1.0.0
---
name: pdf-figure-extractor
description: 从PDF论文中精确提取Figure图片,自动分析PDF结构、定位caption位置、裁剪干净图形,并验证图片质量。支持学术新闻稿、论文写作等场景的自动化图片处理。
---

# PDF Figure提取技能

## 使用场景

- 从学术论文PDF提取Figure插入Word文档
展开全部(共 97 行)
- 需要干净、无caption、无正文的纯图形图片
- 批量提取多个Figure

## 标准工作流程

### 步骤1: 分析PDF结构
```python
import fitz

doc = fitz.open(pdf_path)
page = doc[page_num]

# 获取所有文本块
blocks = page.get_text("blocks")
for block in blocks:
    x0, y0, x1, y1, text, block_no, block_type = block
    if "Fig." in text or "Figure" in text:
        print(f"Figure相关: y={y0:.0f}-{y1:.0f}, {text[:50]}...")
```

### 步骤2: 定位Caption位置
```python
# 搜索Fig. X的精确位置
text_instances = page.search_for(f"Fig. {fig_num}")
for inst in text_instances:
    print(f"Fig.{fig_num}位置: y={inst.y0:.0f}-{inst.y1:.0f}")
```

### 步骤3: 确定裁剪区域
根据caption位置判断图形区域:

| Caption位置 | 图形区域 |
|------------|---------|
| y=400 (页面中部) | y=100-395 (caption上方) |
| y=666 (页面底部) | y=350-660 (caption上方) |
| y=326 (页面底部) | y=100-320 (caption上方) |

### 步骤4: 精确裁剪
```python
rect = fitz.Rect(50, y_start, page.rect.width - 50, y_end)
pix = page.get_pixmap(matrix=fitz.Matrix(2, 2), clip=rect)
pix.save(f"fig{fig_num}.png")
```

### 步骤5: 验证图片质量
检查清单:
- [ ] 包含所有子图(a,b,c,d...)
- [ ] 没有混入"Fig. X"开头的caption文字
- [ ] 没有混入正文段落
- [ ] 坐标轴和标签完整

## 常见PDF布局模板

### Nature/Science论文
- Fig.1: 通常caption在底部,图形y=350-660
- Fig.2+: caption位置不固定,需要先分析

### 会议论文
- 单栏布局: caption通常在图形下方
- 双栏布局: caption可能在图形上方或下方

## 错误处理

### 问题: 图片混入正文
**原因**: 裁剪范围太大
**解决**: 缩小y_end,确保在caption之前结束

### 问题: 子图缺失
**原因**: 裁剪范围太小
**解决**: 扩大y_start/y_end,包含完整图形

### 问题: caption未去除
**原因**: 裁剪范围包含了caption区域
**解决**: 根据caption的y坐标精确调整裁剪边界

## 最佳实践

1. **永远不要**凭感觉估计坐标
2. **始终先**分析PDF文本块结构
3. **高分辨率渲染**: 使用`matrix=fitz.Matrix(2, 2)`
4. **验证每张图片**: 确保干净无杂质
5. **记录坐标**: 为常见PDF类型建立坐标模板

## 触发关键词

"提取PDF图片", "从PDF提取Figure", "PDF图片裁剪", "学术论文图片提取"

「办公效率」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。