{"id":47804832,"url":"https://github.com/pharmacist-sabot/pdf-splitter","last_synced_at":"2026-04-03T17:28:31.429Z","repository":{"id":334551559,"uuid":"1141815387","full_name":"pharmacist-sabot/pdf-splitter","owner":"pharmacist-sabot","description":"A robust, command-line utility written in Rust for splitting multi-page PDF documents into individual PDF files.","archived":false,"fork":false,"pushed_at":"2026-03-30T14:36:07.000Z","size":11951,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T14:38:52.972Z","etag":null,"topics":["lopdf","pdf","rust","rust-project"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pharmacist-sabot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-25T13:35:01.000Z","updated_at":"2026-03-30T14:36:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pharmacist-sabot/pdf-splitter","commit_stats":null,"previous_names":["pharmacist-sabot/pdf-splitter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pharmacist-sabot/pdf-splitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmacist-sabot%2Fpdf-splitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmacist-sabot%2Fpdf-splitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmacist-sabot%2Fpdf-splitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmacist-sabot%2Fpdf-splitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pharmacist-sabot","download_url":"https://codeload.github.com/pharmacist-sabot/pdf-splitter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharmacist-sabot%2Fpdf-splitter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31366166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:13:05.644Z","status":"ssl_error","status_checked_at":"2026-04-03T17:13:04.413Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lopdf","pdf","rust","rust-project"],"created_at":"2026-04-03T17:28:30.796Z","updated_at":"2026-04-03T17:28:31.399Z","avatar_url":"https://github.com/pharmacist-sabot.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Splitter\n\n\u003e A fast, beautiful cross-platform desktop app that splits any multi-page PDF into individual page files — built with Tauri 2 and Vue 3.\n\n![Rust](https://img.shields.io/badge/built_with-Rust-dca282.svg)\n![Tauri](https://img.shields.io/badge/Tauri-2.x-24C8D8.svg)\n![Vue](https://img.shields.io/badge/Vue-3.x-42b883.svg)\n![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg)\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-lightgrey.svg)\n\n---\n\n## Overview\n\n**PDF Splitter** is a cross-platform (macOS and Windows) desktop application that takes any multi-page PDF document and extracts every page into its own individual PDF file.\n\nThe app is built on a native [Tauri 2](https://tauri.app/) shell with a [Vue 3](https://vuejs.org/) + TypeScript renderer, providing:\n\n- **Native performance** — a lean Rust binary with zero Electron overhead.\n- **Parallel page processing** — automatically scales to all available CPU cores for fast extraction.\n- **Beautiful, native-feel UI** — glassmorphism design, dark-mode support, and smooth animations.\n- **Drag \u0026 drop** — drop a PDF straight onto the window to quickly begin splitting.\n- **100% Fidelity** — guarantees perfect quality for fonts, images, and embedded resources.\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- [Rust + Cargo](https://rustup.rs/) (≥ 1.80)\n- [Node.js](https://nodejs.org/) (≥ 18)\n- **macOS**: Xcode Command Line Tools (`xcode-select --install`)\n- **Windows**: Build Tools for Visual Studio (C++ build tools)\n\n### Development\n\n```bash\n# 1. Clone the repository\ngit clone https://github.com/pharmacist-sabot/pdf-splitter.git\ncd pdf-splitter\n\n# 2. Install frontend dependencies\nnpm install\n\n# 3. Start the development server (hot-reload for UI + Rust)\nnpm run tauri:dev\n```\n\n### Production Build\n\n#### macOS\n\n```bash\n# Build the optimized binary + macOS app bundle + DMG installer\nnpm run tauri:build\n```\n\nThe output artifacts (macOS `.app` bundle and `.dmg` installer) will be generated in the `src-tauri/target/release/bundle/` directory.\n\n#### Windows\n\nYou can build the app locally on Windows using the same command:\n\n```bash\nnpm run tauri:build\n```\n\nThe output artifacts (`.msi` or `.exe` installer) will be generated in the `src-tauri/target/release/bundle/` directory.\n\n*Note: There is also an automated GitHub Actions workflow (`build-windows.yml`) that automatically builds and releases the Windows installer (.msi/.exe) whenever a new `v*` tag is pushed to the repository.*\n\n---\n\n## Tech Stack\n\n- **Backend**: Rust, Tauri 2, `lopdf` (for PDF processing), `rayon` (for parallel processing).\n- **Frontend**: Vue 3 (Composition API), TypeScript, Vite.\n\n---\n\n## License\n\nThis project is open source and available under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharmacist-sabot%2Fpdf-splitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpharmacist-sabot%2Fpdf-splitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharmacist-sabot%2Fpdf-splitter/lists"}