Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Transformar base64 a PDF

2,322 views
Skip to first unread message

Javi

unread,
Jul 29, 2009, 7:56:01 AM7/29/09
to

Hola,

Tengo un problema desde hace unos dias y no consigo sacarlo adelante por lo
que he decidido escribir aquí a ver si me pueden ayudar.

Estoy mostrando información en página web. Estos datos vienen de un servicio
web. Uno de estos datos está codificado en base64, y lo que tengo que hacer
es transformarlo en un documento pdf y así el cliente poder verlo.

¿Me pueden ayudar?, no encuentro la forma de hacerlo.

Muchas gracias,

Alberto Poblacion

unread,
Jul 29, 2009, 9:59:01 AM7/29/09
to
"Javi" <Ja...@discussions.microsoft.com> wrote in message
news:205BD642-0568-4BB5...@microsoft.com...

> Tengo un problema desde hace unos dias y no consigo sacarlo adelante por
> lo
> que he decidido escribir aquí a ver si me pueden ayudar.
>
> Estoy mostrando información en página web. Estos datos vienen de un
> servicio
> web. Uno de estos datos está codificado en base64, y lo que tengo que
> hacer
> es transformarlo en un documento pdf y así el cliente poder verlo.


Puedes usar Convert.FromBase64String para convertir la cadena de
caracteres en base64 a un array de bytes. Una vez que tengas el array de
bytes puedes volcarlo a un fichero si quieres tener el pdf en disco, o
puedes usar Response.BinaryWrite para mandárselo directamente al navegador
del usuario (después de manipular las cabeceras HTTP en la misma forma que
habitualmente se usa cuando mandas un fichero al nevegador).


Javi

unread,
Jul 29, 2009, 12:07:02 PM7/29/09
to

Muchas gracias Alberto.

Podría pasarme un pequeño ejemplo para ver como se hace. En este tema estoy
un poco escaso de conocimientos.

Muchas gracias de nuevo por su ayuda. Voy a investigar lo que me ha dicho.

Saludos,

Jhonny Vargas P.

unread,
Jul 29, 2009, 4:02:06 PM7/29/09
to
Hola,

Aquí tienes un pequeño ejemplo:

Dim B64 As String
Dim fileContents As Byte() =
My.Computer.FileSystem.ReadAllBytes("C:\temp\miarchivo.pdf")
B64 = Convert.ToBase64String(fileContents)


--
Saludos,
Jhonny Vargas P.
Santiago de Chile

... el viejo guatón Vargas...

"Javi" <Ja...@discussions.microsoft.com> escribió en el mensaje de
noticias:4A5AEAA6-7CBA-4B49...@microsoft.com...

Jhonny Vargas P.

unread,
Jul 29, 2009, 4:23:56 PM7/29/09
to
Era al revés


Dim fileContents As Byte() =

Convert.FromBase64String(ArchivoStringBase64), _
ruta As String = "C:\temp\miarchivo.pdf"

Dim fs As IO.FileStream
fs = IO.File.Create(ruta)
fs.Write(fileContents, 0, fileContents.Length)
fs.Close()

--
Saludos,
Jhonny Vargas P.
Santiago de Chile

... el viejo guatón Vargas...

"Jhonny Vargas P." <c_h_a_n_g...@hotmail.com> escribió en el mensaje
de noticias:#Fwq6dIE...@TK2MSFTNGP02.phx.gbl...

Javi

unread,
Jul 29, 2009, 4:45:01 PM7/29/09
to

Muchas gracias Jhonny. Mañana lo prueba. Espero que todo vaya bien. Si hay
algún problema les comento.

Muchas gracias por su ayuda,

Saludos,

"Jhonny Vargas P." wrote:

> Era al revés
>
>
> Dim fileContents As Byte() =
> Convert.FromBase64String(ArchivoStringBase64), _
> ruta As String = "C:\temp\miarchivo.pdf"
>
> Dim fs As IO.FileStream
> fs = IO.File.Create(ruta)
> fs.Write(fileContents, 0, fileContents.Length)
> fs.Close()
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>

> .... el viejo guatón Vargas...

Javi

unread,
Jul 30, 2009, 3:06:05 AM7/30/09
to

Hola Jhonny,

Estoy probando el código que me has pasado y tengo el siguiente problema:

Dim fileContents As Byte() = Convert.FromBase64String(documento)

y sale el siguiente error:

Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en '2'.

¿Qué puede estar mal?

Muchas gracias por su ayuda,


"Jhonny Vargas P." wrote:

> Era al revés
>
>
> Dim fileContents As Byte() =
> Convert.FromBase64String(ArchivoStringBase64), _
> ruta As String = "C:\temp\miarchivo.pdf"
>
> Dim fs As IO.FileStream
> fs = IO.File.Create(ruta)
> fs.Write(fileContents, 0, fileContents.Length)
> fs.Close()
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>

> .... el viejo guatón Vargas...

Jhonny Vargas P.

unread,
Jul 30, 2009, 10:28:47 AM7/30/09
to
Documento tiene que ser un STRING BASE 64

--
Saludos,
Jhonny Vargas P.
Santiago de Chile

... el viejo guatón Vargas...

"Javi" <Ja...@discussions.microsoft.com> escribió en el mensaje de

noticias:2841F6EF-9ADB-42AC...@microsoft.com...

Javi

unread,
Jul 30, 2009, 11:55:01 AM7/30/09
to

Hola Jhonny,

Voy a revisar lo que dices pero juraría que el servicio web devuelve un
String en Base 64.

Muchas gracias,

Saludos,

"Jhonny Vargas P." wrote:

> Documento tiene que ser un STRING BASE 64
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>

0 new messages