Posts tagged "Utilidades":
Las navajas suizas para trabajar con PDFs: pdftk y pdfnup
Hace tiempo que descubrí pdftk como herramienta en línea de comandos para trabajar con documentos pdf. Básicamente la he venido utilizando para extraer partes concretas de dichos documentos (algunas páginas seleccionadas ya sean consecutivas o salteadas), y para fusionar dos documentos (por ejemplo, una oferta y un anexo que te llegan o "fabricas" por separado pero luego quieres distribuir juntos, como un único documento).
Lo que más me gusta es que, como he dicho, es una herramienta que puede utilizarse en línea de comandos, y esto, aunque el común de los mortales no está muy preparado para entenderlo, suele ser una fuente de potencia inimaginable a la hora de hacer tareas de preprocesamiento como las que he descrito en el párrafo anterior, y, por tanto, obtenemos un gran ahorro de tiempo.
Yo llegué a esta herramienta desde mi Debian (pues venía en su sistema de paquetes), pero luego busqué una versión para Windows y la encontré. Además, es gratuita. Podéis descargarla directamente de la página de los autores, aunque yo por mi comodidad, sólo por la mía ;-), he subido un .zip de los dos ficheros que son necesarios a este mismo post (lo tenéis al final). Basta con descargarlo, descomprimirlo en la carpeta donde queráis trabajar, es decir, donde tengáis también los documentos objeto del trabajo, y utilizarlo (modo usuario básico). Si sois usuarios avanzados, lo mejor es meter ambos ficheros en una carpeta que esté en el PATH de vuestra máquina.
La potencia de esta herramienta permite cosas como:
a) Extraer las páginas impares de un documento pdf, resultando un documento nuevo:
$ pdftk Finanzas.pdf cat 1-endodd output newFinanzas.pdf
b) Lo mismo, pero con las páginas pares:
$ pdftk Finanzas.pdf cat 1-endeven output newFinanzas.pdf
c) Reconstruir el documento original a partir de dos documentos separados en pares e impares:
$ pdftk A=doc1.pdf B=doc2.pdf shuffle A B output complete.pdf
e) Fusionar dos documentos, como decía al principio, uno detrás de otro:
$ pdftk oferta.pdf anexo.pdf cat output oferta-anexo.pdf
Además, viene con una ayuda muy completa a la que se accede con:
$ pdftk --help
Recientemente he descubierto otra utilidad que permite muy fácilmente pasar un documento original a otro que tenga dos páginas del original, o más, en una sola hoja. Algo muy útil para imprimir "borradores" o versiones no definitivas. Esta herramienta también la he conseguido compilada para Windows y, tras revisar "su malware" con Virustotal, la he utilizado satisfactoriamente. También te dejo un .zip al final de este artículo.
$ pdfnup --help
Puedes descargar estas utilidades para Windows aquí: pdftk y pdfnup.
Pues nada más, espero que te ayude.
Cómo convertir un .mkv a .avi
Últimamente encuentro muchos archivos de vídeo codificados en el formato .mkv, sin embargo, el reproductor que tengo en casa conectado a mi TV no es capaz de reproducirlos, por lo que me obliga a pasar de ese formato al sí soportado .avi. Aquí puedes encontrar un pequeño artículo que te cuenta las diferencias existentes entre ambos.
He apostado por una solución que está disponible en todos los sistemas operativos que suelo utilizar, desde GNU/Linux hasta Mac OS, pasando por Windows: ffmpeg.
En GNU/Linux seguro que está en el sistema de paquetes de tu distribución, y puedes instalarlo de la forma habitual. Por ejemplo, en mi Debian, ejecutando como root:
# apt update # apt install ffmpeg
En MAC te aconsejo utilizar el "gestor de paquetes": Homebrew, pues se instala muy fácilmente y nos servirá para utilizar diferentes herramientas tanto del proyecto GNU como de otros de código abierto, además de la que nos interesa ahora. Echa un vistazo a su página que te he dejado enlazada. Instalamos Homebrew así:
# /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Y con Homebrew ya instalado, instalamos ffmpeg así:
# brew install ffmpeg
En Windows aún no he tenido la necesidad de instalarlo, pero como puedes observar en la sección "Download" del proyecto ffmpeg, también existe un paquete de instalación para este sistema operativo.
Una vez instalado puedes comprobar que funciona bien con este comando:
# ffmpeg -version
Obteniendo algo como:
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers ...
Después de investigar un poco con diferentes opciones, la línea de comandos que mejor relación calidad/"precio" (siendo el "precio" el tiempo necesario para llevar a cabo el proceso) ha arrojado es esta:
# ffmpeg -i "video.mkv" -f avi -c:v mpeg4 -b:v 4000k -c:a libmp3lame -b:a 320k "video.avi"
Los resultados son muy buenos, aunque observo que cuando hay cambios de imagen muy rápidos se pixela un poco, casi imperceptible, pero si estás atento lo notas.
Los codecs utilizados en el formato mkv (tamaño: 2,2G) son más eficientes (mejores) que los utilizados en el formato avi (tamaño: 3,2G) que soporta mi reproductor, con su consecuente impacto en tamaño. Es decir, obtenemos algo de más tamaño y de peor calidad :-(.
Otra combinación de opciones que arrojan un buen resultado, creo que incluso mejor que el anterior en relación calidad/esfuerzo, es esta:
# ffmpeg -i "video.mkv" -vcodec mpeg4 -acodec libmp3lame -qscale:v 2 -qscale:a 5 "video.avi"
Y tú, ¿has tenido esta necesidad? ¿Has llegado a encontrar la combinación de opciones "optima" según la relación calidad/"precio"? Si es así, te agradezco que las compartas en los comentarios. También puedes comentarme cualquier otra información que consideres que contribuye a aumentar el conocimiento en esta temática.
Espero que ayude.
Comentarios
Agradecimiento (Mario Jue, 27/06/2024 - 13:48)
Hola Godofredo, Gracias por compartir estos comandos de ffmpeg.
Gracias a ti por dejar tu comentario (Godofredo Fdez. Lun, 01/07/2024 - 09:15)
Supongo que te han sido útiles. Muchas gracias por el feedback.