A JS application to format PDFs for bookbinding, based on Bookbinder, rewritten to use PDF-Lib as its backend library. Like Bookbinder, it is licensed under the Mozilla Public License.
Go to the project page to use the app online - saving a complete copy of the webpage will enable you to load it locally without a web connection, too.
A very helpful guide on page size given layout and paper selection has been created and can be found HERE.
Snapshot of the size chart as of 2022-08-11
See the contributing documentation!
npm run dev # Starts the development server (auto-refreshes changes) on http://localhost:5173/bookbinder-js/
npm run build # Builds output files into the /dist folder, to be copied and served elsewhere
npm run preview # Builds output files into the /dist folder and serves locally on http://localhost:4173/bookbinder-js/
npm run test # Runs vitest, and auto-retests if you make changes to test files
npm run test:unit # Runs the unit tests (fast) with vitest, and auto-retests if you make changes to test files
npm run test:pdf # Runs the pdf check tests (slow), and auto-retests if you make changes to test files
npm run lint # Runs ESLint to check for coding style violations
npm run lint:fix # Runs ESLint to check for coding style violations, and attempts to fix all easily-fixed ones
npm run prettier # Runs Prettier to check for file formatting violations
npm run prettier:fix # Runs ESLint to check for file formatting violations, and attempts reformat any bad files
To close out of any of the commands that don't automatically exist (dev
, preview
, and test
), type q
and then hit Enter.
npm install
npm run dev
And load http://localhost:4173/bookbinder-js/ in any modern web browser.
In the /docs
directory:
- There's 3 sample PDFs (and the
.tex
files to generate them) in landscape/portrait/square proportions filled with lorum ipsum and colored backgrounds to help test the positioning of the layouts. - There's a basic PDF with just the numbers 1-120 writ large, used for figuring out page ordering.
- A basic export of the different layouts with proportional/snug settings have been recorded for comparison/reference as well as several shots of
centered
settings. These can be found in the/docs/examples
folder.