{"id":23694710,"url":"https://github.com/tigitz/pupprinteer","last_synced_at":"2026-01-20T09:30:17.649Z","repository":{"id":270170548,"uuid":"909533152","full_name":"tigitz/Pupprinteer","owner":"tigitz","description":"Effortless HTML to PDF/PNG as a Standalone Binary - Powered by Puppeteer","archived":false,"fork":false,"pushed_at":"2025-01-29T06:30:59.000Z","size":135,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T09:08:02.317Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tigitz.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}},"created_at":"2024-12-29T01:48:44.000Z","updated_at":"2025-01-29T06:31:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d25b6f7-6a94-4fdf-a779-9fc7ef353c2a","html_url":"https://github.com/tigitz/Pupprinteer","commit_stats":null,"previous_names":["tigitz/pupprinteer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigitz%2FPupprinteer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigitz%2FPupprinteer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigitz%2FPupprinteer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigitz%2FPupprinteer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tigitz","download_url":"https://codeload.github.com/tigitz/Pupprinteer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239763577,"owners_count":19692795,"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":"2024-12-30T04:27:52.938Z","updated_at":"2026-01-20T09:30:17.586Z","avatar_url":"https://github.com/tigitz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pupprinteer\n\nA standalone binary tool that bundles Puppeteer and Chrome Headless for converting HTML to PDF without external dependencies.\n\n## Features\n\n- Single binary distribution - no need to install Node.js, Chrome, or any other dependencies\n- Supports both local HTML files and remote URLs as input\n- Bundled Chrome Headless browser\n- Customizable PDF output settings\n- Cross-platform support (Windows, Linux, macOS)\n- Detailed logging options\n\n## Installation\n\nDownload the latest release for your platform from the [releases page](https://github.com/keesystem/pupprinteer/releases).\n\nThe binary is self-contained and requires no additional installation steps.\n\n## Usage\n\nBasic usage:\n```bash\n./pupprinteer -f input.html -o output.pdf\n```\n\nConverting a URL to PDF:\n```bash\n./pupprinteer -f https://example.com -o example.pdf\n```\n\n### Options\n\nRequired:\n- `-f, --file \u003cpath\u003e` - Path to local HTML file or remote URL to convert\n\nOptional:\n- `-o, --output \u003cpath\u003e` - Destination path where the PDF file will be saved\n- `-v, --verbose` - Enable detailed debug logging output\n- `-e, --chrome-executable \u003cpath\u003e` - Custom Chrome browser executable path\n- `-t, --timeout \u003cmilliseconds\u003e` - Additional time to wait after page load completes\n- `-p, --pdf-settings \u003cjson\u003e` - Base PDF settings as JSON (will be overridden by specific options)\n\nPDF Settings Options:\n- `--scale \u003cnumber\u003e` - Scale of the webpage rendering\n- `--displayHeaderFooter` - Display header and footer\n- `--headerTemplate \u003cstring\u003e` - HTML template for the print header\n- `--footerTemplate \u003cstring\u003e` - HTML template for the print footer\n- `--printBackground` - Print background graphics\n- `--landscape` - Paper orientation\n- `--pageRanges \u003cstring\u003e` - Paper ranges to print (e.g., \"1-5, 8, 11-13\")\n- `--format \u003cstring\u003e` - Paper format (letter, legal, tabloid, ledger, a0-a6)\n- `--width \u003cstring\u003e` - Paper width, accepts values labeled with units\n- `--height \u003cstring\u003e` - Paper height, accepts values labeled with units\n- `--preferCSSPageSize` - Give any CSS @page size declared in the page priority\n- `--margin \u003cstring\u003e` - Paper margins, format: \"top,right,bottom,left\" in pixels or with units\n- `--omitBackground` - Hide default white background\n\n## How It Works\n\nPupprinteer bundles Chrome Headless Shell (a minimal version of Chrome optimized for automation) directly into the binary during the build process. When executed, it:\n\n1. Extracts the bundled Chrome binary to your system's temporary directory\n2. Uses this extracted Chrome instance with Puppeteer to generate PDFs\n3. Automatically manages the Chrome binary lifecycle\n\n## Continuous Integration \u0026 Releases\n\nThe project uses GitHub Actions for automated builds and releases:\n\n- Every commit to the `main` branch triggers a new build\n- Successful builds automatically create GitHub releases\n- Platform-specific binaries are attached as release assets:\n  - Windows (x64)\n  - Linux (x64)\n  - macOS (x64 \u0026 ARM64)\n\n## Building from Source\n\nRequirements:\n- [Bun](https://bun.sh/) runtime\n\nClone and build:\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/pupprinteer.git\ncd pupprinteer\n\n# Install dependencies\nbun install\n\n# Download Chrome Headless Shell\nbun run build/chrome-download.ts\n```\n\n# Build for your platform\nWindows:\n```bash\nbun build --compile --target=bun-windows-x64-modern --minify --sourcemap src/main.ts --outfile pupprinteer.exe\n```\n\nLinux:\n```bash\nbun build --compile --target=bun-linux-x64-modern --minify --sourcemap src/main.ts --outfile pupprinteer\n```\n\nThe build process:\n1. Downloads the appropriate Chrome Headless Shell version\n2. Bundles it with the application code\n3. Creates a self-contained binary for the target platform\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigitz%2Fpupprinteer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftigitz%2Fpupprinteer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigitz%2Fpupprinteer/lists"}