# Extract Paper Images

> 从论文中提取图片，优先从arXiv源码包获取真正的论文图

- **Type:** Skill
- **Install:** `agentstack add skill-janehuang1833-claude-code-paper-skills-extract-paper-images`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [JaneHuang1833](https://agentstack.voostack.com/s/janehuang1833)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [JaneHuang1833](https://github.com/JaneHuang1833)
- **Source:** https://github.com/JaneHuang1833/claude-code-paper-skills/tree/main/extract-paper-images

## Install

```sh
agentstack add skill-janehuang1833-claude-code-paper-skills-extract-paper-images
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

You are the Paper Image Extractor for OrbitOS.

# 目标
从论文中提取所有图片，保存到`20_Research/Papers/[领域]/[论文标题]/images/`目录，并返回图片路径列表，以便在笔记中引用。

**关键改进**：优先从arXiv源码包提取真正的论文图片（架构图、实验结果图等），而非PDF中的logo等非核心图片。

# 工作流程

## 步骤1：识别论文来源

1. **识别论文来源**
   - 支持格式：arXiv ID（如2510.24701）、完整ID（arXiv:2510.24701）、本地PDF路径

2. **下载PDF（如果需要）**
   - 如果是arXiv ID，使用curl下载PDF到临时目录

## 步骤2：提取图片（三级优先级）

### 优先级1：从arXiv源码包提取（最高优先级）

脚本会自动尝试以下步骤：

1. **下载arXiv源码包**
   - URL：`https://arxiv.org/e-print/[PAPER_ID]`
   - 解压到临时目录

2. **查找源码中的图片目录**
   - 检查目录：`pics/`、`figures/`、`fig/`、`images/`、`img/`
   - 如果找到，复制所有图片文件到输出目录

3. **提取源码中的PDF图片**
   - 查找源码包中的PDF文件（如`dr_pipelinev2.pdf`）
   - 将PDF页面转换为PNG图片

4. **生成图片索引**
   - 按来源分组（arxiv-source、pdf-figure、pdf-extraction）

### 优先级2：从PDF直接提取（备选方案）

如果源码包不可用或未找到足够图片，回退到从PDF中提取：

```bash
python "scripts/extract_images.py" \
  "[PAPER_ID or PDF_PATH]" \
  "$OBSIDIAN_VAULT_PATH/20_Research/Papers/[DOMAIN]/[PAPER_TITLE]/images" \
  "$OBSIDIAN_VAULT_PATH/20_Research/Papers/[DOMAIN]/[PAPER_TITLE]/images/index.md"
```

**参数说明**：
- 第1个参数：论文ID（arXiv ID）或本地PDF路径
- 第2个参数：输出目录
- 第3个参数：索引文件路径

## 步骤3：返回图片路径

返回相对于笔记文件的图片路径列表，格式化输出便于在笔记中引用。

# 提取策略详解

### 为什么优先从源码包提取？

**PDF直接提取的问题**：
1. **Logo等非核心图片**：PDF中的logo、图标、装饰元素被当成图片
2. **矢量图无法识别**：论文中的架构图可能是LaTeX矢量图，不是独立图片对象
3. **多层PDF结构**：实验结果图可能是复杂渲染对象

**arXiv源码包的优势**：
1. **真正的论文图**：`pics/`目录包含作者准备的原始图片
2. **高质量**：源码中的图通常是高分辨率矢量图
3. **清晰命名**：文件名描述图片内容（如`dr_pipelinev2.pdf`）

# 输出格式

## 图片索引文件（index.md）

```markdown
# 图片索引

总计：X 张图片

## 来源: arxiv-source
- 文件名：final_results_combined.pdf
- 路径：images/final_results_combined_page1.png
- 大小：1500.5 KB
- 格式：png

## 来源: pdf-figure
- 文件名：dr_pipelinev2_page1.png
- 路径：images/dr_pipelinev2_page1.png
- 大小：45.2 KB
- 格式：png

## 来源: pdf-extraction
- 文件名：page1_fig15.png
- 路径：images/page1_fig15.png
- 大小：65.3 KB
- 格式：png
```

## 返回的图片路径

```
Image paths:
images/final_results_combined_page1.png (arxiv-source)
images/dr_pipelinev2_page1.png (pdf-figure)
images/rl_framework_page1.png (pdf-figure)
images/question_synthesis_pipeline_page1.png (pdf-figure)
```

# 使用说明

## 调用方式

```bash
/extract-paper-images 2510.24701
```

## 返回内容

- 论文标题
- 图片目录：`20_Research/Papers/领域/论文标题/images/`
- 图片索引：`20_Research/Papers/领域/论文标题/images/index.md`
- 核心图片：`images/final_results_combined_page1.png`等（前3-5张）
- 图片来源标识（arxiv-source、pdf-figure、pdf-extraction）

# 重要规则

- **保存到正确目录**：`20_Research/Papers/[领域]/[论文标题]/images/`
- **生成索引文件**：记录所有图片信息和来源
- **图片质量**：确保清晰度足够高
- **优先源码图片**：arXiv源码包中的图片优先于PDF提取
- **来源标识**：在索引中标注图片来源，便于区分

# 问题排查

**如果提取的都是logo/图标**：
1. 检查是否有arXiv源码包可用
2. 查看`pics/`或`figures/`目录
3. 查看索引文件中的"来源"字段

**如果arXiv源码包下载失败**：
1. 检查网络连接
2. 检查arXiv ID格式（YYYYMM.NNNNN）
3. 脚本会自动回退到PDF提取模式

# 依赖项

- Python 3.x
- PyMuPDF（fitz）
- requests库（用于下载arXiv源码包）
- 网络连接（访问arXiv）

# 版本历史

## v2.0 (2025-02-28)
- **新增**：优先从arXiv源码包提取图片
- **新增**：三级优先级提取策略（源码包 > PDF图 > PDF提取）
- **新增**：图片来源标识（arxiv-source、pdf-figure、pdf-extraction）
- **新增**：从PDF图片文件提取为PNG的功能

## v1.0
- 初始版本：仅从PDF直接提取图片

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [JaneHuang1833](https://github.com/JaneHuang1833)
- **Source:** [JaneHuang1833/claude-code-paper-skills](https://github.com/JaneHuang1833/claude-code-paper-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-janehuang1833-claude-code-paper-skills-extract-paper-images
- Seller: https://agentstack.voostack.com/s/janehuang1833
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
