Scripts para conversión de PDFs de doble página
Pego aquí un script que me montado sobre la marcha para extraer las imágenes de un PDF compuesto por imágenes, con doble página en cada imagen.
El script extrae las imágenes del PDF, divide cada imagen en dos ficheros diferentes (cada imagen contiene dos páginas), rota las imágenes y las vuelve a concatenar como PDF
Cuando tenga algo de tiempo explicaré un poco su funcionamiento más en detalle.
#Creo directorio temporal donde generar las imágenes sacadas del PDF
mkdir /tmp/tempopdf
pdfimages -j fichero.pdf temp
for fich in `ls -1 *.pbm`;
do
echo Convirtiendo $fich
convert -rotate -90 -negate "$fich" "$fich"_new && mv "$fich"_new "$fich"
done;
#Dividimos las imágenes en dos
for fich in `ls -1 *.pbm`;
do
echo Dividiendo $fich
convert -crop 50%x100% +repage "$fich" "$fich-"%d.pbm
done;
#Convertimos los ficheros pbm a Postscript
for fich in `ls -1 temp-*.pbm-*.pbm`;
do
pbmtolps "$fich" > "$fich".ps
done;
#Creamos un nuevo PDF concatenando los ficheros Postscript
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=fichero_salida.pdf temp-*.pbm-*.pbm.ps
El script extrae las imágenes del PDF, divide cada imagen en dos ficheros diferentes (cada imagen contiene dos páginas), rota las imágenes y las vuelve a concatenar como PDF
Cuando tenga algo de tiempo explicaré un poco su funcionamiento más en detalle.
#Creo directorio temporal donde generar las imágenes sacadas del PDF
mkdir /tmp/tempopdf
pdfimages -j fichero.pdf temp
for fich in `ls -1 *.pbm`;
do
echo Convirtiendo $fich
convert -rotate -90 -negate "$fich" "$fich"_new && mv "$fich"_new "$fich"
done;
#Dividimos las imágenes en dos
for fich in `ls -1 *.pbm`;
do
echo Dividiendo $fich
convert -crop 50%x100% +repage "$fich" "$fich-"%d.pbm
done;
#Convertimos los ficheros pbm a Postscript
for fich in `ls -1 temp-*.pbm-*.pbm`;
do
pbmtolps "$fich" > "$fich".ps
done;
#Creamos un nuevo PDF concatenando los ficheros Postscript
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -sOutputFile=fichero_salida.pdf temp-*.pbm-*.pbm.ps
Etiquetas: Varios
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio