To convert a batch of image files (scans) into a single djvu document we first need to convert those files into pbm format first. Then convert each pbm file into a djvu document and then finally merge those multiple djvu into a single djvu document. But for those conversions we need Imagemagick (for convert)
And we would need the djvulibre toolbox also
After these softwares are installed we are ready to run the following script. This script will convert all jpg images into pbm and then to djvu and finally merge them into one single djvu file. I have assumed that the scans are in jpeg format. For tiff files replace the TYPE with tif. Or you can call the script with the command line option of the file type. Just replace "jpg" by $1 in the script below.
sudo apt-get install imagemagick --fix-missing
And we would need the djvulibre toolbox also
sudo apt-get install djvulibre*
After these softwares are installed we are ready to run the following script. This script will convert all jpg images into pbm and then to djvu and finally merge them into one single djvu file. I have assumed that the scans are in jpeg format. For tiff files replace the TYPE with tif. Or you can call the script with the command line option of the file type. Just replace "jpg" by $1 in the script below.
#!/bin/bash TYPE="jpg" for x in *.$TYPE do y=`basename $x .$TYPE` convert $y.$TYPE $y.pbm cjb2 -clean $y.pbm $y.djvu done djvm -c final.djvu *.djvu mv final.djvu temp rm *.pbm *.djvu mv temp final.djvu
To batch convert image file from one format to another using convert
In order to convert a bunch of images files to another format we can use the convert command from Imagemagick suite. However just using convert *.tif *.jpg will not do, since it will not preserve the filenames. We can run a for loop over all the tif files. But that is overkill. A much more robust way to do this is to use the following command
convert *.tiff -set filename: "%t" %[filename:].jpg
This converts all tiff images to jpg and it is preferred over convert *.tif *.jpg since the above command will preserve the filenames of the tif files.
Comments