En mi opinión, la mejor manera de lograr el trabajo no es usar un programa de interfaz gráfica de usuario, sino usar una colección de script bash (como en un entorno Unix / Linux), por lo que si tienes algunos conocimientos básicos de programación podrás hacer muchas más cosas que un programa GUI puede proporcionarle.
Primero puede instalar una línea de comando mínima como Unix que puede usar
Mi preferencia es Cygwin ya que contiene una gran cantidad de paquetes de software.
Si desea extraer una imagen de una instalación en PDF, también pdfimages pdfimages es una utilidad de línea de comandos de código abierto para extraer imágenes de archivos PDF. Está disponible gratuitamente como parte de poppler-utils y xpdf-utils, y se incluye de forma predeterminada con muchas distribuciones de Linux.
$ pdfimages file.pdf foo
Este uso produce una serie de imágenes numeradas con "foo" como prefijo.
De hecho, use $ mkdir temp $ mkdir temp / jpg
para crear una carpeta temporal llamada jpg dentro de un directorio temporal
$ pdfimages -j file.pdf temp/jpg/foo
Digamos que ahora tiene varias imágenes fooXXXX.jpg en la carpeta temporal.
En su caso, alguna vez tuvo fotos fooXXXX.jpg.
Ahora puede generar un PDF usando convertir (una línea de comando de ImageMagick)
Descargue ImageMagick http://www.imagemagick.org/ o instálelo con el administrador de paquetes Cygwin
Eche un vistazo a la documentación de conversión (escriba "ImageMagick convert" en su motor de búsqueda favorito)
Entonces entiendes que para convertir tus imágenes en un archivo PDF tendrás que escribir
$ convert -compress jpeg temp/*.jpg my_output_file.pdf
Eso es todo ... ;-) pero esta solución se puede extender ...
Imaginemos que las imágenes escaneadas provienen de un libro ... 1 archivo es, de hecho, 2 páginas de su libro ...
así que si tiene 10 archivos ... su libro tenía 20 páginas ... y le gustaría que su PDF también tuviera 20 páginas.
Por lo tanto, debe dividir la imagen contenida en un archivo para crear 2 archivos para cada página.
Digamos que su archivo es temp / foo0001.jpg tendrá 2 archivos temp2 / foo0001a.jpg (página izquierda) y temp2 / foo0001b.jpg (página derecha)
Cree el directorio temp2 (donde irán sus archivos cortados)
$ mkdir temp2
$ mkdir temp2/jpg
Cree un archivo llamado split_jpg_minw.sh usando un editor de texto (Emacs, VI o si prefiere la aplicación de Windows puede usar Notepad o Notepad ++)
minimal_width=1500
minimal_width_ignore=10
rm temp2/jpg/*.jpg
for f in temp/jpg/*.jpg
do
f2=$(basename $f)
read -r width height <<< $( convert $f -format "%w %h" info:)
width2=$(( ${width} / 2 ))
height2=${height}
if [ $width -gt $minimal_width ]; then
echo "split $f ${width}x${height} to 2 files ${width2}x${height2}"
convert $f -crop ${width2}x${height2}+0+0 +repage temp2/jpg/${f2%%.*}a.jpg
convert $f -crop ${width2}x${height2}+$width2+0 +repage temp2/jpg/${f2%%.*}b.jpg
else
if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px
echo "copy $f ${width}x${height} (don't split because width<$minimal_width)"
cp $f temp2/jpg/$f2
else
echo "ignore $f ${width}x${height} width=$width<minimal_width_ignore=$minimal_width_ignore"
fi
fi
do
ancho = 1500 px es el límite para dividir un archivo (o no)
- se dividirá un archivo con un ancho superior a 1500 px
- un archivo con un ancho inferior a 1500 px no se dividirá
Hacer este script ejecutable
$ chmod +x split_jpg_minw.sh
(puede usar la tecla de tabulación para completar automáticamente el nombre del archivo)
Ejecute el script
$ ./split_jpg_minw.sh
Los archivos divididos estarán en la carpeta temp2 / jpg
Genere el nuevo archivo "dividido".
$ convert -compress jpeg temp2/*.jpg my_output_file_splitted.pdf
Puede agregar muchas más opciones a su cadena para producir archivos PDF usando scripts de bash.
No hay límite ... solo tiene que aprender scripting (pero algunas muestras de código a veces son mucho más útiles que los libros)
Por ejemplo, puede aplicar un filtro a sus imágenes antes de generar el archivo PDF (para eliminar, por ejemplo, el patrón Moiré o para reducir el ruido) utilizando herramientas de línea de comandos como G'MIC