5

Suppose I have serveral BMP image file, say 001.bmp, 002.bmp,..., 100.bmp. I want to convert these files to a single djvu file, whose first page is the content of 001.bmp, the second page is the content of 002.bmp...etc.

What is the best way (software) to do this task? I don't want to upload those image file to a server, since it takes too much time. On the other hand, I am not restricted to use BMP files, I can also work with PNG or JPG files.

user565739
  • 603
  • 3
  • 10
  • 18

2 Answers2

8

Assuming you are on Linux. Install the djvulibre packages (on Debian/Ubuntu, it's apt install djvulibre-bin), cd to the path where you have your images and run the following:

for x in *.jpg; do c44 -dpi 300 $x; done
djvm -c ../result.djvu *.djvu
ddjvu -format=pdf myfile.djvu myfile.pdf

Sources:

On Windows you could follow these steps on cygwin, WSL or similar.

balkian
  • 924
  • 5
  • 11
  • Note: you may want to add `-percent 100` or similar option after `-dpi 300`, otherwise image quality in the resulting DJVU (and thus PDF) file may be quite bad. – Ruslan Nov 18 '18 at 15:15
2

For color pages:

pages=pg1.djvu
c44 -dpi 300 pg1.jpg pg1.djvu

For black/white:

for (( i = 2; i <= $N; i++ )); do
  echo $i
  convert pg$i.jpg pg$i.pbm
  cjb2 pg$i.pbm pg$i.djvu
  pages="$pages pg$i.djvu"
done

Join all pages:

djvm -c book.djvu  $pages
gavenkoa
  • 1,906
  • 5
  • 31
  • 38
  • Since `c44` takes jpg's why do you suggest doing the conversion to pbm specifically for black and white? – Diagon Mar 20 '17 at 03:23
  • BW uses a much less memory then color. `cjb2` works only with `pbm` files if I proper remember... – gavenkoa Mar 20 '17 at 08:48