# Guardar PDF desde base64

**URL:** <https://foros.velneo.com/t/guardar-pdf-desde-base64/9284>\
**Category:** Velneo\
**Created:** [11 Enero, 2017 09:40 UTC](https://foros.velneo.com/t/guardar-pdf-desde-base64/9284 "2017-01-11T09:40:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [11 Enero, 2017 09:40 UTC](https://foros.velneo.com/t/guardar-pdf-desde-base64/9284/1 "2017-01-11T09:40:35Z")

</div>

Hola.

He visto en este foro ejemplos de cómo codificar un fichero PDF en base 64.

Mi problema es el contrario, recibo un PDF codificado en base64 y no consigo guardarlo correctamente en un fichero PDF.

No sé si el problema viene al hacer toLatin1String() o al escribir el fichero (su codificación), el caso es que el PDF guardado no funciona, me inclino a pensar que al pasarlo a Latin ya lo he descogorciado.

Si lo hago desde php con base64\_decode no hay problema, el pdf se abre perfectamente.

¿A algún gurú del vByteArray se le ocurre como solucionarlo?

Adjunto ejemplo del pdf.

Gracias por adelantado.

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [11 Enero, 2017 10:05 UTC](https://foros.velneo.com/t/guardar-pdf-desde-base64/9284/2 "2017-01-11T10:05:59Z")

</div>

Perdón.

Conforme lo he escrito he vsito que VFile tiene write( vByteArray)

Lo he probado y funciona perfectamente.

Por si a alguien le sirve:

```auto
// ENTRADA: BASE64: Textod del fichero en base 64
// FICHERO: Senda del fichero de salida
// RETORNO RESULT: 0 No creado, 1 creado

importClass("VByteArray");
importClass("VFile");

var cBase64 = theRoot.varToString( "BASE64" );
var fichero = theRoot.varToString( "FICHERO" );

var oTexto = new VByteArray();
oTexto.setText(cBase64);

var oByteArray = new VByteArray();
oByteArray.fromBase64(oTexto);

var fi = new VFile( fichero );
if ( fi.open( VFile.OpenModeWriteOnly | VFile.OpenModeTruncate) )
{
	fi.setBufferSize( oByteArray.length )
	fi.write( oByteArray );
        fi.close();
	result=1;
} else {
	result=0;
}

theRoot.setVar("RESULT",result);

```

---

<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:** [10 Marzo, 2019 14:48 UTC](https://foros.velneo.com/t/guardar-pdf-desde-base64/9284/3 "2019-03-10T14:48:49Z")

</div>

Hola Infortic, tengo una consulta, existe la posibilidad de que antes de guardar el documento se le pueda colocar una contraseña al mismo?.
