Cómo combinar por lotes archivos JPEG de carpetas en archivos PDF

18

Tengo unas 500 carpetas con imágenes dentro. ¿Hay alguna manera de que pueda convertir esto por lotes para obtener archivos .pdf que contengan todas las imágenes en forma de páginas?

EDITAR:

Debería haber 500 PDF creados, cada uno con el nombre de la carpeta que contiene, y cada uno con imágenes dentro de él como páginas.

Ska
fuente
3
que sistema operativo y quieres una herramienta CLI o GUI? ¿Se nombran los archivos de manera sensata o coherente, y es importante el orden?
Journeyman Geek
Mac OS X, puede ser cualquier tipo de herramienta y tengo Acrobat Pro, pero no encuentro esa opción. Los archivos están ordenados alfabéticamente y me gustaría mantener ese orden. Gracias
Ska

Respuestas:

16

OS X tiene varias herramientas integradas para automatizar el procesamiento de imágenes y la creación de PDF.

Simplemente abra Automator.app , cree una nueva aplicación.

Automator.app

Cámbielo como se muestra a continuación, arrastrando las acciones del panel izquierdo al derecho.

Paso uno

  • Obtener contenido de la carpeta con la opción Repetir ... activada obtendrá todos sus archivos, incluso desde los subdirectorios.

  • El nuevo PDF de imágenes creará un archivo PDF en el escritorio, cada página consta de una imagen.

Guarde la aplicación en algún lugar (por ejemplo, en / Aplicaciones o en su Escritorio). Déle un nombre propio, como "Crear PDF desde Image.app". Luego, puede arrastrar sus carpetas a su icono. Deje que el flujo de trabajo haga el trabajo por usted.


Lo anterior crea un solo archivo PDF para todas las imágenes. Si quieres tener uno para cada carpeta, será más complicado.

Primero, necesita la acción Dispensar elementos de forma incremental . Instalarlo. Luego, abra Automator nuevamente y cree un nuevo Flujo de trabajo ( no una aplicación).

Ahora, para su comodidad, puede descargar el flujo de trabajo aquí . En caso de que el enlace se rompa, simplemente cámbielo como se muestra a continuación:

Captura de pantalla de flujo de trabajo

O, en forma de texto:

  • Obtener elementos del buscador seleccionados
  • Dispensar elementos de forma incremental (el que instalamos antes)
  • Establecer el valor de la variable para recordar la carpeta en la que estamos
  • Obtener contenido de la carpeta , para obtener las imágenes
  • Nuevo PDF a partir de imágenes , para crear el PDF. Aquí, tome la variable del panel "Variables" en la parte inferior y arrástrela al campo "Guardar salida en ...". Esto asegura que el PDF se cree en la carpeta a la que pertenece. No hay una manera fácil de cambiar el nombre del archivo que no sea establecer un nombre de archivo estático. Sin embargo, puede agregar una acción para cambiar el nombre de los elementos del buscador para configurarla.
  • Bucle , para comenzar desde el principio y ejecutar con la siguiente carpeta. Puede deshabilitar la parte donde solicita confirmación.

Guárdelo como un flujo de trabajo, y ahora, aquí le mostramos cómo ejecutarlo. Selecciona tus carpetas en Finder.

Captura de pantalla del buscador

Luego, vaya a Automator.app y haga clic en Ejecutar en la esquina superior derecha.


Con 500 carpetas, eso puede llevar un tiempo. Especialmente con imágenes de alta resolución, su PDF puede volverse enorme. Pero puede probarlo primero en una selección más pequeña y luego dejar que el flujo de trabajo se ejecute hasta que termine.

slhck
fuente
Increíble, sin embargo, todas las imágenes están ahora en un PDF. ¿Es posible hacer un PDF separado para cada carpeta que contiene? Ni siquiera sabía lo que puedes hacer con Automator, ¡muchas gracias!
Ska
@Ska Vea mi respuesta actualizada. Espero que funcione para ti. Aquí es donde se vuelve complicado en Automator y donde pensaría en cambiar a AppleScript o un simple script Bash en combinación con AppleScript.
slhck
No te preocupes, los renombraré más tarde con bash script. Sin embargo, ¿no sería posible crear una aplicación que pasaría la salida de Obtener contenido de carpeta (nombre de carpeta) y crear una variable a partir de ella?
Ska
@Ska sí, así es como configuras la variable, pero no puedes usar la variable en el nombre de salida del PDF. Al menos no de una manera fácil.
slhck
Ese es un flujo de trabajo increíble. Gracias por la ayuda en esto. Pasé la semana pasada descifrando JPG de cada número de National Geographic desde el principio de los tiempos y necesitaba una forma de convertir las 250,000 páginas a PDF para poder OCR y hacer que se puedan buscar. Me acabas de salvar un montón de trabajo manual. Un cambio que tuve que hacer en el script fue establecer un período de tiempo de espera mayor que los 0 minutos predeterminados. De lo contrario, solo creó un PDF. Lo hice con el bucle manual, pero eso implica demasiada participación en un proceso automatizado. También le dije que los guardara en una sola carpeta para que
22

En OS X

Con Homebrew es fácil instalar ImageMagick:

brew install imagemagick

convert *.jpg output.pdf

y si el PDF resultante es demasiado grande, puedes probar:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

Por supuesto, ImageMagick también se puede instalar en otros sistemas Unix, por ejemplo, apt-get install imagemagicken Debian y Ubuntu. E incluso en Windows a través de GNU / Cygwin o Chocolately .

Fifi Finance
fuente
3
¡Mucho más rápido que inquietarse con Vista previa!
DK_
1
+1 ¡Creo que la comparación entre esto y la respuesta aceptada realmente muestra el poder de las herramientas de línea de comandos (y especialmente la imagen mágica) en este tipo de situación!
Bill Cheatham
1
Esto también es posible en Windows. Si está utilizando chocolatey (administrador de paquetes para Windows):, choco install imagemagick.tooly luego siga los comandos "convertir" de @ KasperSouren.
Giscard Biamby
2

En casi cualquier sistema, estaría ejecutando esto en su mejor solución, puede ser ImageMagick . Disponible en * nix, Mac y Windows, admite comodines (también conocido como globalización de nombres de archivo) y la especificación de una lista (por ejemplo, @ ImagesToProcess.txt) de archivos de entrada, algunas opciones avanzadas de especificación de archivos, una potente línea de comando, etc.

poste de la cerca
fuente
También requeriría que GhostScript y yo hagamos la programación con quién sabe cuántas administraciones de dependencias. Supongo que podría haber una herramienta simple que lo haga. Después de todo, el caso de uso es bastante simple.
Ska
No debería ser tan difícil, siempre y cuando tenga instalado ImageMagick y GhostScript e ImageMagick pueda encontrar GS, puede usar la línea de comando IM que simplifica la escritura. Esto supone que el bloqueo de nombre de archivo manejará los archivos en el orden correcto, pero de lo contrario será más complejo de todos modos. Para Windows, aquí hay una guía para que trabajen juntos: stackoverflow.com/questions/3243361/… . Aún así, la otra respuesta es mejor para Macs
fencepost
Gracias por los increíbles consejos sobre mensajería instantánea, fencepost. Tu aprendes algo nuevo cada dia. En cuanto a la pregunta original, primero intentaré la solución de slhck.
Ska
Eres muy bienvenido. Publiqué sin darme cuenta de que A) estabas usando una Mac y B) el soporte de Ghostscript en Macs aparentemente es significativamente más débil por alguna razón, o al menos no se ha mantenido al día con Windows y * nix.
cerca del