Foros del Web » Programando para Internet » ASPX (.net) »

pasar de XML a PDF o a un impreso web

Estas en el tema de pasar de XML a PDF o a un impreso web en el foro de ASPX (.net) en Foros del Web. Buenos dias, tardes noches a todos los que entran al foro. Mi duda es la siguiente: Tengo una aplicacion web en ASP que realiza una ...
  #1 (permalink)  
Antiguo 14/12/2012, 12:19
 
Fecha de Ingreso: marzo-2011
Ubicación: Mexico
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación pasar de XML a PDF o a un impreso web

Buenos dias, tardes noches a todos los que entran al foro.

Mi duda es la siguiente:
Tengo una aplicacion web en ASP que realiza una invocacion a un web request. Este web request toma datos de nuestra BD y los envia a un Web Service para que este nos regrese una ruta de directorio web donde se encuentra un XML.

Mi pregunta es ¿existe algun codigo/programa gratuito que pueda implementar en mi sitio web para, cuando de clic en la ruta del documento XML lo pueda ver en formato grafico en mi pagina web; y lo pueda descargar tambien en formato PDF?

Es algo completamente nuevo para mi y necesito ayuda ya que es una implementacion para facturacion electronica. De antemano gracias.
  #2 (permalink)  
Antiguo 21/12/2012, 21:48
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: pasar de XML a PDF o a un impreso web

EL XMl puedes convertirlo en PDF con algo como esto:
1.- Cristal Reports: generas un RPT con la plantilla, la manipulas y llenas con la info, ya con tu lenguaje de programacion cargas el .RPT y luego con el CREXPORT.EXE y un comando Shell puedes generar el exportado .PDF

2.- Con programacion .ASP le pones al "response" el header correspondiente a "Content Type=PDF" y si lo abren desde un navegador web, se abrira un .pDF (tambien se hace asi para crear un excel "al vuelo".

3.- Con iTextSharp (DLL gratuita) puedes manipular desde programacion .net (no se si puede con ASP estandar) el objeto y te generara un .PDF

4.- No pdf, pero con XSLT puedes transformar cualquier XML y te generara una vista legible de la factura, ya con una "impresora virtual" como "PDF REDIRECT" (gratuito) le pides al usuario que desde el navegador le de "print" y exporte al PDF (mas lata)

Saludos
  #3 (permalink)  
Antiguo 26/12/2012, 19:42
 
Fecha de Ingreso: marzo-2011
Ubicación: Mexico
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación Respuesta: pasar de XML a PDF o a un impreso web

Gracias por la respuesta, lo hemos intentado ya con iTextSharp a traves de un formulario PDF, y un documento XML. Mi duda ahora es la siguiente:

Si tengo el xml con una estructura como la siguiente:
Código:
<Codigo>
    <Cliente nombre='minombre'/>
    <Concepto>
       <Conceptos descripcion='PIEZA'>
    </Concepto>
</Codigo
¿Como puedo hacer para tomar el parametro "nombre" del cliente e insertarlo en el
PDF usando iTextSharp y C#/ASP.NET?

Nota: Mi codigo esta de la siguiente manera:
Código:
//Abrimos el XML generado en el archivo anterior
                    XmlDocument objXml = new XmlDocument();
                    objXml.Load(Server.MapPath("~/Facturas/FAC" + f_fac.ToString() + "-" + factu.ToString() + ".xml"));

                    string sFuente = objXml.SelectSingleNode(Server.MapPath("~/PlantillaPDF/amaCFDI.pdf")).InnerText;
                    string sDestino = objXml.SelectSingleNode(Server.MapPath("~/FacturaPDF/FAC" + f_fac.ToString() + "-" + factu.ToString() + ".pdf")).InnerText;

                    FileStream Archivo = new FileStream(sDestino, FileMode.OpenOrCreate);
                    PdfReader DocReader = new PdfReader(sFuente);
                    PdfStamper DocStamp = new PdfStamper(DocReader, Archivo);

                    /* ---------- Recorremos los nodos para los valores de los campos ---------- */
                    XmlNodeList ListaNodos = objXml.GetElementsByTagName("Emisor");

                    //Variables de nodo
                    string sCampo = "";
                    string sValor = "";

                    foreach (XmlNode Nodo in ListaNodos)
                    {
                        XmlNode NodoActual = (XmlNode)Nodo;
                        sCampo = NodoActual.SelectSingleNode("RazonSocialEmisor").InnerText;
                        sValor = NodoActual.SelectSingleNode("Emisor/@Nombre").InnerText;
                        DocStamp.AcroFields.SetField(sCampo, sValor);
                        NodoActual = null;
                    }

                    //Cerramos el documento PDF creado
                    DocStamp.FormFlattening = true;
                    DocStamp.Close();
  #4 (permalink)  
Antiguo 08/01/2013, 15:34
 
Fecha de Ingreso: marzo-2011
Ubicación: Mexico
Mensajes: 11
Antigüedad: 13 años, 1 mes
Puntos: 0
De acuerdo Respuesta: pasar de XML a PDF o a un impreso web

Saludos al foro.En cuanto a la pregunta anterior, me respondo yo mismo y espero que a otros les sea de utilidad. Utilizando una lista de nodos:
Código:
string DescripcionConcepto =null;
XmlNodeList ListaConceptos = xml.GetElementsByTagName("Conceptos");
XmlNodeList listaConcepto = ((XmlElement)ListaConceptos[0]).GetElementsByTagName("Concepto");

 foreach (XmlElement NodoConcepto in listaConcepto)
                {
                   DescripcionConcepto = NodoConcepto.GetAttribute("descripcion").Trim();
                }
DocStamp.AcroFields.SetField("Descipcion", DescripcionConcepto);
Teniendo la siguiente estructura de XML:
Código:
<Conceptos>
    <Concepto descripcion="una descripcion"/>
</Conceptos>
Ya tengo generado mi PDF y lo genero de manera automatica sin guardar en disco. Se genera tambien una copia del XML que esta leyendo y esa si la deposita en una carpeta de mi sitio Web.

Saludos.

Etiquetas: c#, pdf, xml
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 11:31.