Skip to content

UIhoshi/pdforge

Repository files navigation

Offline PDF Toolkit

OPTK — an offline-first PDF merge / split / preview tool for Web, Windows, and Linux.

English | 简体中文 | 日本語 | Español | Français | Deutsch | Português | Русский

Runtime Privacy PDF Languages

Product Proof

Offline PDF Toolkit is built for one job: handling common PDF tasks locally without turning a simple workflow into a cloud service, a heavy installer requirement, or a fragile online dependency.

The current public baseline is centered on:

  • 100% offline local workflows for Web, Windows, and Linux desktop
  • a separate Linux LAN delivery mode for same-network browser access
  • flexible merge and split flows that can be combined freely for practical PDF cleanup work
  • source preview vs edited-result preview separation
  • page-level edit mode for single-page delete / rotate / reorder operations
  • one shared operation-page workflow across Web, Windows, Linux LAN, and Linux desktop delivery paths

✨ What does this solve?

  • You want PDF work to stay local: the Web version, Windows desktop targets, and Linux desktop target are designed for fully offline use without a remote API.
  • You need a LAN-access option on Linux: the Linux LAN build is intentionally a same-network delivery mode rather than a fully offline single-machine package.
  • You want more than rigid merge-or-split utilities: the toolkit is built around flexible composition, so merge, split, delete, rotate, and reorder can work together instead of being isolated one-shot actions.
  • Quick PDF tasks should not require bloated software: open the web version directly or use the packaged desktop targets.
  • Preview and editing should feel consistent: import shows the source document first; edited preview shows the post-edit result.

Quick Start

Option 1: Web version

  1. Open index.html.
  2. Add one or more PDFs.
  3. Merge or split as needed.
  4. Enter edit mode for page-level delete / rotate / reorder operations.
  5. Click Preview to view the edited result, then Download.

Option 2: Windows desktop

Use one of these release assets:

  • Portable / unpacked: offline-pdf-toolkit-win-portable-v1.0.0.zip
  • Installer: offline-pdf-toolkit-win-installer-v1.0.0.exe

Option 3: Linux

Two Linux delivery styles are supported:

  • LAN web endpoint: run the LAN package and open http://<linux-ip>:8787 from machines inside the same network
  • Local desktop client: use the Linux desktop package on the local machine

At a Glance

Topic Summary
Short name OPTK
Core topics offline PDF processing, merge/split, local preview, desktop + LAN delivery
Web baseline index.html + assets/
Windows targets portable/unpacked + installer
Linux targets LAN web endpoint + local desktop client
UI languages 简体中文, English, 日本語, Español, Français, Deutsch, Português, Русский
Initial locale Web uses browser locale; desktop uses host/system locale first

✨ Core Features

  • Merge multiple PDFs into one result.
  • Split PDFs by range with flexible recombination workflows.
  • Preview the source document immediately after import.
  • Preview the edited result after page operations.
  • Use edit mode for single-page delete / rotate / reorder flows.
  • Keep the same operation-page logic across Web and packaged desktop targets.
  • Keep Linux LAN as a same-network served mode instead of labeling it as a fully offline local-only package.

Why OPTK stands out

  • Flexible merge + split composition: not only "merge all" or "split by fixed range", but workflows that let you combine merge, split, and page cleanup in one pass.
  • Single-page cleanup support: remove unwanted pages one by one instead of only relying on coarse range deletion.
  • Page-level rotate and reorder: correct orientation and final sequence before exporting the result.
  • Source-first then result-preview workflow: import shows the original PDF first; preview shows the edited output after your changes.

Release Assets

This repository is prepared around these publishable outputs:

  • offline-pdf-toolkit-web-v1.0.0.zip
  • offline-pdf-toolkit-win-portable-v1.0.0.zip
  • offline-pdf-toolkit-win-installer-v1.0.0.exe
  • offline-pdf-toolkit-linux-lan-v1.0.0.zip
  • offline-pdf-toolkit-linux-desktop-v1.0.0.zip

Open Source Components

This public baseline uses a small set of established open-source components. See THIRD_PARTY_NOTICES.md for dependency names, upstream repositories, and licenses.

Technical Implementation

Tech stack

  • lightweight HTML/CSS/JavaScript UI
  • Web Worker-based PDF processing
  • pdf-lib-based lightweight processing runtime
  • Electron packaging for desktop delivery
  • minimal Node.js LAN server for Linux web delivery

Architecture highlights

  • source preview and result preview are separate on purpose
  • edit mode is a shared frontend workflow, not a platform-specific branch
  • Web remains the fastest validation target
  • desktop shells adapt packaging/runtime behavior without forking the editing model

Collaboration

This project is published under UIhoshi and developed through a practical AI-collaboration workflow.

  • Project owner / publisher: UIhoshi
  • AI engineering collaborators used in the workflow: Codex, Gemini

Git commit authorship and public release ownership should be attributed to UIhoshi, while the repository README and project notes may explicitly describe the multi-agent collaboration process behind the work.

Repository layout

Path Purpose
index.html Web entry
assets/ UI, workers, runtime presets, preview/runtime assets
tools/electron/ desktop shell bootstrap and build helpers
tools/server/ Linux LAN web bootstrap
package.json desktop/LAN packaging scripts

Topic Focus

Suggested GitHub topic set for this project:

  • pdf
  • pdf-toolkit
  • offline-first
  • local-first
  • merge-split
  • web-worker
  • electron
  • windows
  • linux

Related Public Repositories

This README structure and release-facing presentation are aligned with the style direction used in:

Development

npm install
npm run build:win:portable
npm run build:win:installer
npm run serve:linux:lan
npm run build:linux:dir

Note: On Windows hosts, Linux AppImage packaging may be blocked by host privilege limits. In that case, build:linux:dir is the immediate fallback for validating the Linux desktop bundle.

Known Limitations

  • The Linux desktop AppImage may require a native Linux build environment for final packaging.
  • The project intentionally avoids bloated online integrations in favor of a local workflow.
  • Release assets are the publication surface for packaged outputs; intermediate build byproducts are not part of the intended repository sync set.

About

Offline PDF Toolkit (OPTK): 100% offline PDF merge/split/preview for Web, Windows, and Linux desktop, plus a Linux LAN mode.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages