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? Jun 26, 2011 at 14:05
  • @Gilles nope. pdftk works for me. thanks...
    – ixtmixilix
    Jun 26, 2011 at 14:13

5 Answers 5


I'd do it with pdftk.

pdftk A=all.pdf cat Aodd output odd.pdf
pdftk A=all.pdf cat Aeven output even.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.


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

You can do it with pdftocairo from Poppler:

pdftocairo -pdf -e input.pdf output.pdf

for odd pages, and:

pdftocairo -pdf -o input.pdf output.pdf

for even pages.

!! Keep in mind only that currently (pdftocairo v. 0.80.0) there is a bug: https://gitlab.freedesktop.org/poppler/poppler/issues/873 and odd and even pages options are mixed up. ))

  • This answer deserves more upvotes. Feb 23 at 19:46

You can use qpdf

qpdf --empty --pages input.pdf 1-z:even -- even.pdf
qpdf --empty --pages input.pdf 1-z:odd  --  odd.pdf

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.