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 'SO- stop being evil'Jun 26, 2011 at 14:05
-
@Gilles nope. pdftk works for me. thanks...– ixtmixilixJun 26, 2011 at 14:13
5 Answers
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 \
file.pdf
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 use qpdf
qpdf --empty --pages input.pdf 1-z:even -- even.pdf
qpdf --empty --pages input.pdf 1-z:odd -- odd.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. ))