{"id":27916717,"url":"https://github.com/vinitkumar/pdf-joiner","last_synced_at":"2025-10-30T03:27:31.394Z","repository":{"id":279780254,"uuid":"939934183","full_name":"vinitkumar/pdf-joiner","owner":"vinitkumar","description":"Join PDFs on Mac with Ease With Native Mac Tools","archived":false,"fork":false,"pushed_at":"2025-02-27T11:24:37.000Z","size":746,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T15:45:20.190Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/vinitkumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2025-02-27T10:51:08.000Z","updated_at":"2025-02-27T12:21:38.000Z","dependencies_parsed_at":"2025-02-27T15:45:23.689Z","dependency_job_id":"e883be5e-d816-44c0-bc82-567a6ebc5f1a","html_url":"https://github.com/vinitkumar/pdf-joiner","commit_stats":null,"previous_names":["vinitkumar/pdf-joiner"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinitkumar%2Fpdf-joiner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinitkumar%2Fpdf-joiner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinitkumar%2Fpdf-joiner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinitkumar%2Fpdf-joiner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinitkumar","download_url":"https://codeload.github.com/vinitkumar/pdf-joiner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252721893,"owners_count":21793917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-05-06T16:39:07.873Z","updated_at":"2025-10-30T03:27:31.389Z","avatar_url":"https://github.com/vinitkumar.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF Joiner\n\n[![Go CI](https://github.com/vinitkumar/pdf-joiner/actions/workflows/ci.yml/badge.svg)](https://github.com/vinitkumar/pdf-joiner/actions/workflows/ci.yml)\n\nA simple command-line tool to join multiple PDF files into a single PDF document on **macOS and Linux**.\n\n## Requirements\n\n### macOS\n- macOS (the tool uses the built-in macOS PDF joining utility)\n- Go 1.24 or higher (for development)\n\n### Linux\n- Linux distribution with one of the following PDF tools installed:\n  - **pdfunite** (from poppler-utils) - *Recommended, available on most distributions*\n  - **ghostscript** (gs) - *Widely available fallback*\n  - **qpdf** - *Alternative option*\n- Go 1.24 or higher (for development)\n\n### Installation of Linux PDF Tools\n\n**Ubuntu/Debian:**\n```bash\nsudo apt-get install poppler-utils  # for pdfunite\n# or\nsudo apt-get install ghostscript    # for gs\n# or\nsudo apt-get install qpdf           # for qpdf\n```\n\n**RHEL/CentOS/Fedora:**\n```bash\nsudo dnf install poppler-utils      # for pdfunite\n# or\nsudo dnf install ghostscript        # for gs\n# or\nsudo dnf install qpdf               # for qpdf\n```\n\n**Arch Linux:**\n```bash\nsudo pacman -S poppler              # for pdfunite\n# or\nsudo pacman -S ghostscript          # for gs\n# or\nsudo pacman -S qpdf                 # for qpdf\n```\n\n## Installation\n\n### From Source\n\n```bash\ngit clone https://github.com/vinitkumar/pdf-joiner.git\ncd pdf-joiner\ngo build -o pdf-joiner\n```\n\n### From Releases\n\nDownload the latest binary from the [Releases page](https://github.com/vinitkumar/pdf-joiner/releases).\n\n## Usage\n\n```bash\n# Join PDFs with default output filename (timestamp-based)\n./pdf-joiner file1.pdf file2.pdf file3.pdf\n\n# Join PDFs with a custom output filename\n./pdf-joiner -o output.pdf file1.pdf file2.pdf file3.pdf\n```\n\n## Features\n\n- **Cross-platform support**: Works on macOS and Linux\n- **Automatic tool detection**: Uses the best available PDF tool on each platform\n- **Multiple backends on Linux**: Supports pdfunite, ghostscript, and qpdf with intelligent fallback\n- Join multiple PDF files into a single document\n- Specify custom output path\n- Automatic output filename generation with timestamp\n- Verification of input files\n\n## How It Works\n\nThe tool automatically detects your operating system and uses the appropriate PDF joining method:\n\n- **macOS**: Uses the built-in `/System/Library/Automator/Combine PDF Pages.action/Contents/MacOS/join` utility\n- **Linux**: Automatically detects and uses the best available tool in this priority order:\n  1. `pdfunite` (from poppler-utils) - Fastest and most reliable\n  2. `ghostscript` (`gs`) - Widely available, stable fallback\n  3. `qpdf` - Alternative option\n\nIf none of the Linux tools are available, the program will provide clear instructions on which packages to install.\n\n## Development\n\n### Testing\n\n```bash\ngo test -v ./...\n```\n\n### Building\n\n```bash\ngo build -o pdf-joiner\n```\n\n## License\n\nMIT\n\n## Author\n\nVinit Kumar  (mail@vinitkumar.me)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinitkumar%2Fpdf-joiner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinitkumar%2Fpdf-joiner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinitkumar%2Fpdf-joiner/lists"}