3 votos

Combinar varios PDF en varios PDF

Estoy tratando de tomar un conjunto de archivos PDF (que ya habré separado en archivos de una sola página) que quiero combinar en varios PDF. Como profesor, quiero poder escanear un montón de pruebas en un solo archivo PDF grande, dividir eso en páginas individuales (ya tengo el servicio Automator para eso), y luego combinar los resultados en un archivo separado para cada estudiante. Por lo tanto, si tuviera 10 estudiantes y una prueba de 4 páginas, querría poder combinar esos 40 archivos en 10 PDFs separados, idealmente etiquetados por el nombre del estudiante (si hubiera una forma de ingresar esa lista de nombres en Automator). En el peor de los casos, simplemente ejecutaría un servicio combinePDF para cada estudiante individual, ¿pero no sabía si había una forma de hacer todo esto de una sola vez?

¡Gracias por tu ayuda!

0 votos

Usaría la herramienta de línea de comandos de terceros, cpdf, y automatizaría todo el proceso. Echa un vistazo a: Lanzamiento de la Comunidad de Herramientas de Línea de Comandos de Coherent PDF

0 votos

Eso parece que podría hacer lo que quiero, pero cuesta $379 por lo que supongo que es más potente de lo que realmente necesito. ¡Gracias de todos modos!

0 votos

¿Has leído la página vinculada en mi primer comentario? ¡La publicación comunitaria de cpdf es gratuita!

1voto

user3439894 Puntos 5883

Usaría la herramienta de línea de comandos de terceros cpdf y scriptearía el proceso de crear los documentos PDF separados para cada estudiante.

Echa un vistazo a: Liberación Comunitaria de Herramientas de Línea de Comandos de Coherent PDF

  • Descargar la herramienta pre-construida de cpdf (Este es un enlace de descarga directa. La construcción desde la fuente está disponible en el enlace de la página principal mencionada arriba.)
  • Puede encontrar un manual de usuario completo para las herramientas de PDF como un documento PDF, o navegable en línea.
  • Nota: la versión de Liberación Comunitaria de las Herramientas de Línea de Comandos de Coherent PDF es gratuita.

No es necesario extraer primero el documento PDF escaneado en archivos individuales para luego combinarlos, ya que el siguiente ejemplo de código de shell extrae las páginas del documento PDF escaneado cuatro páginas a la vez mientras nombra cada nuevo documento PDF para cada estudiante:

#!/bin/bash

    # Reemplace por ejemplo "Estudiante 01", etc. con el nombre de los estudiantes
    # en el orden requerido tal como escaneado en el documento PDF.

mis_estudiantes=("Estudiante 01" "Estudiante 02" "Estudiante 03" "Estudiante 04" "Estudiante 05" "Estudiante 06" "Estudiante 07" "Estudiante 08" "Estudiante 09" "Estudiante 10")

    # Reemplace "/ruta/a/scanned.pdf" con la 
    # ruta real del documento escaneado.

documento_escaneado="/ruta/a/scanned.pdf"

    # NOTA: Si cpdf no está en su PATH, entonces utilice su ruta completa,
    #       por ejemplo: /usr/local/bin/cpdf

x=1
y=4
for este_estudiante in "${mis_estudiantes[@]}"; do
    cpdf "${documento_escaneado}" $x-$y -o "${este_estudiante}.pdf"
    x=$(( x + 4 ))
    y=$(( y + 4 ))
done

Para usar este script de shell en Terminal, primero ejecute el siguiente comando compuesto:

n="procesopdf"; touch "$f"; open -e "$f"; chmod u+x "$f"

Luego en el documento que se abre, TextEdit por defecto, copie y pegue el ejemplo de código de shell en él, haga las ediciones apropiadas y luego guárdelo.

Ahora puede usarlo en Terminal usando por ejemplo ./procesopdf o /ruta/a/procesopdf o si se coloca en una ubicación que esté dentro del PATH, entonces simplemente, por ejemplo: procesopdf

Nota: Tal como está codificado, los nuevos documentos PDF se crean en el PWD en Terminal. Puede agregar por ejemplo /ruta/a/ a "${este_estudiante}.pdf", por ejemplo, "/ruta/a/${este_estudiante}.pdf" si lo desea.

Si necesita/desea aplicar esto a una Acción de Ejecutar Script de Shell en Automator, en vez de usarlo como un script de shell regular, avíseme y puedo actualizar la respuesta.

En cualquier caso, si desea pasar al script un archivo con los nombres de los estudiantes, en lugar de usar un array, como está actualmente codificado, eso también es posible.


Nota: El <em>ejemplo</em> de <strong>código de shell</strong> es justo eso y no contiene ningún <em>manejo de errores</em> como podría ser apropiado. Corresponde al usuario agregar cualquier <em>manejo de errores</em> que pueda ser apropiado, necesario o deseado. Como ejemplo, tal como está actualmente <em>codificado</em>, los nuevos <strong>documentos PDF</strong> sobrescribirán los <em>documentos</em> existentes del mismo <em>nombre</em> sin advertencia.

1voto

john Puntos 11

Puedes saltarte ese primer paso donde divides el PDF grande en un archivo por página. Luego toma tu PDF grande y divídelo después de cada cuatro páginas en 10 archivos diferentes. Básicamente deshace lo que hiciste primero. La aplicación PDFsam dividirá un PDF en archivos después de cada x páginas. PDFSam significa PDF Split and Merge.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X