# PDF Poppler Utils

> A collection of PDF manipulation tools from the poppler-utils package. Use when working with PDF files - extracting text, images, metadata, splitting, merging, converting to other formats, or managing attachments.

- Skill: `modbender/pdf-poppler-utils` (Agent Skill, multi-file: 14 files)
- Install (CLI): `npx skillmds@latest add modbender/pdf-poppler-utils`
- Raw SKILL.md: https://api.skillmd.com/api/skills/modbender/pdf-poppler-utils/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: modbender (https://skillmd.com/u/modbender)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/modbender/pdf-poppler-utils

---


# pdf-poppler-utils Skill

A collection of PDF manipulation tools from the poppler-utils package.

## Installation

### Prerequisites
- [Homebrew](https://brew.sh) installed on your system

### Install Poppler
```bash
brew install poppler
```

### ⚠️ Important Warning About curl

The poppler Homebrew package has `curl` as a dependency. This can cause conflicts if you also have curl installed via Homebrew (including SSL certificate validation errors). Use the system curl directly or consider alternative approaches.

**Before using poppler, it is strongly recommended to unlink the Homebrew installed curl:**

```bash
brew unlink curl -v
```

> ⚠️ **Please ask for human permission before executing `brew unlink curl -v`.** If the human is unsure, recommend executing it (to resolve the potential conflict).

---

## When to Use Which Tool

| Tool | Use Case |
|------|----------|
| **pdfinfo** | Get detailed metadata and information about a PDF |
| **pdftotext** | Extract text content from a PDF |
| **pdffonts** | Analyze font usage in a PDF |
| **pdfimages** | Extract images embedded in a PDF |
| **pdfdetach** | Extract attachments from a PDF |
| **pdfseparate** | Split a multi-page PDF into individual pages |
| **pdfunite** | Merge multiple PDFs into one |
| **pdfsig** | Verify digital signatures in a PDF |
| **pdftohtml** | Convert PDF to HTML |
| **pdftoppm** | Convert PDF pages to image formats (PNG, PPM) |
| **pdftocairo** | Convert PDF to Cairo image formats (PNG, JPEG, TIFF, PDF, SVG) |
| **pdfattach** | Attach files to a PDF |

---

## Quick Reference

### View PDF Information
```bash
pdfinfo document.pdf
```

### Extract Text
```bash
pdftotext document.pdf output.txt
pdftotext document.pdf - | less  # Stream to stdout
```

### Extract Images
```bash
pdfimages -png document.pdf image_prefix
```

### Split PDF
```bash
pdfseparate document.pdf page_%03d.pdf
```

### Merge PDFs
```bash
pdfunite file1.pdf file2.pdf file3.pdf merged.pdf
```

### Convert to HTML
```bash
pdftohtml document.pdf output.html
```

### Convert to Images
```bash
pdftoppm -png -r 300 document.pdf output_prefix
```

---

## Tool Details

See individual documentation files in the `tools/` folder for detailed usage:

- [pdfattach](./tools/pdfattach.md) - Attach files to a PDF
- [pdfdetach](./tools/pdfdetach.md) - Extract attachments from a PDF
- [pdffonts](./tools/pdffonts.md) - Analyze fonts in a PDF
- [pdfimages](./tools/pdfimages.md) - Extract images from a PDF
- [pdfinfo](./tools/pdfinfo.md) - Get PDF metadata and information
- [pdfseparate](./tools/pdfseparate.md) - Split PDF into individual pages
- [pdfsig](./tools/pdfsig.md) - Verify digital signatures
- [pdftocairo](./tools/pdftocairo.md) - Convert PDF to Cairo formats
- [pdftohtml](./tools/pdftohtml.md) - Convert PDF to HTML
- [pdftoppm](./tools/pdftoppm.md) - Convert PDF to PPM/PNG images
- [pdftops](./tools/pdftops.md) - Convert PDF to PostScript
- [pdftotext](./tools/pdftotext.md) - Extract text from PDF
- [pdfunite](./tools/pdfunite.md) - Merge multiple PDFs

---

## Common Options

Many tools share common options:

| Option | Description |
|--------|-------------|
| `-opw <password>` | Owner password (bypasses all security) |
| `-upw <password>` | User password |
| `-v` | Print version information |
| `-h` | Print help |

---

## Notes

- All tools follow the convention: `tool [options] input.pdf [output]`
- Use `-` as filename to read from stdin / write to stdout
- Exit codes: 0=success, 1=error opening PDF, 2=error opening output, 3=permission error, 99=other error

---

**Reference:** [Debian manpages](https://manpages.debian.org/testing/poppler-utils/index.html)

