In sách nhỏ
Các word processor như MS Word và OpenOffice Writer có khả năng in tài liệu thành dạng booklet với bốn trang trên hai mặt giấy. Nhưng khả năng đó bị giới hạn:
- nếu in nhiều hơn hai trang trên một mặt giấy thì những trang đó không được sắp xếp đúng để đóng lại thành sách
- chỉ in được theo cỡ giấy của máy in
- khó tìm mua sẵn giấy cỡ A6 để cho vào máy in,
- nếu cắt tờ A4 ra thành 4 tờ A6 để in thì sẽ gặp khó khăn khi cần photocopy ra nhiều bản
- Dùng OpenOffice Writer soạn tài liệu trong trang A7 (74x105mm). Từ OO Writer, Export as pdf ra $prefix.pdf (prefix là shell variable chứa tên file)
- Dùng Ghostscript để đổi file pdf ra nhiều file png
gs -r$dpi -sDEVICE=pngmono -sOutputFile=$prefix-%d.png -_ < $prefix.pdf
Tuỳ theo máy in mà chọn dpi thích hợp, máy in phun thì chọn 359dpi, máy in laser thì chọn 299dpi (bớt 1 pixel để chừa lề khi in). Dùng device pngmono để in trên máy in laser, device png16m để in trên máy in phun màu. Đến đây đã có các $prefix-i.png, i từ 1 tới num_page. - Nếu num_page không phải bội số của 16, dùng Gimp tạo một file trắng tên $prefix-0.png bằng cỡ các trang png, link file trắng đó thành các file nữa cho num_page đủ bội số 16
- Dùng bash script và ImageMagick để ghép 8 trang A7 thành 1 trang A4
for (( i=$((j=0)); i<$num_page; ((i+=16)) )) ; do
{
montage $prefix-$((i + 4)).png $prefix-$((i + 1)).png $prefix-$((i + 8)).png $prefix-$((i + 5)).png $prefix-$((i + 12)).png $prefix-$((i + 9)).png $prefix-$((i + 16)).png $prefix-$((i + 13)).png -geometry +0+0 -tile 4x2 ${prefix}s-$((++j)).png;
montage $prefix-$((i + 6)).png $prefix-$((i + 7)).png $prefix-$((i + 2)).png $prefix-$((i + 3)).png $prefix-$((i + 14)).png $prefix-$((i + 15)).png $prefix-$((i + 10)).png $prefix-$((i + 11)).png -geometry +0+0 -tile 4x2 ${prefix}s-$((++j)).png;
} ; done
In các trang ${prefix}s-i.png liên tiếp trên 2 mặt giấy A4, tốt nhất thì chọn đúng độ phân giải $dpi và chọn chế độ in tràn lề để hình không bị co hoặc mất lề. Cắt mỗi tờ A4 ra thành 4 tờ A6, xếp đôi các tờ A6 đó lại thành cuốn sách A7.
Do nhiều yếu tố như là cỡ giấy không chính xác tuyệt đối, cơ cấu kéo giấy vào máy nên hai mặt không khớp nhau hoàn toàn. Nhờ tốc độ in chậm nên máy in phun sẽ cho bản in hai mặt ít lệch nhau hơn máy in laser.
Nếu cần đóng cuốn sách đẹp thì đưa tiệm đóng sách đóng và xén. Dùng lệnh sau để in trang bìa, đem in hoặc photocopy trên giấy dầy để làm bìa.
montage $prefix-0.png $prefix-0.png $prefix-1.png $prefix-0.png $prefix-0.png $prefix-0.png $prefix-1.png $prefix-0.png -geometry +0+0 -tile 4x2 ${prefix}s-0.png;
Cách làm trên có một nhược điểm là chữ đã được render thành pixel trước khi gửi ra máy in nên về lý thuyết có thể không đẹp như được render bằng máy in.
Theo script trên thì sách sẽ được đóng theo cách bấm đinh hoặc dán keo. Nếu muốn may sách thì phải quay các trang A7 và xếp thành từng tay sách với 4n tờ đôi lồng vào nhau.
Tôi đã dùng cách trên để in cuốn sách Dưới Chân Thầy, file pdf ở đây, một cuốn sách nhỏ chỉ cách làm người tốt mà tôi đã được đọc từ năm 1974.
Trong các mailing list cũng đã có người bàn về việc này: dùng LaTex để sắp xếp các trang A7 trong trang A4.
* Những kinh nghiệm khác