# OpenPDF Studio: rebuilding PDF editing interactions from WPS PDF research

> OpenPDF Studio builds a local macOS PDF editor informed by REA-assisted observation of WPS Office 12.1.28496's PDF interface. Its research records editing interactions and limited Mach-O module inspection, while the implementation uses React, Electron, PyMuPDF and Apple Vision for text and image edits, conversion and OCR.

- Type: Case study
- Targets: App
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/aotefan/openpdf-studio>
- Primary source: <https://github.com/aotefan/openpdf-studio/blob/056d7d219e255fac8dacbabaac2911bb1fcd7953/research/wps-pdf-reverse-engineering.md>
- Catalog page: <https://awesomerea.org/resources/openpdf-studio-case/>
- Record JSON: <https://awesomerea.org/resources/openpdf-studio-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/openpdf-studio-case/index.md)

## Requirements & limits

- **Prerequisites:** macOS on Apple Silicon, Xcode Command Line Tools, Python 3.12, uv and a supported patched Node.js runtime.
- **Limits:** The current source preview has no installer; desktop launch and packaging are gated pending a patched Electron release.
- **Limits:** Editing is limited to supported text and image cases; documents above 60 MB or 500 pages are rejected.
- **License:** AGPL-3.0-or-later.

## Primary sources

1. <https://github.com/aotefan/openpdf-studio/blob/056d7d219e255fac8dacbabaac2911bb1fcd7953/research/wps-pdf-reverse-engineering.md>
2. <https://github.com/aotefan/openpdf-studio/blob/056d7d219e255fac8dacbabaac2911bb1fcd7953/README.md>

## More in Apps

- [Keymarks: reconstructing Powermarks 3.5 bookmarks and workflows](https://awesomerea.org/resources/keymarks-case/index.md) · Case study
- [MiPods: reconstructing Xiaomi earbuds control on macOS](https://awesomerea.org/resources/mipods-case/index.md) · Case study
- [Taskly: rebuilding Trello's Electron desktop shell](https://awesomerea.org/resources/taskly-trello-shell-case/index.md) · Case study
- [mystery-sdl: porting the Mystery screen saver to SDL2](https://awesomerea.org/resources/mystery-sdl-case/index.md) · Case study
- [LSX II Volume Fixer: reconstructing volume behavior](https://awesomerea.org/resources/kef-lsx-volume-case/index.md) · Case study
- [UU Remote on Linux: an unofficial protocol implementation](https://awesomerea.org/resources/uu-remote-linux-protocol-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
