Giới-thiệu

Thân-thế
Thành-tích

Hữu-ích

Lập-kế-hoạch-tài-chính gia-đình

Đầu-tư-cổ-phiếu

Các loại bảo-hiểm

Câu-chuyện

Kinh-nghiệm

Máy-tính

Chữ-Việt

Linh tinh

Ý kiến

Danh mục

Download
Mục lục





In sách nhỏ

Soạn lần đầu ngày 07/07/2011

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 muốn in vài bản của một cuốn sách nhỏ cỡ A7 thì không thể dùng word processor được vì: Dưới đây là các bước để in vài bản của một cuốn sách nhỏ cỡ A7 bằng các phần mềm trên Linux.
  1. 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)
  2. 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.
  3. 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
  4. 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.