{"id":19269101,"url":"https://github.com/studiowebux/booklet","last_synced_at":"2026-04-25T11:35:48.377Z","repository":{"id":57700626,"uuid":"502437261","full_name":"studiowebux/booklet","owner":"studiowebux","description":"Simple command to split and reorder PDF Pages into Signatures to print the outputted PDF in a Booklet style.","archived":false,"fork":false,"pushed_at":"2025-10-11T04:17:12.000Z","size":351,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-28T13:29:01.956Z","etag":null,"topics":["book","bookbinding","booklet","deno","layout","nodejs","pdf","print","printer","signature"],"latest_commit_sha":null,"homepage":"","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/studiowebux.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}},"created_at":"2022-06-11T19:21:56.000Z","updated_at":"2025-10-14T14:13:50.000Z","dependencies_parsed_at":"2022-09-26T21:11:47.789Z","dependency_job_id":null,"html_url":"https://github.com/studiowebux/booklet","commit_stats":null,"previous_names":["yet-another-tool/booklet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/studiowebux/booklet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiowebux%2Fbooklet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiowebux%2Fbooklet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiowebux%2Fbooklet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiowebux%2Fbooklet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/studiowebux","download_url":"https://codeload.github.com/studiowebux/booklet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiowebux%2Fbooklet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["book","bookbinding","booklet","deno","layout","nodejs","pdf","print","printer","signature"],"created_at":"2024-11-09T20:18:29.043Z","updated_at":"2026-04-25T11:35:43.369Z","avatar_url":"https://github.com/studiowebux.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/studiowebux"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![Project Logo](https://webuxlab-static.s3.ca-central-1.amazonaws.com/logoAmpoule.svg)\n\n\u003ch2\u003eBooklet\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/yet-another-tool/booklet/issues\"\u003eReport Bug\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/yet-another-tool/booklet/issues\"\u003eRequest Feature\u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about\"\u003eAbout\u003c/a\u003e\n    \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n---\n\n\u003ca href=\"https://badge.fury.io/js/@yetanothertool%2Fbooklet\"\u003e\u003cimg src=\"https://badge.fury.io/js/@yetanothertool%2Fbooklet.svg\" alt=\"npm version\" height=\"18\"\u003e\u003c/a\u003e\n\n---\n\n## About\n\n\u003cdiv\u003e\n\u003cb\u003e | \u003c/b\u003e\n\u003ca href=\"https://www.buymeacoffee.com/studiowebux\" target=\"_blank\"\n      \u003e\u003cimg\n        src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\"\n        alt=\"Buy Me A Coffee\"\n        style=\"height: 30px !important; width: 105px !important\"\n/\u003e\u003c/a\u003e\n\u003cb\u003e | \u003c/b\u003e\n\u003ca href=\"https://webuxlab.com\" target=\"_blank\"\n      \u003e\u003cimg\n        src=\"https://webuxlab-static.s3.ca-central-1.amazonaws.com/logoAmpoule.svg\"\n        alt=\"Webux Logo\"\n        style=\"height: 30px !important\"\n/\u003e Webux Lab\u003c/a\u003e\n\u003cb\u003e | \u003c/b\u003e\n\u003c/div\u003e\n\n---\n\nSimple NodeJS command to split and reorder PDF Pages into Signatures to print the outputted PDF in a Booklet style.\n\n***Reasons for this project:*** \n\u003e It is always fun to play with nodeJS !  \nI needed to split my Apple Pages document into booklet. \n\n### Installation\n\n```bash\nnpm install -y @yetanothertool/booklet\n```\n\n### Usage\n\n```bash\nyat-booklet \u003csource\u003e \u003csignature_count\u003e [output]\n\nyat-booklet \u003csource.pdf\u003e \u003cnumber\u003e [output.pdf]\n```\n\n**Preview Mode**\n\n```bash\nexport PREVIEW=1 \nyat-booklet mySuperBook.pdf 8\n```\n\n*Output*:\n```bash\nDocument processed with success !\nSaved to 'output.pdf'\nSummary: '80' pages split into '8' signature(s)\n[\n  [ [ 10, 1 ], [ 2, 9 ], [ 8, 3 ], [ 4, 7 ], [ 6, 5 ] ],\n  [ [ 20, 11 ], [ 12, 19 ], [ 18, 13 ], [ 14, 17 ], [ 16, 15 ] ],\n  [ [ 30, 21 ], [ 22, 29 ], [ 28, 23 ], [ 24, 27 ], [ 26, 25 ] ],\n  [ [ 40, 31 ], [ 32, 39 ], [ 38, 33 ], [ 34, 37 ], [ 36, 35 ] ],\n  [ [ 50, 41 ], [ 42, 49 ], [ 48, 43 ], [ 44, 47 ], [ 46, 45 ] ],\n  [ [ 60, 51 ], [ 52, 59 ], [ 58, 53 ], [ 54, 57 ], [ 56, 55 ] ],\n  [ [ 70, 61 ], [ 62, 69 ], [ 68, 63 ], [ 64, 67 ], [ 66, 65 ] ],\n  [ [ 80, 71 ], [ 72, 79 ], [ 78, 73 ], [ 74, 77 ], [ 76, 75 ] ]\n]\n```\n\nThe `output.pdf` file contains all pages in the correct order.\nThe next step is to configure the printer properly to print your book.\n\n### Troubleshooting\n\nYou must use a signature that matches your total page count.\nfor exemple: \n- 80 pages with *3* signatures is **NOT VALID**\n- 80 pages with *1* or *2* or *4* and *etc.* signature(s) is **VALID**\n\n---\n\n## Contributing\n\n1. Create a Feature Branch\n2. Commit your changes\n3. Push your changes\n4. Create a PR\n\n\u003cdetails\u003e\n\u003csummary\u003eWorking with your local branch\u003c/summary\u003e\n\n**Branch Checkout:**\n\n```bash\ngit checkout -b \u003cfeature|fix|release|chore|hotfix\u003e/prefix-name\n```\n\n\u003e Your branch name must starts with [feature|fix|release|chore|hotfix] and use a / before the name; \n\u003e Use hyphens as separator;\n\u003e The prefix correspond to your Kanban tool id (e.g. abc-123)\n\n**Keep your branch synced:**\n\n```bash\ngit fetch origin\ngit rebase origin/master\n```\n\n**Commit your changes:**\n\n```bash\ngit add .\ngit commit -m \"\u003cfeat|ci|test|docs|build|chore|style|refactor|perf|BREAKING CHANGE\u003e: commit message\"\n```\n\n\u003e Follow this convention commitlint for your commit message structure\n\n**Push your changes:**\n\n```bash\ngit push origin \u003cfeature|fix|release|chore|hotfix\u003e/prefix-name\n```\n\n**Examples:**\n\n```bash\ngit checkout -b release/v1.15.5\ngit checkout -b feature/abc-123-something-awesome\ngit checkout -b hotfix/abc-432-something-bad-to-fix\n```\n\n```bash\ngit commit -m \"docs: added awesome documentation\"\ngit commit -m \"feat: added new feature\"\ngit commit -m \"test: added tests\"\n```\n\n\u003c/details\u003e\n\n## License\n\nDistributed under the MIT License. See LICENSE for more information.\n\n## Contact\n\n- Tommy Gingras @ tommy@studiowebux.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudiowebux%2Fbooklet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudiowebux%2Fbooklet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudiowebux%2Fbooklet/lists"}