Saltearse al contenido

Pdf Writer

El Pdf Writer convierte cualquier texto escrito en Markdown en un archivo PDF. Puedes elegir el nombre del archivo, aplicar estilos CSS personalizados y, si lo deseas, generar varios PDFs a la vez usando el modo de mapeo.

¿Cómo funciona?

El componente toma el contenido Markdown que le entregas, lo procesa con la librería WeasyPrint y lo convierte en PDF. Si no indicas un nombre de archivo, se genera uno aleatorio con UUID. El CSS que proporciones se aplica al documento para que el PDF quede con el formato que prefieras. El resultado se devuelve como un objeto Data que contiene el nombre del archivo, su contenido codificado en Base64 y el tipo MIME application/pdf.

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado Mapping Mode. Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada Mapping Data y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

  • File Content: Markdown File Content URL or File ID
    Requerido. Es el texto que quieres convertir a PDF. Puedes pasar un enlace a un archivo Markdown o el ID de un archivo almacenado en Nappai.

  • CSS Style: Style of the PDF file
    Requerido. Define el estilo visual del PDF.

    body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    }
    h1, h2 {
    color: #333;
    }
  • File Name: Name of the file to be created. leave empty to use random name.
    Opcional. Si lo dejas vacío, el componente generará un nombre aleatorio con extensión .pdf.

  • Mapping Mode: Enable mapping mode to process multiple data records in batch
    Interruptor que activa el modo de mapeo descrito arriba.

Salidas

  • File: Tipo de datos Data (método: create_file)
    El PDF generado se devuelve como un objeto Data que incluye:
    • file_name: nombre del archivo (con extensión .pdf).
    • base64_content: contenido del PDF codificado en Base64.
    • mime_type: application/pdf.

Puedes usar esta salida para descargar el archivo, enviarlo por correo electrónico o guardarlo en otro componente de Nappai.

Ejemplo de Uso

  1. Añade el componente “Pdf Writer” al flujo de trabajo.
  2. Configura los campos:
    • File Content: # Informe Mensual\nEste es el contenido del informe...
    • CSS Style: (usa el ejemplo por defecto o personalízalo)
    • File Name: informe_mensual.pdf (opcional)
  3. Ejecuta el flujo.
    El componente creará un PDF llamado informe_mensual.pdf (o un nombre aleatorio si lo dejaste vacío) y lo devolverá en la salida File.

Puedes conectar la salida File a un componente de descarga o a un correo electrónico para enviar el PDF a tus colegas.

Componentes Relacionados

  • Markdown Parser – Convierte Markdown a HTML antes de procesarlo.
  • Text Writer – Guarda texto plano en archivos.
  • Email Sender – Envía archivos adjuntos por correo electrónico.
  • File Storage – Guarda archivos generados en la nube de Nappai.

Consejos y Mejores Prácticas

  • Usa CSS personalizado para adaptar el PDF a la identidad visual de tu empresa.
  • Activa Mapping Mode cuando necesites generar PDFs para varios registros a la vez (por ejemplo, facturas de clientes).
  • Comprueba el tamaño del PDF antes de enviarlo por correo; si es muy grande, considera comprimirlo o dividirlo.
  • Guarda los PDFs en un bucket de Nappai para mantenerlos organizados y accesibles.

Consideraciones de Seguridad

  • El contenido Markdown se procesa localmente; no se envía a servicios externos.
  • Asegúrate de que los enlaces a archivos Markdown provengan de fuentes confiables para evitar la ejecución de código malicioso.
  • Si el PDF contiene datos sensibles, almacénalo en una ubicación segura y controla los permisos de acceso.