I try to split a multipage PDF with Ghostscript, and I found the same solution on more sites and even on ghostscript.com, namely:
gs -sDEVICE=pdfwrite -dSAFER -o outname.%d.pdf input.pdf
But it seems not working for me, because it produces one file, with all pages, and with the name outname.1.pdf.
When I add the start and end pages, then it is working fine, but I want it to work without knowing those parameters.
In the gs-devel archive, I found a solution for this:
http://ghostscript.com/pipermail/gs-devel/2009-April/008310.html --
but I feel like doing it without pdf_info
.
When I use a different device, for example pswrite
, but same
parameters, it works correctly, producing as many ps files, as my
input.pdf contains.
Is this normal when using pdfwrite
? Am I doing something wrong?
I found this script wriiten by Mr Weimer super useful:
#!/bin/sh
#
# pdfsplit [input.pdf] [first_page] [last_page] [output.pdf]
#
# Example: pdfsplit big_file.pdf 10 20 pages_ten_to_twenty.pdf
#
# written by: Westley Weimer, Wed Mar 19 17:58:09 EDT 2008
#
# The trick: ghostscript (gs) will do PDF splitting for you, it's just not
# obvious and the required defines are not listed in the manual page.
if [ $# -lt 4 ]
then
echo "Usage: pdfsplit input.pdf first_page last_page output.pdf"
exit 1
fi
gs -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$4" -dFirstPage=$2 -dLastPage=$3 -sDEVICE=pdfwrite "$1"
Origin from : http://www.cs.virginia.edu/~weimer/pdfsplit/pdfsplit
save it as pdfsplit.sh
, see the magic happens.
PDFSAM also could do the job. Available on Windows and Mac.