Plataformas e integraciones

# Normaliza documentos de Supabase Storage a PDF

Importa un lote controlado de documentos de Supabase Storage, normaliza los archivos de oficina compatibles a PDF y expórtalos a un prefijo separado.

Publicado el 1 de septiembre de 2026

## Conclusiones clave

* Limita el prefijo de importación a formatos de oficina compatibles; un bucket mixto no es un contrato de conversión.
* Pagina las importaciones recursivas y guarda un punto de control por cada página completada, en lugar de asumir que una sola Assembly cubre toda la biblioteca.
* Escribe los PDF en un prefijo separado para que las siguientes ejecuciones de importación no consuman sus propios resultados.

Supabase Storage puede alojar documentos de producto sin ser el sistema que los convierte. Un flujo de trabajo por lotes resulta útil cuando una aplicación ha acumulado archivos de oficina que necesitan una representación en PDF coherente para revisión, descarga o indexación posterior. El diseño seguro trata la conversión como una tarea de procesamiento que genera un derivado con control de versiones, en lugar de reescribir el objeto original.

## En esta guía

1. [Crea una bandeja de entrada de documentos convertibles](#supabase-document-processing-workflow-section-1)
2. [Pagina y establece puntos de control en las importaciones recursivas](#supabase-document-processing-workflow-section-2)
3. [Crea el Template de PDF de Supabase](#supabase-document-processing-workflow-section-3)
4. [Verifica el PDF y el registro de la aplicación](#supabase-document-processing-workflow-section-4)
5. [Diseña los reintentos y la retención por objeto](#supabase-document-processing-workflow-section-5)
6. [Observa el lote de forma independiente del tráfico de usuarios](#supabase-document-processing-workflow-section-6)

## Lo más importante

* Usa credenciales de Template separadas para lectura y escritura, o claves de acceso de S3 con alcance limitado cuando sea posible.
* Registra la ruta de origen, la versión de origen, el ID de la Assembly, la ruta de salida y la versión del flujo de trabajo en la base de datos de la aplicación.
* Trata los permisos del bucket del objeto almacenado como el control de acceso y registra la ruta de destino, en lugar de una URL de resultado, como la identidad del documento.

## Crea una bandeja de entrada de documentos convertibles

No dirijas la importación recursiva a un bucket de producción mixto. Crea un prefijo de bandeja de entrada cuyo contrato se limite a los formatos de oficina y texto seleccionados para la conversión a PDF. Las imágenes, los archivos comprimidos y otros objetos de aplicación no relacionados quedan fuera del alcance de este flujo de trabajo, así que enrútalos o exclúyelos explícitamente. PDF no es una entrada compatible para /document/convert, por lo que debes desviar los PDF existentes de este Step.

Escribe el contrato en la ruta de subida o de la aplicación que llena la bandeja de entrada. Valida el nombre de archivo, el tipo detectado, el tamaño, la asociación del objeto con el inquilino y el estado del documento antes de programar el procesamiento. La extensión de un objeto de almacenamiento es información útil para el enrutamiento, pero no una validación de contenido concluyente.

## Pagina y establece puntos de control en las importaciones recursivas

/supabase/import puede recorrer un directorio de forma recursiva y paginar con page\_number y files\_per\_page. Trata cada página como una ejecución acotada. Almacena la solicitud de página y los objetos de origen observados en la aplicación, de modo que un fallo o un reintento pueda reanudarse sin asumir que el bucket permaneció sin cambios.

Mantén el prefijo de salida normalizado fuera de la bandeja de entrada importada. De lo contrario, una ejecución recursiva posterior puede encontrarse con sus propios PDF, algo que esta rama de conversión no está diseñada para aceptar. Un bucket independiente resulta aún más claro cuando la retención o los permisos difieren.

### Bandeja de entrada

Contiene solo formatos de origen admitidos por la política de conversión actual.

### Salida normalizada

Contiene PDF versionados y queda excluido de todo recorrido de la bandeja de entrada.

### Registro de base de datos

Asigna cada versión de origen a su Assembly, objeto de salida y estado del flujo de trabajo.

## Crea el Template de PDF de Supabase

El Template importa el prefijo acotado de la bandeja de entrada, convierte a PDF cada documento de oficina emitido y almacena cada resultado bajo una ruta normalizada que contiene la identificación única de la Assembly. /supabase/store requiere una ruta de archivo en lugar de un directorio, por lo que la ruta debe terminar en una expresión de nombre de archivo concreto.

El ejemplo hace referencia a nombres de credenciales de lectura y escritura separados. Supabase expone una conexión de almacenamiento compatible con S3; guarda su endpoint y sus claves de acceso en credenciales de Template. Almacena el bucket y la ruta de salida como la identidad duradera. Configura sign\_urls\_for solo cuando la aplicación necesite una signed\_ssl\_url con expiración; cuando se omite, no se realiza ninguna firma de URL.

Convertir una página acotada de documentos de oficina de Supabase a PDF versionados

```
{
  "allow_steps_override": false,
  "steps": {
    "office_inbox": {
      "robot": "/supabase/import",
      "credentials": "supabase-document-read",
      "path": "documents/office-inbox/",
      "recursive": true,
      "page_number": 1,
      "files_per_page": 100
    },
    "normalized_pdf": {
      "use": "office_inbox",
      "robot": "/document/convert",
      "format": "pdf"
    },
    "supabase_output": {
      "use": "normalized_pdf",
      "robot": "/supabase/store",
      "credentials": "supabase-document-write",
      "path": "documents/normalized-pdf-v1/${assembly.id}/${unique_prefix}/${file.url_name}",
      "result": true
    }
  }
}
```

## Verifica el PDF y el registro de la aplicación

Usa datos de prueba DOCX, ODT, PPTX, XLSX, HTML y Markdown solo si el producto promete admitir esas entradas. Revisa el número de páginas, las fuentes, las tablas, las fórmulas, los enlaces, los encabezados y el texto no latino. Los archivos no admitidos o sensibles a la fidelidad deberían entrar en un estado de revisión visible en lugar de marcarse como normalizados sin más.

Después de la exportación, actualiza la base de datos de la aplicación de forma idempotente con la ruta y versión de origen, la versión del flujo de trabajo, el ID de la Assembly, el bucket y la ruta de salida, y el estado final. Supabase Storage no actualiza la fila de la base de datos que representa el documento; la aplicación debe conciliar esa relación.

## Diseña los reintentos y la retención por objeto

Un documento defectuoso no debería requerir reejecutar una página completa de un directorio. Registra el éxito y el fallo por identidad de origen, y luego reintenta solo los objetos de origen que la aplicación no ha registrado como completos. La ruta de muestra es única por ejecución, así que procesar el mismo origen otra vez escribe un nuevo objeto; la deduplicación proviene del registro origen-resultado de la aplicación, verificado antes de crear otra Assembly.

Conserva los originales hasta que la política de retención de la aplicación permita eliminarlos y los PDF normalizados hayan pasado la revisión. Registra por separado si el PDF es una versión para visualización o la copia de registro revisada, en lugar de dejar que el prefijo de salida decida ese papel de negocio.

## Observa el lote de forma independiente del tráfico de usuarios

Ejecuta los lotes de normalización grandes mediante una cola o un proceso en segundo plano programado en lugar de una solicitud interactiva. Supervisa los puntos de control por página, los fallos a nivel de objeto, la duración de la Assembly, los bytes de salida y los errores de exportación de Supabase. Muestra al operador una lista visible de los objetos de origen sin resolver en lugar de ocultar las respuestas del proveedor en los registros.

Regula el trabajo para que las importaciones recursivas, la conversión de documentos y las escrituras no sobrecarguen las bases de datos ni el acceso al almacenamiento de la aplicación. Usa primero un despliegue reducido y representativo, y aumenta la concurrencia solo después de medir el comportamiento de finalización, reintento y webhook con archivos reales.

## Detalles técnicos que conviene conocer

* /supabase/import acepta una ruta, un array de rutas o una ruta de directorio. Las importaciones recursivas usan page\_number y files\_per\_page.
* /document/convert admite formatos de oficina y de texto, incluidos DOCX, ODT, PPTX, XLSX, HTML y Markdown, con PDF disponible como salida.
* PDF no es una entrada admitida para /document/convert. Enruta los PDF existentes evitando la conversión y convierte solo los formatos de origen admitidos.
* /supabase/store requiere una ruta de archivo en lugar de una ruta de directorio y puede incluir Assembly Variables en esa ruta.
* /supabase/store establece por defecto el encabezado Content-Type según el tipo MIME detectado del archivo procesado. Configura sign\_urls\_for para obtener una signed\_ssl\_url con expiración; cuando se omite, no se realiza ninguna firma de URL.
* La importación y el almacenamiento con Supabase usan su conexión de almacenamiento compatible con S3. Las credenciales de Template mantienen el endpoint y las claves de acceso fuera de las Instructions guardadas.

## Un enfoque práctico

1. 1\
   Define la bandeja de entrada convertible, el prefijo de salida, el tamaño de paginación y la transición del registro de la aplicación.
2. 2\
   Crea credenciales de Supabase con alcance limitado y guarda el Template de importar-convertir-almacenar.
3. 3\
   Convierte archivos representativos DOCX, PPTX y ODT, y revisa el diseño y los metadatos.
4. 4\
   Ejecuta páginas acotadas con puntos de control, registros idempotentes y una ruta de reintento para los objetos fallidos.

Un flujo de trabajo multimedia de cuatro etapas

## Cuándo resulta útil Transloadit

Usa este flujo de trabajo para normalizar por lotes una biblioteca de documentos ya alojada en Supabase Storage. Usa /supabase/import para un archivo delimitado o un prefijo paginado, /document/convert para la conversión compatible de oficina a PDF, y /supabase/store para el objeto resultante. Mantén la bandeja de entrada limitada a los formatos convertibles, separa los prefijos de entrada y salida, y concilia cada ruta exportada con su registro correspondiente en la base de datos de Supabase.

## Límite de la arquitectura

Supabase Storage controla los objetos de origen y salida, mientras que la aplicación controla el acceso del inquilino, los registros de la base de datos, el estado del documento, la retención y la publicación. Transloadit procesa únicamente los objetos seleccionados por el flujo de trabajo guardado y no actualiza las filas de la aplicación de forma automática.

## Preguntas frecuentes

### ¿Puede la bandeja contener PDF existentes?

No. PDF no es una entrada compatible para /document/convert. Mantén los PDF fuera de esta bandeja de archivos de oficina o desvíalos del Step de conversión.

### ¿Puede una sola Assembly convertir un bucket completo?

Las importaciones recursivas pueden cubrir directorios, pero las páginas acotadas con puntos de control duraderos son más seguras para bibliotecas grandes o cambiantes.

### ¿Por qué usar un prefijo de salida separado?

Evita que las importaciones recursivas lean los PDF generados como nuevos documentos de origen y facilita razonar sobre la retención, la reversión y los permisos.

### ¿Qué URL de resultado debería guardar la aplicación?

Guarda el bucket y la ruta de destino como identidad duradera, no como una URL de resultado. Configura sign\_urls\_for cuando la aplicación necesite una signed\_ssl\_url con expiración; cuando se omite, /supabase/store no firma ninguna URL.

### ¿Transloadit actualiza nuestra fila de base de datos de Supabase?

No. La aplicación debe conciliar el resultado de la Assembly con sus propios registros de inquilino, documento y versión.

## Crea el flujo de trabajo

Pasa del concepto a una Assembly probada con documentación de Robots y demos funcionales.

### Robots relevantes

* [/supabase/import EN (English)](/docs/robots/supabase-import.md)
* [/document/convert](/es/docs/robots/document-convert.md)
* [/supabase/store EN (English)](/docs/robots/supabase-store.md)
* [Importa desde Supabase Storage EN (English)](/docs/robots/supabase-import.md)
* [Convierte documentos de oficina a PDF](/es/docs/robots/document-convert.md)
* [Exporta a Supabase Storage EN (English)](/docs/robots/supabase-store.md)
* [Protege las credenciales de Supabase](/es/docs/topics/template-credentials.md)
* [Crea rutas de salida sin solapamientos](/es/docs/topics/assembly-variables.md)
* [Lee la documentación de la API](/es/docs.md)
* [Explora demos funcionales EN (English)](/demos.md)
* [Crea un Workspace gratuito](/c/signup/)

Plataformas e integraciones

## Continúa con guías relacionadas

* [Flujos de trabajo de procesamiento multimedia personalizables con Transloadit](/es/guides/customizable-media-processing-workflows.md)\
  Diseña un Template reutilizable con validación, variables, derivados paralelos, almacenamiento seguro y finalización observable.
* [Guía completa de flujos de trabajo de recursos digitales](/es/guides/digital-asset-workflows.md)\
  Diseña un flujo de trabajo de recursos digitales desde la recepción y el procesamiento hasta la revisión, publicación, retención y eliminación.
* [Convierte documentos subidos a PDF y guárdalos en Box](/es/guides/upload-convert-documents-pdf-box.md)\
  Convierte documentos de oficina subidos en PDF consistentes y colócalos en una carpeta de Box controlada sin exponer credenciales de almacenamiento.
* [Elige almacenamiento externo para un flujo de trabajo multimedia](/es/guides/external-storage-media-workflows.md)\
  Elige almacenamiento externo para flujos de Transloadit: modelos, credenciales, controles de acceso, comportamiento de URL y necesidades de importación masiva.
* [Procesa imágenes de Google Cloud Storage y vuelve a escribirlas de forma segura](/es/guides/google-storage-image-processing-workflow.md)\
  Importa imágenes por lotes desde Google Cloud Storage, crea derivados WebP acotados y expórtalos a un prefijo controlado independiente.
* [Subidas de archivos, optimización de imágenes y codificación de video a un servidor tus](/es/guides/file-uploads-image-optimization-video-encoding-tus-server.md)\
  Recibe archivos, optimiza imágenes o codifica videos con Transloadit y entrega el resultado seleccionado a un servidor compatible con el protocolo tus.
