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.

Sumit Ghugharwal
Sumit Ghugharwal

Publicado el 21 de junio de 2026 · 7 min read

Compartir este artículo:

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 — éxito
  • 1 — 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.

#cli#lote#automatización#pdf#operaciones masivas
Lifetime Deal

Paga una vez, usa para siempre

10, 50 o 100 flipbooks · Las 35 funciones · Dominios ilimitados

$39
10 Flipbooks
$89
50 Flipbooks
Más popular
$129
100 Flipbooks

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

Tutorials6 min read

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.

Sumit Ghugharwal