Convierte en lote una carpeta de PDF a flipbooks
Convierte PDF a flipbook en lote desde una carpeta con un bucle de shell y la CLI de FlipLink: guarda las URL en un CSV y salta archivos dañados.
Publicado el 21 de junio de 2026 · 7 min read
Tienes una carpeta. Cincuenta PDF de productos dentro de ella. Cada uno necesita convertirse en un flipbook con un título coherente, y necesitas los enlaces para compartir en una hoja de cálculo antes de que acabe el día. Hacerlo a mano — subir, nombrar, esperar, copiar el enlace, pegarlo, repetir — es de esas tareas que te comen una tarde entera y la paciencia.
Esta guía te muestra cómo convertir PDF a flipbook en lote para una carpeta entera con un solo bucle de shell, recoger cada URL resultante en un CSV y seguir adelante aunque un archivo esté dañado. Damos por hecho que ya tienes instalada y autenticada la CLI de FlipLink. Si no, empieza primero con Primeros pasos con la CLI de FlipLink — lleva unos dos minutos.
El componente básico: un archivo a la vez
Antes de recorrer cincuenta archivos en bucle, deja bien un solo archivo. El comando de la CLI que convierte un PDF en flipbook es:
fliplink flipbook create ./deck.pdf --title "Q3 Report" --name q3
--title es lo que ven los lectores; --name es la etiqueta interna. Añade --json y el comando imprime la respuesta cruda de la API en lugar de un resumen amigable — ese JSON es lo que más adelante exploraremos para sacar el enlace para compartir:
fliplink flipbook create ./deck.pdf --title "Q3 Report" --json
Esa única respuesta lleva todo lo que necesitas: el ID del nuevo flipbook y su URL pública. Ahora solo hay que ejecutarlo una vez por archivo.
El bucle: convierte cada PDF de una carpeta
Aquí está el núcleo. Pon tus PDF en una carpeta, entra en ella con cd y ejecuta un bucle de bash sobre *.pdf. Derivamos un título limpio de cada nombre de archivo — quitamos la extensión .pdf y cambiamos los guiones y guiones bajos por espacios:
#!/usr/bin/env bash
for f in *.pdf; do
# Turn "spring-product-catalog.pdf" into "spring product catalog"
name="$(basename "$f" .pdf | tr '_-' ' ')"
echo "Converting: $f -> \"$name\""
fliplink flipbook create "$f" --title "$name" --json
done
Esto recorre la carpeta, convierte cada PDF e imprime el resultado en JSON de cada uno. Funciona, pero la salida es un muro de JSON y un solo archivo defectuoso dejaría correr el resto igual. Vamos a arreglar las dos cosas — primero la salida, luego el manejo de errores.
Recoger los resultados en un CSV
Lo que realmente quieres al final es una hoja de cálculo: una fila por flipbook, con su ID y su enlace para compartir. Pasa cada resultado de --json por jq para extraer solo esos dos campos y añadir una fila al CSV.
La respuesta de creación contiene el ID del flipbook y una URL. Extraemos ambos, recurrimos a un valor de relleno si falta algún campo y escribimos una fila de cabecera una sola vez al principio:
#!/usr/bin/env bash
out="flipbooks.csv"
echo "file,id,url" > "$out" # write the CSV header once
for f in *.pdf; do
name="$(basename "$f" .pdf | tr '_-' ' ')"
echo "Converting: $f"
json="$(fliplink flipbook create "$f" --title "$name" --json)"
# Pull ID + URL from the JSON; '// "?"' supplies a fallback if absent
row="$(printf '%s' "$json" | jq -r '[.ID, .URL] | @csv' 2>/dev/null)"
printf '%s,%s\n' "$f" "$row" >> "$out"
done
echo "Done. Results in $out"
jq -r '[.ID, .URL] | @csv' construye un fragmento de CSV correctamente entrecomillado a partir de los dos campos, y @csv se encarga por ti de cualquier coma o comilla dentro de los valores. Abre flipbooks.csv en cualquier hoja de cálculo y ya tienes tu lista de distribución.
Si prefieres obtener el enlace para compartir canónico por separado, la CLI tiene un comando dedicado para eso — fliplink flipbook share-link <flipbookId> — que puedes invocar con el ID que acabas de capturar.
Prueba FlipLink Gratis
Convierte tu PDF en segundos. Sin registro, sin tarjeta de crédito — solo súbelo y listo.
Drop your PDF here or click to browse
Máximo 40MB
Los planes de pago desde $39 lo amplían a 150 MB.
No dejes que un archivo defectuoso eche a perder el lote
Las carpetas son un caos. Un PDF puede estar corrupto, ser demasiado grande o hacerte superar la cuota de tu plan. El bucle por defecto reportaría sin más el fallo como una fila y seguiría adelante — pero no sabrás cuáles tuvieron éxito de verdad.
La CLI te da una señal clara a través de sus códigos de salida:
0— éxito1— un error de solicitud o HTTP (red, subida demasiado grande, autenticación)2— un error de aplicación (la API devolvióResult: ERROR, p. ej. cuota superada)
Comprueba el código de salida después de cada llamada. Registra los aciertos en tu CSV, los fallos en una lista aparte, y mantén el lote en marcha pase lo que pase:
#!/usr/bin/env bash
out="flipbooks.csv"
fail="failed.txt"
echo "file,id,url" > "$out"
: > "$fail" # truncate the failure log
ok=0; bad=0
for f in *.pdf; do
name="$(basename "$f" .pdf | tr '_-' ' ')"
echo "Converting: $f"
if json="$(fliplink flipbook create "$f" --title "$name" --json)"; then
row="$(printf '%s' "$json" | jq -r '[.ID, .URL] | @csv' 2>/dev/null)"
printf '%s,%s\n' "$f" "$row" >> "$out"
ok=$((ok + 1))
else
code=$? # 1 = request error, 2 = application error
echo "$f (exit $code)" >> "$fail"
bad=$((bad + 1))
fi
done
echo "Converted $ok, failed $bad. See $out and $fail."
Como la CLI sale con un código distinto de cero cuando falla, la rama if solo se ejecuta ante un éxito genuino, así que tu CSV nunca se llena de filas vacías. Al final obtienes un recuento y un failed.txt que lista exactamente qué archivos investigar — vuelve a ejecutar solo esos una vez que los hayas arreglado.
Una nota sobre la asignación a carpetas
Una pregunta de seguimiento habitual: “¿Puede el bucle dejarlo todo en una carpeta concreta de FlipLink?” No existe ningún flag --folder en fliplink flipbook create — no lo busques, no existe.
Un par de cosas que conviene saber sobre cómo funcionan las carpetas de FlipLink: se crean bajo demanda y vuelven a desaparecer cuando quedan vacías, así que no hay nada que crear de antemano. Para meter un flipbook en una carpeta, usa la vía de escape de la CLI — el comando api — que puede llegar a cualquier endpoint, incluidos los que no tienen un subcomando dedicado:
fliplink api PUT /api/assign-to-folder/<flipbookId> --data '{"Folder":"Marketing/Q2"}'
Encaja esa llamada en la rama de éxito del bucle, pasando el ID que capturaste de la respuesta de creación. Si no tienes claro el nombre exacto de los campos de algún endpoint, consulta la referencia de la API en vivo en lugar de adivinar — cada parámetro está documentado allí con una consola Try-It.
Para terminar
Una carpeta de PDF, un solo bucle de shell y un CSV de enlaces para compartir esperando al final — ese es todo el trabajo. El mismo patrón escala de cinco archivos a quinientos, y la comprobación del código de salida significa que un solo archivo defectuoso nunca descarrila la ejecución. Para más información sobre los flujos de trabajo con scripts de FlipLink, la documentación de la CLI cubre todos los comandos, y Operaciones masivas explica cómo encaja esto en un pipeline de publicación más grande — perfecto para mantener al día por lotes los catálogos de productos.
Lecturas relacionadas
¿Listo para crear tu primer flipbook?
Convierte tus PDF en flipbooks y documentos interactivos. Empieza con el Lifetime Deal de FlipLink: acceso de por vida desde solo $39.
Paga una vez, usa para siempre
10, 50 o 100 flipbooks · Las 35 funciones · Dominios ilimitados
Sin niveles. Sin restricciones. Cada código LTD desbloquea todo.
- Cada función desbloqueada — sin límites
- Acumulable — compra más códigos cuando quieras
- Reemplazable — cambia el antiguo por uno nuevo
- Dominios propios ilimitados (CNAME)
- Sin costos recurrentes, nunca
Lecturas relacionadas
Automatiza la publicación de flipbooks en CI/CD con la CLI de FlipLink
Automatiza la publicación de flipbooks en tu pipeline de CI/CD con la CLI de FlipLink: crea, publica, captura la URL y falla rápido por código.
FlipLink CLI vs. API vs. MCP: ¿qué integración deberías usar?
CLI, API o MCP en FlipLink: compara esfuerzo, público y caso de uso, y crea el mismo flipbook de tres formas. Elige la integración correcta.
Primeros pasos con la CLI de FlipLink
Instala la CLI de FlipLink, autentícate y convierte un PDF en un flipbook publicado y listo para compartir desde tu terminal en unos pocos comandos.