コード例 #1
0
        protected void btnGenerarReferencia_Click(object sender, EventArgs e)
        {
            ManejadorConsultas manejador    = new ManejadorConsultas();
            BLReferencia       referencia   = new BLReferencia(Session["id"].ToString(), long.Parse(Session["idExpediente"].ToString()));
            string             confirmacion = manejador.CargarReferencia(referencia);

            if (confirmacion.Contains("Error"))
            {
                MensajeAviso(confirmacion);
            }
            else
            {
                referencia.NombreClinica        = "Clínica Pediátrica Divino Niño";
                referencia.FechaReferencia      = DateTime.Today.ToString("dd/MM/yyyy");
                referencia.Analisis             = analisis.Value.Trim();
                referencia.ImpresionDiagnóstica = impresionDiagnostica.Value.Trim();
                referencia.Especialidad         = especialidad.Value.Trim();
                referencia.Motivo = motivo.Value.Trim();
                GenerarPDF(referencia);
            }
        }
コード例 #2
0
        private void GenerarPDF(BLReferencia referencia)
        {
            try
            {
                PdfDocument pdf = new PdfDocument();
                pdf.Info.Title = "Mi título";
                PdfPage   page  = pdf.AddPage();
                XGraphics graph = XGraphics.FromPdfPage(page);

                XFont fontRegular = new XFont("Verdana", 10, XFontStyle.Regular);
                XFont fontBold    = new XFont("Verdana", 10, XFontStyle.Bold);

                XTextFormatter tf = new XTextFormatter(graph);

                tf.Alignment = XParagraphAlignment.Justify;

                graph.DrawString(referencia.NombreClinica, fontRegular, XBrushes.Black, new XRect(20, 10, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString("Dr. " + referencia.NombreMedico, fontRegular, XBrushes.Black, new XRect(20, 22, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString("Código: " + referencia.CodigoMedico, fontRegular, XBrushes.Black, new XRect(20, 34, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString("Tel: " + referencia.TelefonoMedico, fontRegular, XBrushes.Black, new XRect(20, 46, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString("Correo: " + referencia.CorreoMedico, fontRegular, XBrushes.Black, new XRect(20, 58, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                graph.DrawString("Fecha: ", fontRegular, XBrushes.Black, new XRect(340, 10, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString(referencia.FechaReferencia, fontRegular, XBrushes.Black, new XRect(390, 10, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                graph.DrawString("Cédula: ", fontRegular, XBrushes.Black, new XRect(340, 22, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString(referencia.CedulaPaciente, fontRegular, XBrushes.Black, new XRect(390, 22, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                graph.DrawString("Nombre: ", fontRegular, XBrushes.Black, new XRect(340, 34, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString(referencia.NombrePaciente, fontRegular, XBrushes.Black, new XRect(390, 34, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                graph.DrawString("Edad: ", fontRegular, XBrushes.Black, new XRect(340, 46, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString(referencia.EdadPaciente, fontRegular, XBrushes.Black, new XRect(390, 46, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                graph.DrawString("Sexo: ", fontRegular, XBrushes.Black, new XRect(340, 58, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                graph.DrawString(referencia.SexoPaciente, fontRegular, XBrushes.Black, new XRect(390, 58, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);

                tf.DrawString("Análisis: ", fontRegular, XBrushes.Black, new XRect(20, 100, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString(referencia.Analisis, fontRegular, XBrushes.Black, new XRect(20, 115, page.Width - 40, page.Height.Point), XStringFormats.TopLeft);

                tf.DrawString("Impresión Diagnóstica: ", fontRegular, XBrushes.Black, new XRect(20, 250, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString(referencia.ImpresionDiagnóstica, fontRegular, XBrushes.Black, new XRect(20, 265, page.Width - 40, page.Height.Point), XStringFormats.TopLeft);

                tf.DrawString("A: (Especialidad) ", fontRegular, XBrushes.Black, new XRect(20, 400, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString(referencia.Especialidad, fontRegular, XBrushes.Black, new XRect(20, 415, page.Width - 40, page.Height.Point), XStringFormats.TopLeft);

                tf.DrawString("Motivo de la Referencia: ", fontRegular, XBrushes.Black, new XRect(20, 450, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString(referencia.Motivo, fontRegular, XBrushes.Black, new XRect(20, 465, page.Width - 40, page.Height.Point), XStringFormats.TopLeft);

                tf.DrawString("Observaciones: ", fontRegular, XBrushes.Black, new XRect(20, 600, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString("", fontRegular, XBrushes.Black, new XRect(20, 615, page.Width - 40, page.Height.Point), XStringFormats.TopLeft);


                tf.Alignment = XParagraphAlignment.Center;
                tf.DrawString("__________________________", fontBold, XBrushes.Black, new XRect(0, 745, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
                tf.DrawString("Firma", fontRegular, XBrushes.Black, new XRect(0, 760, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);


                // Send PDF to browser
                MemoryStream stream = new MemoryStream();
                pdf.Save(stream, false);

                Response.Clear();
                Response.ContentType = "application/force-download";
                Response.AppendHeader("Content-Disposition", "attachment; filename=Referencia.pdf");
                Response.BinaryWrite(stream.ToArray());
                Response.Flush();
                stream.Close();
                Response.End();
            }
            catch (Exception ex)
            {
            }
        }