Foros del Web » Programación para mayores de 30 ;) » .NET »

crear pdf desde un xml en modo hexadecimal o byte

Estas en el tema de crear pdf desde un xml en modo hexadecimal o byte en el foro de .NET en Foros del Web. saludos a tod@s. espero la esten pasando bien Tengo el siguiente problema, que consulto un Web Service, el cual, me regresa un xml y en ...
  #1 (permalink)  
Antiguo 10/09/2008, 17:46
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 8 meses
Puntos: 0
crear pdf desde un xml en modo hexadecimal o byte

saludos a tod@s.

espero la esten pasando bien

Tengo el siguiente problema, que consulto un Web Service, el cual, me regresa un xml y en uno de sus elementos, me regresa un pdf, pero entiendo que este WS me lo puede regresar de manera hexadecimal o byte.... supongo que ya viene formateado el 'pdf'. si es asi, supongo que nadamas lo tengo que convertir de algun modo a pdf. alguien sabe como realizar dicha accion?

ahorita estoy checando algo de iTextSharp, espero que eso me ayude...
si alguien sabe algo sobre el tema. les agradecere mucho su ayuda.

Saludos. y les deseo lo mejor
  #2 (permalink)  
Antiguo 10/09/2008, 17:52
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: crear pdf desde un xml en modo hexadecimal o byte

depende que hagas si es web o windows

si es windows usar StreamWriter y escribir los bytes en un archivo pdf

si es web solo usar el Stream de Response.OutputStream.Write(bytes etc etc etc); y agregar el Header que estas env

algo asi

Response.ContentType = "application/pdf";
Response.AddHeader("Content-disposition", "filename=archivo.pdf");
....
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);

donde ms es un MemoryStream que llenas con los bytes que te devuelve tu WS
Resp
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 11/09/2008, 11:04
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: crear pdf desde un xml en modo hexadecimal o byte

gracias por tu ayuda PeterPay...

Nunca antes he usado MemoryStream, y de lo que he checado en internet, no entiendo muy bien como llenar mi variable tipo MemoryStream con el dato que me llegue del ws.

tendras por ahi algun ejemplo de como llenar la variable tipo MemoryStream?

de todos modos yo seguire buscando, muchisimas gracias por tu ayuda PeterPay
  #4 (permalink)  
Antiguo 11/09/2008, 13:57
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: crear pdf desde un xml en modo hexadecimal o byte

Hola suprempada yo uso una dll que se llama reporte pdf y es súper sencillo si quieres contáctame y te la paso así como el proceso donde lo hice en WebForm.

Horita quiero hacerlo en Winform pero no se da.

Saludos.
[email protected]
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #5 (permalink)  
Antiguo 19/09/2008, 10:34
 
Fecha de Ingreso: agosto-2004
Mensajes: 296
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Respuesta: crear pdf desde un xml en modo hexadecimal o byte

saludos a tod@s, ya resolvi mi problema, el codigo quedo asi:
//myString es la cadena hexadecimal

byte[] ByteArray2 = new byte[myString.Length/2];

int i = 0;
int inicio = 0;
int fin = 2;
string hex = "";
while (fin <= myString.Length)
{
hex = myString.Substring(inicio, 2);
ByteArray2[i] = Convert.ToByte(hex,16);
i++;
inicio=inicio + 2;
fin = fin + 2;
}

string pdfFileName = "C:/Archivo.pdf";
try
{
File.Delete(pdfFileName);
}
catch { }

FileStream pdfFile = File.OpenWrite(pdfFileName);
pdfFile.Write(ByteArray2, 0, ByteArray2.Length);
pdfFile.Close();



espero y a alguien le sirva este codigo.

Saludos!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:35.