Mi buen amigo Bruno, hace unos días me pasó una extracción de un teléfono móvil con la friolera de más de 51.000 páginas. Mi pobre y humilde portátil sacaba humo sólo al abrirlo así que he tenido que ingeniármelas para dividir el fichero en ficheros más pequeños y poder gestionar la información cómodamente. La solución, un script.
El script tiene dos opciones, usar pdftk o pdfjam. Deberemos comentar y descomentar la línea que nos interese.
Si queremos usar pdftk será necesario instalarlo
# apt install pdftk
Para usar pdfjam, que me ha procesado la información más rápido que con pdftk, será necesario instalar texlive-extra-utils
# apt install texlive-extra-utils
Otra herramienta que será necesario instalar es pdfinfo que se encuentra dentro del paquete poppler-utils
# apt install poppler-utils
A continuación el script
#!/bin/bash INPUT_FILE=Redmi7-ASPERTIC.pdf PAGES=`pdfinfo ${INPUT_FILE} |grep Pages |awk -F ' ' '{print $2}'` FILENAME=`basename ${INPUT_FILE} |awk -F '.' '{print $1}'` SPLIT=500 START=1 echo "Total Pages: ${PAGES}" echo COUNTER=$START ITER=1 while [ "$COUNTER" -le "$PAGES" ] do START=$(($COUNTER)) END=$(($START + $SPLIT - 1)) echo echo "#################" echo "start ${START} end ${END} iter ${ITER}" if [[ "$PAGES" -le "$END" ]] then END=$PAGES echo "last end is ${END} of total pages ${PAGES}" fi #pdftk ${INPUT_FILE} cat ${START}-${END} output ${FILENAME}_${ITER}.pdf pdfjam ${INPUT_FILE} ${START}-${END} -o ${FILENAME}_${ITER}.pdf COUNTER=$(($COUNTER + $SPLIT)) ITER=$(($ITER + 1)) done
Y listos, lo mismo de siempre, crear el fichero, darle permisos de ejecución y ejecutarlo!
Aquí una captura del final de la ejecución del script sobre el susodicho fichero
Una utilidad muy interesante después para buscar dentro de los pdf es usar pdfgrep
$ pdfgrep -Ri 666666666 *