User:Youjung/paged.js: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 38: Line 38:


1. Set the page size and margin
1. Set the page size and margin
Set the size and margin.
@page {
    size: A5;
    margin: 8mm 12mm;
    font-family: TT2020StyleD-Regular;
    p {
        font-size: 9pt;
        line-height: 14pt;
    }
}


2. Set page order using pagebreak
2. Set page order using pagebreak


<code>break-before: page;</code> The element should start on a new page
<code>break-before: page;</code> The element should start on a new page
<code>break-before: right;</code> The element starts on the next right/left page.
<br><code>break-before: right;</code> The element starts on the next right/left page.
 
3. Aligning element


==== Step 3. Make PDF ====
==== Step 3. Make PDF ====

Revision as of 10:39, 30 January 2026

For Extraterrestrial Zine Fair 2026, I'm using paged.js.

There are 2 reason for using paged.js instead of weasyprint. First, The Internet Phone Book used paged.js and I'm a big fan of Elliott Cost. Second, paged.js supports nth-child unlike weasyprint. This page is the documentation of making a zine using paged.js.

Title: Tangled Thoughts

During the winter break, I spent time drawing tangled threads. I've been weirdly obsessed with these shapes. I think it reflects my chaotic mind. But they are satisfying to draw. With the gathered drawings, I compiled them together into a zine. It is a good practice to move away from Adobe, although I'm still using Photoshop to edit the drawings.

Working Process

Step 1. File Setup

I used Paged.js as a polyfill in web browsers as it is easy to design looking at the results live through the browser.

Getting Started with Paged.js

1. Download paged.polyfill.js and interface.css link it from the head of your html file. Make a new style.cssand also link it.

<script src="js/paged.polyfill.js"></script>
<link href="path/to/file/interface.css" rel="stylesheet" type="text/css" />
<link href='css/style.css' rel='stylesheet' />
├── css
│   ├── interface.css
│   └── style.css
├── index.html
└── js
    └── paged.polyfill.js

2. To preview the pdf Go Live on your code Editor.

3. You can also download paged.js through command line.

$ npm install -g pagedjs-cli pagedjs

Step 2. Design with CSS

This is the fun part! Using html and css to designing the zine.

Web design for print

1. Set the page size and margin

Set the size and margin.

@page {
   size: A5;
   margin: 8mm 12mm;
   font-family: TT2020StyleD-Regular;
   p {
       font-size: 9pt;
       line-height: 14pt;
   }
}

2. Set page order using pagebreak

break-before: page; The element should start on a new page
break-before: right; The element starts on the next right/left page.

Step 3. Make PDF

If you're ready to print, make it into a pdf. The total number of pages must be a multiple of 4.

1. cmd/ctrl + p to download the pdf.

2. pdfbook for Imposition

pdfbook2 --paper=a4paper -n -s output.pdf
-s, --short-edge
-n, --no-crop

Step 4. Print and bind them together

For my pencil drawings, printing from the free printer would not be an option. The image resolution is bad. I'll have to use the printers from the print station...

Test print2.jpgTest print.jpgTest print 3.jpg

Final Output