Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PDF to JPEG conversion using Ghostscript

I'm using Ghostscript to convert my PDF files to JPEGs with Ghostscript which works great.

For my output images I'm using %03d in the file name, so the file names come out 001, 002 ... and so on according to the page numbers.

But i want in some case the numbers to start from an higher number.

For example I process a file with two pages so the output images are page001.jpg, page002.jpg

Now I want to process another PDF and instead of replacing those files, I want to create page003.jpg, page004.jpg.

How can this be done?

This is my full command line I'm using now:

'C:\gs\gs9.14\bin \gswin64c -dNOPAUSE -sDEVICE=png16m \
  -sOutputFile=page-%03d.jpg -r100x100 -q' . $pdf_file. '-c quit'
like image 247
Daniel Katzan Avatar asked Jan 02 '15 10:01

Daniel Katzan


1 Answers

Here is a workaround trick, that you could use:

gswin64c.exe                  ^
   -sDEVICE=png16m            ^
   -sOutputFile=page-%03d.jpg ^
   -r100x100                  ^
   -c "showpage showpage"     ^
   -f filename.pdf

The -c "showpage showpage" inserts two empty pages into the output. The output files will be named

page-001.jpg + page-002.jpg + page-003.jpg + page-004.jpg

So the first two are white-only JPEGs and should be deleted afterwards.

You can extend this command with any number of empty pages you want.


Update

Of course, if you know in advance that you want to convert several different PDF files to images where you want the counting for a new PDF to continue exactly from where the last PDF ended, you could do this:

gswin64c.exe                  ^
   -sDEVICE=jpeg              ^
   -sOutputFile=page-%03d.jpg ^
   -r100x100                  ^
   -f file1.pdf               ^
   -f file2.pdf               ^
   -f file3.pdf               ^
   -f [...]

BTW, your original command requests .jpg file suffixes, while the Ghostscript device is png16m. This doesn't match. Initially I blindly copied your command, but now I've corrected it.

like image 55
Kurt Pfeifle Avatar answered Oct 13 '22 00:10

Kurt Pfeifle