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.
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 PDF0 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!0 votos
Ah, me perdí en una página diferente allá dentro y no leí tu primera página lo suficientemente detenidamente. ¡Lo siento por eso!
0 votos
@user3439894 ¿por qué no respondes esto? Tu comentario parece más una respuesta adecuada.
0 votos
@bmike, Publiqué lo que hice como un comentario porque por sí solo lo consideraría como una respuesta solo de enlace si lo hubiera publicado como respuesta. Incluso David pensó que era una aplicación de $379 porque se perdió en un enlace del enlace y no leyó que la versión comunitaria era gratuita. Si hubiera tenido tiempo en ese momento para expandirlo y también incluir un script corto que pudiera lograr la tarea, habría publicado una respuesta en lugar de un comentario. (De hecho, iba a publicar una respuesta con un script más tarde, pero simplemente se cayó al olvido.)
0 votos
Gracias @user3439894 - está aquí, lo cual es mucho mejor que nunca publicar.
1 votos
@bmike, He añadido una respuesta.
0 votos
@David, ¿no podrías dividir tu gran archivo PDF después de cada 4 páginas, en 10 archivos separados? ¿Evitando el segmento de una página, un archivo?
1 votos
@jmh, David estaba usando Automator para dividir el PDF documento, que no tiene opciones para la división y solo crea archivos individuales, uno para cada página, y por eso estaba buscando una manera de combinar cuatro a la vez y nombrarlos para cada estudiante. Si has leído mi respuesta verías que no necesita primero dividir el PDF documento escaneado, es un paso totalmente innecesario usando la herramienta que sugerí junto con el script de shell. Crea un nuevo PDF documento nombrado para cada estudiante directamente desde el PDF documento escaneado original. ¡Sin complicaciones ni problemas!
0 votos
@user3439894 mi método evitó dividir el archivo grande en 40 archivos de 1 página usando Automator. Y luego volver a unirlos en 10 archivos. Escanea cada prueba en un archivo grande. Así que cada 4 páginas representan una sola prueba. Simplemente divide el archivo original de 4 páginas a la vez. una tarea simple sin necesidad de scripts. ¡Y la aplicación es gratuita!
0 votos
@jmh, No importa realmente que la aplicación sea gratuita, la que mencioné en mi respuesta también lo es y además no divide el PDF escaneado original en 40 archivos. Lo importante es que, sin su escaneo original, está buscando un proceso totalmente automatizado, si es posible, para hacer el resto de lo que necesita hacer dentro del contexto de lo que se expresó en la pregunta original. Por lo que puedo ver, PDFsam Basic no puede automatizar completamente el proceso. Divide el archivo en el número de páginas dado, pero luego él tiene que renombrar cada archivo con el nombre del estudiante. En mi opinión, tu respuesta no proporciona completamente lo que David está buscando. ¡La mía sí!
0 votos
Todos tenemos derecho a nuestras opiniones.
0 votos
@user3439894 Sí, importa que la aplicación sea gratuita. Si costara $20, podría hacer una gran diferencia para el OP. Pero dado que es gratis, simplemente puede usarla para esta u otras tareas. Es una herramienta muy útil y sugeriría que la descargue de todos modos.
0 votos
@user3439894 Pero admitiré que si el OP va a usar esto más de una vez, entonces ingresar los nombres de los estudiantes en tu script le da la ventaja de poder realizar la tarea varias veces con la misma clase de estudiantes.