# Decodificar base64 a pdf

**URL:** <https://foros.velneo.com/t/decodificar-base64-a-pdf/10481>\
**Category:** Velneo\
**Created:** [28 Junio, 2020 15:19 UTC](https://foros.velneo.com/t/decodificar-base64-a-pdf/10481 "2020-06-28T15:19:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [28 Junio, 2020 15:19 UTC](https://foros.velneo.com/t/decodificar-base64-a-pdf/10481/1 "2020-06-28T15:19:57Z")

</div>

Hola buenas tardes:

He estado tratando de decodificar un archivo pdf en base64 que me retorna un WS con una factura, pero no logro que se decodifique correctamente, es decir al parecer no lo he hecho correctamente porque aunque logro crear el archivo pdf, los lectores de pdf no lo reconocen y me muestran un error de archivo.

Como es es proceso correcto para lograr esto?

Muchas gracias.

---

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [28 Junio, 2020 15:21 UTC](https://foros.velneo.com/t/decodificar-base64-a-pdf/10481/2 "2020-06-28T15:21:45Z")

</div>

Estoy usando esto:

//------FUNCION DECODIFICAR----------  
var decodificar= function(resourceDataContent){  
var ba64=new VByteArray();  
ba64.setText(resourceDataContent);  
var newXML=new VByteArray();  
newXML.fromBase64(ba64);  
return (newXML.toLatin1String());  
}

---

<div class="post-metadata">

**Author:** ![osuna](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/osuna/32/5306_2.png) [@osuna](https://foros.velneo.com/u/osuna)\
**Post date:** [30 Junio, 2020 14:37 UTC](https://foros.velneo.com/t/decodificar-base64-a-pdf/10481/3 "2020-06-30T14:37:15Z")

</div>

Hola, este script te puede serir:

importClass(“VFile”);

var rutaArchivo = theRoot.varToString(“DIR”);  
var Base64 = theRoot.varToString(“FILE”);

// Se abre el fichero de escritura (si no existe se crea y si existe se limpia)  
var newFile = new VFile( rutaArchivo );  
var oByteArray = new VByteArray();

```
if ( newFile.open( VFile.OpenModeWriteOnly | VFile.OpenModeTruncate) ){			
	var oTexto = new VByteArray();
	// Cargamos el Texto en Base64			
	oTexto.setText(Base64);
	// Obtenemos el ByteArray con el contenido original del archivo
	var oNewByteArray = new VByteArray();
	oNewByteArray.fromBase64(oTexto);
	// Se graba el buffer
	newFile.write( oNewByteArray );     
	// Se cierra el fichero
	newFile.close();
	theRoot.setVar("RESP", "200")
}else{
	// Si no ha sido posible abrir el fichero se muestra error
	alert( "No se pudo abrir el fichero " + newFile.fileName(), "Error" );
	theRoot.setVar("RESP", "No se pudo abrir el fichero ")
}
```

---

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [30 Junio, 2020 15:03 UTC](https://foros.velneo.com/t/decodificar-base64-a-pdf/10481/4 "2020-06-30T15:03:35Z")

</div>

Listo mil gracias. 👌
