Metadata-Version: 2.4
Name: pdfforge-pro
Version: 1.2.0
Summary: Professional PDF editor for Linux, with an MCP server that lets AI assistants edit, OCR, redact and convert PDFs locally
Author: ouchi-dev
License: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/ouchi-dev/pdfforge
Project-URL: Issues, https://github.com/ouchi-dev/pdfforge/issues
Keywords: pdf,pdf-editor,mcp,ocr,redaction,claude
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: POSIX :: Linux
Classifier: Environment :: X11 Applications :: Qt
Classifier: Topic :: Office/Business
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PySide6>=6.6.0
Requires-Dist: pymupdf>=1.24.0
Requires-Dist: pikepdf>=8.0.0
Requires-Dist: Pillow>=10.0.0
Requires-Dist: fonttools>=4.40.0
Requires-Dist: pytesseract>=0.3.10
Requires-Dist: python-docx>=1.1.0
Requires-Dist: python-pptx>=1.0.0
Requires-Dist: xlsxwriter>=3.2.0
Requires-Dist: cryptography>=42.0.0
Provides-Extra: mcp
Requires-Dist: mcp>=2.3; extra == "mcp"
Dynamic: license-file

# PDFForge Pro

A native, professional PDF editor for Linux, with an MCP server that lets Claude and other AI assistants work on your PDFs locally.

[Version française (full documentation)](README.fr.md)

## Why

Linux has no free editor at the level of Acrobat, and most PDF tools for AI agents upload your files to a cloud service. PDFForge does everything on your machine.

## Editor features

- **Edit text in the document's own font.** The font embedded in the PDF is reused, not a lookalike. Only the changed characters are rewritten, and the rest of the line is repositioned to the exact point. When fidelity is impossible, the status bar says so instead of hiding it.
- **Annotate, comment, draw, sign** (including PAdES / PKCS#7 signatures with X.509 certificates and RFC 3161 timestamps)
- **Organise pages:** merge, split, reorder, rotate, delete
- **OCR** scanned documents into searchable text, with deskewing and per-word confidence
- **Redact for real:** find IBANs, card numbers, national IDs, emails, and remove them from the file, not just cover them
- **Forms:** fill AcroForms, with live recalculation of Acrobat formulas
- **Compare two versions** and detect tampering traces
- **Bank statements to Excel:** extract date, label and amount lines
- **Export** to Word (.docx), LibreOffice (.odt/.rtf), Excel, PowerPoint, images and text
- **Archive and repair:** PDF/A conversion with verification, web optimisation, repair of damaged files, PDF/UA accessibility audit and fixes
- Encryption (AES-256), watermarks, compression, unlimited undo/redo
- Stays fast on large documents

## MCP server

The editor's engines are exposed to any MCP client (Claude Code, Claude Desktop, Cursor...). Everything runs locally: no file is sent anywhere, and tools that change a document always write a new file (the source is only replaced with `overwrite=true`).

```bash
claude mcp add pdfforge -- uvx --from "pdfforge-pro[mcp]" pdfforge-mcp
```

Or with pip: `pip install "pdfforge-pro[mcp]"`, then `claude mcp add pdfforge -- pdfforge-mcp`. OCR needs Tesseract (`sudo apt install tesseract-ocr`).

For Claude Desktop, in `claude_desktop_config.json`:

```json
{ "mcpServers": { "pdfforge": { "command": "uvx", "args": ["--from", "pdfforge-pro[mcp]", "pdfforge-mcp"] } } }
```

| Tool | What it does |
|---|---|
| `pdf_info`, `read_text`, `render_page`, `search` | Read a document, see a page as an image, search it |
| `merge`, `split`, `organize_pages` | Merge, split, keep, delete or rotate pages |
| `create_pdf`, `export` | Word, Excel, images to PDF; PDF to .docx, .txt, .html, .odt, .xlsx |
| `replace_text` | Replace a word everywhere, rewritten in the document's embedded fonts |
| `ocr` | Make a scan searchable, with deskewed pages and per-word confidence |
| `find_sensitive_data`, `redact` | Find IBANs, cards, national IDs, emails... and remove them for good |
| `list_form_fields`, `fill_form` | Read and fill a form |
| `extract_transactions` | Bank statement to date / label / amount rows, and Excel |
| `compare`, `detect_tampering` | Differences between two versions, signs of forgery |
| `watermark`, `protect`, `unlock`, `compress` | Watermark, AES-256 password, compression |

Example requests: "remove every IBAN and email from this folder before I send it", "put my September statements in a spreadsheet", "has this contract been changed since it was signed?".

## Install and run

```bash
pip install pdfforge-pro && pdfforge   # or, from a clone:
make run        # launch the editor
make test       # run the test suite
make deb        # build a Debian package
```

## License

AGPL-3.0-or-later, because PDFForge is built on [PyMuPDF](https://github.com/pymupdf/PyMuPDF) (AGPL-3.0).
