14

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?

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

5 Answers 5

20

I'd do it with pdftk.

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

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      \
     file.pdf 

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

5

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
2

You can use qpdf

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

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. ))

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .