I have a PDF that consists of several hundred pages of bilingual text. Since I need to use OCR on each language separately, I want to grab the even and odd pages and make two separate PDFs, using convert or ghostscript. The language I want to do first is on the odd-numbered pages. What convert or ghostscript command can I use to grab these and write them to a new file?

  • Is there a reason why you want to use ImageMagick or Ghostscript, as opposed to more appropriate tools? – Gilles Jun 26 '11 at 14:05
  • @Gilles nope. pdftk works for me. thanks... – ixtmixilix Jun 26 '11 at 14:13

I'd do it with pdftk.

pdftk A=all.pdf cat Aodd output odd.pdf
pdftk A=all.pdf cat Aeven output even.pdf

With poppler-utils tools you could first extract single pages with pdfseparate:

pdfseparate infile.pdf piece-%d.pdf

into pieces like piece-1.pdf, piece-2.pdf ... piece-n.pdf where n is the total number of pages in your original pdf.

You could then join them with pdfunite (and a shell that supports using an increment value with range expansion: {<START>..<END>..<INCR>}):

pdfunite piece-{1..n..2}.pdf odd.pdf
pdfunite piece-{2..n..2}.pdf even.pdf

Finally, remove the pieces:

rm piece-{1..n}.pdf

pdftk is not Open Source any longer, unfortunately. (That is a long story.)

Plain gs engine can do it, though:

  gs -sDEVICE=pdfwrite     \
     -sPageList=odd         \
     -sOutputFile=odd.pdf   \
     -dBATCH -dNOPAUSE      \

Then substitute 'odd' with 'even' to select even pages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.