Codificar un PDF en Base64

convierte un PDF en una cadena Base64 / Data URI, ideal para integrar un documento directamente en HTML, JSON o un email

Codificar un PDF en Base64

El Base64 es una codificación que representa datos binarios en forma de texto ASCII (64 caracteres: A-Z, a-z, 0-9, más dos caracteres adicionales). Un fichero PDF, que es binario por naturaleza, no puede pegarse directamente en un correo HTML, una payload JSON o un atributo XML: primero debe ser convertido en texto. Nuestra herramienta toma su fichero PDF y devuelve su representación Base64, lista para ser copiada.

Para los detalles sobre Base64 y el formato Data URI en general, consulte nuestro codificador Base64 de texto, que cubre los principios en profundidad.

¿Por qué codificar un PDF en Base64?

  • Integrar un PDF en un correo HTML: algunos clientes de correo aceptan los enlaces Data URI o los adjuntos codificados inline en MIME.
  • Almacenar un PDF en un campo de texto de base de datos (columna TEXT o VARCHAR) cuando la restricción aplicativa prohíbe un tipo binario (BLOB).
  • Transmitir un PDF en una payload JSON de API: JSON no admite binario, por lo que cualquier fichero debe transitar en Base64.
  • Embeber un PDF en una URL data: uso raro, reservado para ficheros muy pequeños, ya que las URL tienen límites de longitud (típicamente entre 2000 y 8000 caracteres según el navegador y el servidor).

Formato Data URI para PDF

Una URL de tipo Data URI incrusta el contenido del PDF directamente en la URL:

data:application/pdf;base64,JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFI...

El prefijo data:application/pdf;base64, indica al navegador el tipo MIME y la codificación. Puede pegar esta URL directamente en la barra de direcciones de un navegador moderno para abrir el PDF, o colocarla en el atributo src de un <iframe> o <embed>.

Casos de uso concretos

  • Firmas electrónicas: la mayoría de las API de firma (DocuSign, Yousign, etc.) aceptan o exigen el PDF en Base64 en el cuerpo JSON de la petición.
  • Copias de seguridad y archivado: serializar un PDF en una exportación JSON o un fichero de texto versionado en git (a evitar para grandes volúmenes, pero práctico para fixtures de test).
  • Pruebas automatizadas: integrar un PDF de referencia directamente en un test unitario sin depender de un fichero externo.
  • Exportaciones a cliente: generar un PDF en el lado del servidor, devolverlo en Base64 en la respuesta JSON, el cliente lo decodifica y lo descarga sin una llamada HTTP adicional.

Inconvenientes a tener en cuenta

  • Sobrecoste de tamaño: Base64 añade aproximadamente un 33 % al volumen. Un PDF de 1 MB se convierte en una cadena de 1,37 MB en Base64.
  • Sin caché HTTP: un PDF embebido en Data URI dentro de una página HTML se descarga de nuevo en cada carga, al contrario que un fichero servido desde una URL clásica con cabeceras de caché.
  • Límites de tamaño: la memoria del navegador, el tamaño máximo de un POST en el lado del servidor (upload_max_filesize y post_max_size en PHP) y las cuotas de la base de datos (tamaño de fila MySQL, por ejemplo) pueden superarse rápidamente con PDF voluminosos.
  • No apto para ficheros grandes: por encima de algunos MB, prefiera un almacenamiento dedicado (S3, disco) y transmita una URL en lugar del contenido codificado.

Cómo utilizar la herramienta

  1. Haga clic en el campo de carga y seleccione su fichero PDF.
  2. La herramienta codifica el contenido binario en Base64 y muestra el resultado.
  3. Puede elegir incluir o no el prefijo data:application/pdf;base64, según su caso de uso (con prefijo para un Data URI, sin prefijo para una payload JSON).
  4. Copie la cadena y péguela donde la necesite.

Preguntas frecuentes

¿Cuál es el tamaño máximo de PDF aceptado?

El límite depende de la configuración del servidor. En la práctica, manténgase por debajo de unos pocos MB para conservar una experiencia fluida. Por encima, el navegador se ralentiza, el portapapeles se satura y los destinos (correo, JSON, base de datos) corren el riesgo de rechazar la carga.

¿Es compatible el PDF Base64 con los clientes de correo (Gmail, Outlook)?

Como adjunto codificado inline en un mensaje MIME, sí: es incluso el mecanismo estándar del correo electrónico. En cambio, como Data URI en el cuerpo HTML de un mensaje (<a href="data:..."> o <iframe>), la mayoría de los clientes de correo bloquean o reescriben esas URL por razones de seguridad. Prefiera el adjunto clásico.

¿Qué diferencia hay con un PDF cifrado?

Codificar en Base64 no es cifrar: la cadena sigue siendo legible y trivial de decodificar por cualquiera. Un PDF cifrado (contraseña de propietario o usuario) sigue cifrado incluso después de la codificación Base64: la codificación y el cifrado son dos operaciones independientes.

¿Puedo realizar la operación inversa?

Sí: utilice nuestro decodificador PDF Base64 para transformar una cadena Base64 en un fichero PDF descargable.

¿Se envía mi PDF a sus servidores?

La codificación se procesa en el lado del servidor durante el tiempo de la petición, después se libera el fichero. No se realiza ningún almacenamiento persistente. Para PDF especialmente sensibles, prefiera un tratamiento local con una herramienta sin conexión.

Ejemplo de solicitud

curl -X POST https://cdrn.fr/api/v1/tools/base64-pdf-encoder/execute \
  -F "file=@/path/to/file"

Esquema de entrada

Campo Tipo Obligatorio Por defecto
file file

esta herramienta espera un archivo - utiliza Content-Type multipart/form-data en lugar de application/json

Puntos de acceso

  • GET https://cdrn.fr/api/v1/tools - lista todas las herramientas disponibles
  • GET https://cdrn.fr/api/v1/tools/base64-pdf-encoder - recupera el esquema de esta herramienta
  • POST https://cdrn.fr/api/v1/tools/base64-pdf-encoder/execute - ejecuta esta herramienta con un payload JSON