Convertir Base64 a PDF
Convierta un PDF codificado en Base64, llegado de una API o de una base de datos, de nuevo en un documento que pueda leer y guardar.
Decodificar Base64 a PDF online
Muchas API no pueden enviar un archivo tal cual, así que lo envuelven en JSON como una larga cadena Base64: etiquetas de envío, facturas, extractos bancarios e informes generados llegan así. Lo mismo ocurre con los PDF guardados en columnas de una base de datos y en el código fuente de los correos. Esta página es el codificador y decodificador Base64 configurado para decodificar al pegar, con un visor de PDF para el resultado.
La decodificación se hace en local, en su navegador, y la vista previa usa el propio visor de PDF del navegador, así que el documento nunca se sube.
Cómo reconocer un PDF en Base64
Todo PDF empieza por los bytes %PDF-, que en Base64 se convierten en JVBERi0. Si una cadena de la respuesta de una API empieza por esos siete caracteres, es un PDF. Una cadena que empieza por data:application/pdf;base64, es lo mismo con una etiqueta delante, y la herramienta la quita por usted.
Problemas habituales
- Barras escapadas: JSON puede mostrar
\/en lugar de/. Copie el valor de una respuesta ya interpretada, o sustituya antes\/por/. - Comillas copiadas: los caracteres
"que rodean el valor no forman parte del Base64 y hacen que la cadena no sea válida. - Base64URL: las cadenas que usan
-y_se convierten automáticamente. - No aparece el visor: los datos no son un PDF. La herramienta ofrece igualmente el archivo para descargar, con el nombre del tipo que detecta.
Hacerlo en código
| Plataforma | Decodificar a un archivo |
|---|---|
| Linux / macOS | base64 -d in.txt > out.pdf |
| PowerShell | [IO.File]::WriteAllBytes('out.pdf', [Convert]::FromBase64String($s)) |
| Python | open('out.pdf', 'wb').write(base64.b64decode(s)) |
| Node.js | fs.writeFileSync('out.pdf', Buffer.from(s, 'base64')) |
Para otros tipos de archivo, decodificar Base64 trata texto, imágenes y cualquier dato binario. Para crear un PDF a partir de imágenes, use imagen a PDF.