Codificar un PDF en Base64
- Panel
- Documentación
- API
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
TEXToVARCHAR) 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_filesizeypost_max_sizeen 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
- Haga clic en el campo de carga y seleccione su fichero PDF.
- La herramienta codifica el contenido binario en Base64 y muestra el resultado.
- 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). - 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 disponiblesGET https://cdrn.fr/api/v1/tools/base64-pdf-encoder- recupera el esquema de esta herramientaPOST https://cdrn.fr/api/v1/tools/base64-pdf-encoder/execute- ejecuta esta herramienta con un payload JSON