Skip to content

Instantly share code, notes, and snippets.

@astanin
Created January 29, 2010 20:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save astanin/290088 to your computer and use it in GitHub Desktop.
Save astanin/290088 to your computer and use it in GitHub Desktop.
Convert PDF to DjVu with cutting every page into two
#!/bin/bash
# растеризовать все страницы в двутональные картинки (для цветных убрать -mono)
pdftoppm -r 600 -mono $1 rawpage
# каждую страницу сжать в чёрно-белый DjVu (cjb2, для цветных использовать c44)
for p in `ls -1 rawpage-*.pbm`; do
# вырезать левую половину: -gravity West -crop 50%x100% +repage
# или правую: -gravity East -crop 50%x100% +repage
# обрезать поля: -trim +repage
# добавить узкое поле: -bordercolor white -border 10
convert $p \
-gravity West -crop 50%x100% +repage \
-trim +repage \
-bordercolor white -border 10 left.pbm && \
convert $p \
-gravity East -crop 50%x100% +repage \
-trim +repage \
-bordercolor white -border 10 right.pbm && \
cjb2 -dpi 600 left.pbm left.djvu && \
cjb2 -dpi 600 right.pbm right.djvu && \
mv left.djvu "$p-a.djvu" && \
mv right.djvu "$p-b.djvu"
done
# собрать в единый DjVu-документ
djvm -c "$1.djvu" rawpage-*.djvu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment