While in the process of making a photobook in Lightroom I wanted to review the book before actually ordering it. For this I wanted to have the pages in JPEG format instead of one big PDF.
It turns out that with ghostscript one can easily extract the images.
I am using cygwin on a Windows 7 64 Bit operating system to work with ImageMagick, Ghostview and the like.
But before I was able to use ghostscript I had to fix this error I was getting about the font Arial.ttf not being found, after some research I found that creating the missing directories and adding a link to the font in the Windows directory fixes that issue:
ln -s /cygdrive/c/Windows/Fonts/arial.ttf /usr/share/fonts/TTF/
Then I used ghostview to convert the PDF pages to individual JPEG files in a directory called jpgs:
$ gs -dNOPAUSE -sDEVICE=jpeg -dFirstPage=1 -dLastPage=108 -sOutputFile=jpgs/usa_1991_%03d.jpg -dJPEGQ=80 -r300x300 -q "USA 1991.pdf" -c quit
I also did that for the cover PDF, then opened the image in Photoshop and created two additional images from the front and back cover and named them usa_1991_000.jpg and usa_1991_109.jpg to be able to combine them with the single first and last pages of the book.
The shell script below was used to combine each two JPEG images into a single file:
# counting from 0 to 109 (number of pages) in steps of 2
# numbers are padded with zeroes, so 1 becomes 001
for index in $(seq -f "%03g" 0 2 109)
# left image file name
# create the padded number for the right image, add padding, store it in indexPlusOnePadded
printf -v indexPlusOnePadded "%03d" $indexPlusOne
# add two to the right page number
# right image file name
# combine the images using ImageMagick
montage -density 300 $left $right -tile 2x1 -quality 100 -geometry 2888x2475 "page-$index.jpg"
Here are some examples of the finished double-spread images in reduced size: