1.0.1 • Published 2 years ago

@yetanothertool/booklet v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Project Logo




About


Simple NodeJS command to split and reorder PDF Pages into Signatures to print the outputted PDF in a Booklet style.

Reasons for this project:

It is always fun to play with nodeJS !
I needed to split my Apple Pages document into booklet.

Installation

npm install -y @yetanothertool/booklet

Usage

yat-booklet <source> <signature_count> [output]

yat-booklet <source.pdf> <number> [output.pdf]

Preview Mode

export PREVIEW=1 
yat-booklet mySuperBook.pdf 8

Output:

Document processed with success !
Saved to 'output.pdf'
Summary: '80' pages split into '8' signature(s)
[
  [ [ 10, 1 ], [ 2, 9 ], [ 8, 3 ], [ 4, 7 ], [ 6, 5 ] ],
  [ [ 20, 11 ], [ 12, 19 ], [ 18, 13 ], [ 14, 17 ], [ 16, 15 ] ],
  [ [ 30, 21 ], [ 22, 29 ], [ 28, 23 ], [ 24, 27 ], [ 26, 25 ] ],
  [ [ 40, 31 ], [ 32, 39 ], [ 38, 33 ], [ 34, 37 ], [ 36, 35 ] ],
  [ [ 50, 41 ], [ 42, 49 ], [ 48, 43 ], [ 44, 47 ], [ 46, 45 ] ],
  [ [ 60, 51 ], [ 52, 59 ], [ 58, 53 ], [ 54, 57 ], [ 56, 55 ] ],
  [ [ 70, 61 ], [ 62, 69 ], [ 68, 63 ], [ 64, 67 ], [ 66, 65 ] ],
  [ [ 80, 71 ], [ 72, 79 ], [ 78, 73 ], [ 74, 77 ], [ 76, 75 ] ]
]

The output.pdf file contains all pages in the correct order. The next step is to configure the printer properly to print your book.

Troubleshooting

You must use a signature that matches your total page count. for exemple:

  • 80 pages with 3 signatures is NOT VALID
  • 80 pages with 1 or 2 or 4 and etc. signature(s) is VALID

Contributing

  1. Create a Feature Branch
  2. Commit your changes
  3. Push your changes
  4. Create a PR

Branch Checkout:

git checkout -b <feature|fix|release|chore|hotfix>/prefix-name

Your branch name must starts with feature|fix|release|chore|hotfix and use a / before the name; Use hyphens as separator; The prefix correspond to your Kanban tool id (e.g. abc-123)

Keep your branch synced:

git fetch origin
git rebase origin/master

Commit your changes:

git add .
git commit -m "<feat|ci|test|docs|build|chore|style|refactor|perf|BREAKING CHANGE>: commit message"

Follow this convention commitlint for your commit message structure

Push your changes:

git push origin <feature|fix|release|chore|hotfix>/prefix-name

Examples:

git checkout -b release/v1.15.5
git checkout -b feature/abc-123-something-awesome
git checkout -b hotfix/abc-432-something-bad-to-fix
git commit -m "docs: added awesome documentation"
git commit -m "feat: added new feature"
git commit -m "test: added tests"

License

Distributed under the MIT License. See LICENSE for more information.

Contact

  • Tommy Gingras @ tommy@studiowebux.com