Cortar PDF

A ver si me podéis ayudar, que llevo un rato probando y no lo consigo. Veréis, estoy de exámenes y de una asignatura tengo muchos pdfs bastante largos que me gustaría modificar para poder estudiar mejor. Es algo extraño lo que quiero hacer así que ya parto sin muchas esperanzas.

He hecho un dibujillo, lo pongo primero para explicarme mejor:

Imagen

Ahora tengo los pdfs como en el caso 0, con cuatro "páginas por página" y es bastante engorroso. Me gustaría editarlos de alguna forma más o menos automática y, a poder ser, manteniendo el formato (es decir, el texto, texto; las imágenes, imágenes) y dejarlos como en el caso 2 a ser posible y si no como en el 1.

No he conseguido nada ni editando (pdfedit, jPDF Tweak...) ni imprimiendo tocándolo todo con gtklp y alguno más.

Supongo que al final tendré que hacer algún script con imagemagick, a no ser que se os ocurra algo ;) Saludos y gracias
A mi lo q se me ocurre es usar algo como el pdf2doc o similar, lo edites en open office y luego lo vuelvas a importar en pdf.
Gracias. Sería algo cansino, son 18 pdfs con una media de 25 páginas.

Supongo que acabaré pasándolo a imagen, recortando con imagemagick y juntando otra vez en pdf, pero ya perdería el texto :( O lo acabaré dejando como está.
E imprimir la selección a un fichero?
Sería lo mismo, ir a mano pdf por pdf. Gracias.

Nada, voy a hacer un script y arreando.

Edito: Ale, hecho.

#!/bin/bash

mkdir salida

for i in *.pdf; do
   mkdir "${i//.pdf/}"
   echo "${i}:"
   for (( j=0; j<$(pdfinfo "${i}" | grep Pages | cut -d ' ' -f 11); j++)); do
         echo -n "   $j -"
         pdftoppm -r 300 -aa yes -x 436 -W 1125 -y 312 -H 841 -f $(($j+1)) -l $(($j+1)) "${i}" "${i//.pdf/}/"$(printf "%03d" $(($j*4+1)))
         echo -n " 1"
         pdftoppm -r 300 -aa yes -x 436 -W 1125 -y 1325 -H 841 -f $(($j+1)) -l $(($j+1)) "${i}" "${i//.pdf/}/"$(printf "%03d" $(($j*4+2)))
         echo -n " 2"
         pdftoppm -r 300 -aa yes -x 1947 -W 1125 -y 312 -H 841 -f $(($j+1)) -l $(($j+1)) "${i}" "${i//.pdf/}/"$(printf "%03d" $(($j*4+3)))
         echo -n " 3"
         pdftoppm -r 300 -aa yes -x 1947 -W 1125 -y 1325 -H 841 -f $(($j+1)) -l $(($j+1)) "${i}" "${i//.pdf/}/"$(printf "%03d" $(($j*4+4)))
         echo " 4"
   done
   
   convert "${i//.pdf/}/*" "salida/${i}"
   rm -r "${i//.pdf/}"
   
   echo ">> Correcto"
   echo
done


Guarda cada parte en ppm y luego lo junta en un pdf, sencillo. Que poco echo de menos Windows cuando tengo que hacer estas cosicas.
4 respuestas