Content
<h1 align="center">
<img src="resources/app_icon_readme.png" width="64" align="center" />
PDFeverything
</h1>
<p align="center">
<b>🪄 The PDF Swiss Army Knife</b><br>
<sub>Throw in PDFs, Word docs, PowerPoints, Excel sheets, images, text files —<br>get one clean PDF out the other end. No fuss.<br>Built-in <b>high-performance PDF reader</b> with vector-grade rendering.</sub>
</p>
<p align="center">
<a href="https://github.com/Lezheng2333/PDFeverything/releases"><img src="https://img.shields.io/badge/platform-macOS%20%7C%20Windows-blue?style=flat-square" /></a>
<a href="https://github.com/Lezheng2333/PDFeverything/releases/latest"><img src="https://img.shields.io/badge/version-v1.3.17-007aff?style=flat-square" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" /></a>
</p>
---
## ✨ Why PDFeverything?
You've been there: a Word report here, a PDF scan there, some photos of the whiteboard, an Excel chart… and now someone wants "*one combined PDF please, by 5pm*". 😤
**PDFeverything is built for exactly this moment.**
Drag everything in — any combination of PDFs, Word documents, PowerPoint decks, Excel spreadsheets, PNGs, JPEGs, text files — and it merges them into **one unified PDF**, in the order you decide, with progress you can watch.
| Platform | Download |
|---|---|
| 🍎 macOS (Apple Silicon) | [`PDFeverything_macOS.zip`](https://github.com/Lezheng2333/PDFeverything/releases/latest) |
| 🪟 Windows 10/11 (64-bit) | [`PDFeverything.exe`](https://github.com/Lezheng2333/PDFeverything/releases/latest) |
> 🔗 [**Latest Release →**](https://github.com/Lezheng2333/PDFeverything/releases/latest)
## 🆕 What's New in v1.3.17
- 📖 **Built-in PDF Reader** — Scroll & Grid modes, two-pass zoom, trackpad pinch-to-zoom
- 🎨 **Vector-grade rendering** — exact-resolution rendering, MuPDF native 8-bit sub-pixel AA (matching Acrobat/WPS)
- 🖥️ **Full HiDPI/Retina** — renders at native physical-pixel resolution, 1:1 pixel mapping, zero blur
- ⚡ **Instant zoom** — Pass 1 <5ms pixel scale + Pass 2 40ms sharp render at exact zoom×dpr
---
## 🎯 The Killer Feature: Mixed-File Merge
```
📄 report.docx (2 pages)
📊 chart.xlsx (1 page)
🖼️ photo.jpg (1 page)
📄 appendix.pdf (5 pages)
🪄 one click 🪄
↓
┌─────────────────────┐
│ unified.pdf │
│ 9 pages, in order │
└─────────────────────┘
```
Every file goes through its own converter (AppleScript → Office on macOS, or pure-Python fallback), then everything gets stitched together. If one file fails, the rest still go through — you get a summary of what worked and what didn't.
## 🔧 Everything It Can Do
| Operation | What it does |
|---|---|
| 🔀 **Mixed Merge** | PDF + Word + PPT + Excel + images + text → one PDF |
| 🔗 **PDF Merge** | Combine multiple PDFs in any order |
| ✂️ **PDF Split** | Split by page, by chunks of N pages, or by custom ranges |
| 🖼️ **Images → PDF** | Turn a batch of images into a single PDF |
| 📝 **Word → PDF** | Convert `.docx` / `.doc` files to PDF |
| 📊 **PPT / Excel → PDF** | Convert `.pptx` and `.xlsx` files |
| 📝 **PDF → Word** | Convert PDF to editable `.docx` |
| 📊 **PDF → PowerPoint** | Convert PDF pages to `.pptx` slides |
| 📈 **PDF → Excel** | Extract PDF tables to `.xlsx` |
| 📄 **PDF → Images** | Export each PDF page as a PNG |
| 📤 **Extract Text** | Pull out all text from a PDF |
| 🖼️ **Extract Images** | Rip embedded images from a PDF |
| 🗜️ **Compress** | Shrink PDF file size (lossless / medium / aggressive) |
| 💧 **Watermark** | Stamp a text or PDF overlay on every page |
| 🔒 **Encrypt** | Set an open-password on a PDF |
| 🔓 **Decrypt** | Remove password protection |
| 🔄 **Rotate** | Rotate pages 90° / 180° / 270° |
| ℹ️ **Info** | Inspect page count, metadata, encryption status |
## 📥 Supported Inputs
| Category | Extensions |
|---|---|
| 📄 PDF | `.pdf` |
| 🖼️ Images | `.png` `.jpg` `.jpeg` `.gif` `.bmp` `.tiff` `.webp` |
| 📝 Word | `.docx` `.doc` `.rtf` |
| 📊 PowerPoint | `.pptx` `.ppt` |
| 📈 Excel | `.xlsx` `.xls` `.csv` |
| 📃 Text & Code | `.txt` `.md` `.json` `.xml` `.html` `.py` `.yml` … |
## 🖥️ The GUI
```
┌──────────────────────────────────────────────┐
│ 📄 doc.pdf [🔼] [🔽] [✖] │
│ 📊 data.xlsx [🔼] [🔽] [✖] │
│ 🖼️ photo.jpg [🔼] [🔽] [✖] │
│ 📝 report.docx [🔼] [🔽] [✖] │
│ │
│ ── drag & drop files here ── │
│ │
│ [🔀 Merge All →] [✂️ Split...] │
│ [🗜️ Compress...] [💧 Watermark...] │
│ [🔒 Encrypt...] [🔄 Rotate...] │
│ │
│ ████████████░░░░░░ 78% │
│ Converting: report.docx (3/5)... │
└──────────────────────────────────────────────┘
```
- 🖱️ **Drag & drop** files from Finder / Explorer
- 🔄 **Reorder** with arrow buttons or by dragging inside the list
- ⚡ **Multi-threaded** — never freezes, always shows progress
- 🧠 **Smart buttons** — the UI adapts to what's in your file list
- 🌐 **Bilingual UI** — switch between English and English (Settings > Language)
## 🤖 AI Agent Integration (MCP Server)
PDFeverything comes with a built-in **Model Context Protocol (MCP)** server. Any AI agent (Claude Desktop, Claude Code, Cursor, etc.) can discover all 16 PDF tools and call them directly — **no Python, no install, just the app file**.
### How it works
The same `.exe` / `.app` binary supports three modes:
| Mode | macOS | Windows |
|---|---|---|
| 🖥️ **GUI** | double-click `.app` | double-click `.exe` |
| ⌨️ **CLI** | ``/path/to/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf -o out.pdf`` | `PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf` |
| 🔌 **MCP** | ``/path/to/PDFeverything.app/Contents/MacOS/PDFeverything --mcp`` | `PDFeverything.exe --mcp` |
### Setup — Claude Desktop
Add to `~/.claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"pdfeverything": {
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
```
**Windows:**
```json
{
"mcpServers": {
"pdfeverything": {
"command": "C:\\Program Files\\PDFeverything\\PDFeverything.exe",
"args": ["--mcp"]
}
}
}
```
### Setup — Claude Code
Add to `.claude/settings.json` in your project:
```json
{
"mcpServers": {
"pdfeverything": {
"type": "stdio",
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
```
### What the AI sees (16 tools)
Once connected, the agent automatically discovers these tools — no manual instruction needed:
| Tool | Description |
|---|---|
| `pdf_merge` | Merge multiple PDFs into one |
| `pdf_split` | Split PDF by pages or ranges |
| `pdf_info` | Get metadata (pages, size, author, etc.) |
| `pdf_extract_text` | Extract all text from PDF |
| `pdf_extract_images` | Extract embedded images |
| `pdf_to_images` | Convert PDF pages to PNG |
| `images_to_pdf` | Images → single PDF |
| `pdf_to_word` | Convert PDF to Word (.docx) |
| `pdf_to_ppt` | Convert PDF to PowerPoint (.pptx) |
| `pdf_to_excel` | Extract PDF tables to Excel (.xlsx) |
| `pdf_compress` | Reduce PDF file size |
| `pdf_watermark` | Add text watermark |
| `pdf_encrypt` | Set open password |
| `pdf_decrypt` | Remove password |
| `pdf_rotate` | Rotate pages 90/180/270° |
| `pdf_mixed_merge` | 🔥 Mixed files → unified PDF |
### Direct CLI mode (no MCP needed)
AI agents can also call the binary directly:
```bash
# macOS
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf b.pdf -o out.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything info -i doc.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything -h
# Windows
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf
PDFeverything.exe info -i doc.pdf
PDFeverything.exe -h
```
> 💡 **The `.app` and `.exe` are the SAME single binary.** Give it CLI args → headless mode. Give it `--mcp` → MCP server. No args → GUI. One file, three personalities.
## 🚀 Quick Start (for Developers)
```bash
# 1. Install dependencies
pip install PyQt6 PyMuPDF pypdf pikepdf pillow python-docx python-pptx openpyxl
# 2. Launch GUI
python main.py
# 3. Or use the CLI
python pdf_tool.py merge -i a.pdf b.pdf -o merged.pdf
python pdf_tool.py info -i document.pdf
# 4. Or start the MCP server
python mcp/server.py
```
### Build from Source
**Windows** (one-file portable exe):
```bash
pyinstaller build_windows.spec --noconfirm --clean
# → dist/PDFeverything.exe
```
**macOS** (app bundle):
```bash
pyinstaller PDFeverything.spec --noconfirm --clean
# → dist/PDFeverything.app
```
## 🧱 Tech Stack
| Layer | Tech |
|---|---|
| 🖼️ GUI | **PyQt6** — native look on both macOS & Windows |
| 🧠 PDF Engine | **PyMuPDF** + **pypdf** + **pikepdf** |
| 📝 Office Converters | **AppleScript** (macOS) / **COM** (Windows) / **python-docx** + **python-pptx** + **openpyxl** (fallback) |
| 📦 Packaging | **PyInstaller** (onefile on Windows, app bundle on macOS) |
## 📄 License
MIT — do whatever you want with it. [LICENSE](resources/LICENSE.txt)
---
<h2 align="center">PDF Everything</h2>
<p align="center">
<b>🪄 PDF Everything</b><br>
<sub>Put PDF, Word, PPT, Excel, images, and text files all in —<br>merge them into a neat PDF in one go. Easy as that.<br>Comes with a <b>high-performance PDF viewer</b> and vector-grade rendering quality.</sub>
</p>
### 🎯 Core Features: Mixed File Merging
```
📄 report.docx (2 pages)
📊 chart.xlsx (1 page)
🖼️ photo.jpg (1 page)
📄 appendix.pdf (5 pages)
🪄 Merge in one click 🪄
↓
┌─────────────────────┐
│ Output.pdf │
│ 9 pages, order unchanged │
└─────────────────────┘
```
Drag and drop different types of files in, each file is processed by its dedicated converter, then merged in order. If one file conversion fails, it won't affect the others — a summary report will be provided at the end.
### 🔧 All Features
| Operation | Description |
|---|---|
| 🔀 **Mixed Merge** | PDF + Word + PPT + Excel + images + text → one PDF |
| 🔗 **PDF Merge** | Merge multiple PDFs in any order |
| ✂️ **PDF Split** | Split by page number, every N pages, or custom range |
| 🖼️ **Images → PDF** | Merge multiple images into one PDF |
| 📝 **Word → PDF** | Convert .docx / .doc files |
| 📊 **PPT / Excel → PDF** | Convert .pptx / .xlsx files |
| 📝 **PDF → Word** | Convert PDF to editable .docx |
| 📊 **PDF → PowerPoint** | Convert PDF pages to .pptx slides |
| 📈 **PDF → Excel** | Extract PDF tables to .xlsx |
| 📄 **PDF → Images** | Export each page as PNG |
| 📤 **Extract Text** | Extract all text from PDF |
| 🖼️ **Extract Images** | Extract embedded images from PDF |
| 🗜️ **Compress** | Reduce PDF file size |
| 💧 **Watermark** | Add text or PDF overlay watermark |
| 🔒 **Encrypt / Decrypt** | Set or remove PDF open password |
| 🔄 **Rotate** | Rotate pages 90° / 180° / 270° |
| ℹ️ **Info** | View page count, metadata, encryption status |
### 🆕 v1.3.17 New Features
- 📖 **Built-in PDF Viewer** — continuous scrolling & grid thumbnails, two-stage zooming, touchpad pinch zooming
- 🎨 **Vector-grade Rendering Quality** — precise resolution rendering, MuPDF native 8-bit subpixel anti-aliasing (rivals Acrobat/WPS)
- 🖥️ **Full HiDPI/Retina Support** — native physical pixel rendering, 1:1 pixel mapping, zero blur
- ⚡ **Instant Zoom** — Pass 1 <5ms instant feedback + Pass 2 40ms precise resolution rendering
### 🖥️ Interface Preview
```
┌──────────────────────────────────────────────┐
│ 📄 doc.pdf [🔼] [🔽] [✖] │
│ 📊 data.xlsx [🔼] [🔽] [✖] │
│ 🖼️ photo.jpg [🔼] [🔽] [✖] │
│ 📝 report.docx [🔼] [🔽] [✖] │
│ │
│ ── Drag and drop files here ── │
│ │
│ [🔀 Merge into unified PDF] [✂️ Split...] │
│ [🗜️ Compress...] [💧 Watermark...] │
│ [🔒 Encrypt...] [🔄 Rotate...] │
│ │
│ ████████████░░░░░░ 78% │
│ Converting: report.docx (3/5)... │
└──────────────────────────────────────────────┘
```
- 🖱️ **Drag and drop** files from file explorer/Finder
- 🔄 **Adjust order** with buttons or drag
- ⚡ **Multi-threaded** processing — interface remains responsive, real-time progress bar
- 🧠 **Smart buttons** — automatically adapt based on file list content
### 🤖 AI Agent Integration (MCP Server)
PDFeverything comes with a built-in **Model Context Protocol (MCP)** server. Any AI Agent (Claude Desktop, Claude Code, Cursor, etc.) can automatically discover all 16 PDF tools and call them directly — **no need to install Python, no extra dependencies required, just the app file**.
#### Three Modes for the Same File
| Mode | macOS | Windows |
|---|---|---|
| 🖥️ **GUI** | Double-click `.app` | Double-click `.exe` |
| ⌨️ **Command Line** | ``/Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf -o out.pdf`` | `PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf` |
| 🔌 **MCP** | ``/Applications/PDFeverything.app/Contents/MacOS/PDFeverything --mcp`` | `PDFeverything.exe --mcp` |
#### Configure Claude Desktop
Add the following to `~/.claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"pdfeverything": {
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
```
**Windows:**
```json
{
"mcpServers": {
"pdfeverything": {
"command": "C:\\Program Files\\PDFeverything\\PDFeverything.exe",
"args": ["--mcp"]
}
}
}
```
#### Configure Claude Code
Add the following to `.claude/settings.json` in your project:
```json
{
"mcpServers": {
"pdfeverything": {
"type": "stdio",
"command": "/Applications/PDFeverything.app/Contents/MacOS/PDFeverything",
"args": ["--mcp"]
}
}
}
```
#### 16 Tools Visible to AI
Once connected, the Agent will automatically discover these tools — no need to manually teach it:
| Tool | Description |
|---|---|
| `pdf_merge` | Merge multiple PDFs |
| `pdf_split` | Split by page or range |
| `pdf_info` | View metadata (page count, size, author, etc.) |
| `pdf_extract_text` | Extract all text |
| `pdf_extract_images` | Extract embedded images |
| `pdf_to_images` | PDF pages → PNG |
| `images_to_pdf` | Multiple images → one PDF |
| `pdf_to_word` | PDF to Word (.docx) |
| `pdf_to_ppt` | PDF to PowerPoint (.pptx) |
| `pdf_to_excel` | Extract PDF tables to Excel (.xlsx) |
| `pdf_compress` | Compress PDF size |
| `pdf_watermark` | Add text watermark |
| `pdf_encrypt` | Set open password |
| `pdf_decrypt` | Remove password |
| `pdf_rotate` | Rotate pages 90/180/270° |
| `pdf_mixed_merge` | 🔥 Mixed files → unified PDF |
#### Direct CLI Invocation (without MCP)
AI Agents can also directly call the binary:
```bash
# macOS
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything merge -i a.pdf b.pdf -o out.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything info -i doc.pdf
/Applications/PDFeverything.app/Contents/MacOS/PDFeverything -h
# Windows
PDFeverything.exe merge -i a.pdf b.pdf -o out.pdf
PDFeverything.exe info -i doc.pdf
PDFeverything.exe -h
```
> 💡 **`.app` and `.exe` are the same binary.** Give parameters → command line mode. Give `--mcp` → MCP server. No parameters → GUI. One file, three usages.
### 🚀 Developer Quick Start
```bash
pip install PyQt6 PyMuPDF pypdf pikepdf pillow python-docx python-pptx openpyxl
python main.py # Start GUI
python pdf_tool.py info -i document.pdf # CLI mode
```
### 📦 Build from Source
**Windows** (single-file portable version):
```bash
pip install pywin32 # Windows Office COM support
pyinstaller build_windows.spec --noconfirm --clean
# → dist/PDFeverything.exe
```
**macOS** (App Bundle):
```bash
pyinstaller PDFeverything.spec --noconfirm --clean
# → dist/PDFeverything.app
```
### 🧱 Tech Stack
| Layer | Tech |
|---|---|
| 🖼️ GUI | **PyQt6** — native look on both macOS & Windows |
| 🧠 PDF Engine | **PyMuPDF** + **pypdf** + **pikepdf** |
| 📝 Office Converters | **AppleScript** (macOS) / **COM** (Windows) / **python-docx** + **python-pptx** + **openpyxl** (fallback) |
| 🔌 AI Integration | **MCP (Model Context Protocol)** — 16 tools auto-discovery |
| 📦 Packaging | **PyInstaller** (onefile on Windows, app bundle on macOS) |
### 📄 License
MIT — do whatever you want with it. [LICENSE](resources/LICENSE.txt)
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
No recommendations available