ShowPage() публичный Метод

public ShowPage ( ) : void
Результат void
Пример #1
0
 public static void ExportToPdf(this Report report ,string path)
 {
     using (PdfSurface pdfSurface = new PdfSurface (
         path,report.WidthWithMargins,report.HeightWithMargins)) {
         Cairo.Context cr = new Cairo.Context (pdfSurface);
         cr.Translate(report.Margin.Left,report.Margin.Top);
         ReportRenderer renderer = new ReportRenderer (){ Context = cr};
         renderer.RegisterRenderer (typeof(TextBlock), new TextBlockRenderer ());
         renderer.RegisterRenderer (typeof(Line), new LineRenderer ());
         renderer.RegisterRenderer (typeof(Image), new ImageRenderer (){ PixbufRepository = new PixbufRepository(report.ResourceRepository)});
         SectionRenderer sr = new SectionRenderer();
         renderer.RegisterRenderer(typeof(ReportHeaderSection), sr);
         renderer.RegisterRenderer(typeof(ReportFooterSection), sr);
         renderer.RegisterRenderer(typeof(DetailSection), sr);
         renderer.RegisterRenderer(typeof(PageHeaderSection), sr);
         renderer.RegisterRenderer(typeof(PageFooterSection), sr);
         MonoReports.Model.Engine.ReportEngine engine = new MonoReports.Model.Engine.ReportEngine (report,renderer);
         engine.Process ();
         for (int i = 0; i < report.Pages.Count; ++i) {
             renderer.RenderPage (report.Pages [i]);
             cr.ShowPage ();
         }
         pdfSurface.Finish ();
         (cr as IDisposable).Dispose ();
     }
 }
Пример #2
0
 public static void ExportToPdf(this Report report, string path)
 {
     using (PdfSurface pdfSurface = new PdfSurface(
                path, report.WidthWithMargins, report.HeightWithMargins)) {
         Cairo.Context cr = new Cairo.Context(pdfSurface);
         cr.Translate(report.Margin.Left, report.Margin.Top);
         ReportRenderer renderer = new ReportRenderer()
         {
             Context = cr
         };
         renderer.RegisterRenderer(typeof(TextBlock), new TextBlockRenderer());
         renderer.RegisterRenderer(typeof(Line), new LineRenderer());
         renderer.RegisterRenderer(typeof(Image), new ImageRenderer()
         {
             PixbufRepository = new PixbufRepository(report.ResourceRepository)
         });
         SectionRenderer sr = new SectionRenderer();
         renderer.RegisterRenderer(typeof(ReportHeaderSection), sr);
         renderer.RegisterRenderer(typeof(ReportFooterSection), sr);
         renderer.RegisterRenderer(typeof(DetailSection), sr);
         renderer.RegisterRenderer(typeof(PageHeaderSection), sr);
         renderer.RegisterRenderer(typeof(PageFooterSection), sr);
         MonoReports.Model.Engine.ReportEngine engine = new MonoReports.Model.Engine.ReportEngine(report, renderer);
         engine.Process();
         for (int i = 0; i < report.Pages.Count; ++i)
         {
             renderer.RenderPage(report.Pages [i]);
             cr.ShowPage();
         }
         pdfSurface.Finish();
         (cr as IDisposable).Dispose();
     }
 }
Пример #3
0
    public static void Write(string fileName)
    {
        Diagram diagram = Program.Load(fileName);
        string pdfName = System.IO.Path.ChangeExtension(fileName, "pdf");

        if(diagram != null)
        {
            try
            {
                using(PdfSurface pdfs = new PdfSurface(pdfName, 595, 842))
                {
                    using(Context cr = new Context(pdfs))
                    {
                        DiagramRenderer dr = new DiagramRenderer(cr, 0, 0, diagram);

                        cr.LineWidth = 1.0;
                        cr.Color = new Color(0.0, 0.0, 0.0);
                        dr.Render();
                        pdfs.SetSize(dr.width, dr.height);
                        dr.Draw();

                        cr.ShowPage();
                    }
                }

                Console.WriteLine("Wrote {0}", pdfName);
            }
            catch
            {
                Console.WriteLine("Error writing {0}", pdfName);
            }
        }
    }
Пример #4
0
 void salto_de_pagina(Cairo.Context cr, Pango.Layout layout)
 {
     if (comienzo_linea > 700)
     {
         cr.ShowPage();
         comienzo_linea = 105;
         imprime_encabezado(cr, layout);
     }
 }
Пример #5
0
 void salto_de_pagina(Cairo.Context cr, Pango.Layout layout)
 {
     if (comienzo_linea > 530)
     {
         cr.ShowPage();
         Pango.FontDescription desc = Pango.FontDescription.FromString("Sans");
         fontSize       = 8.0;        desc.Size = (int)(fontSize * pangoScale);                    layout.FontDescription = desc;
         comienzo_linea = 90;
         numpage       += 1;
         imprime_encabezado(cr, layout);
     }
 }
Пример #6
0
 void salto_de_pagina(Cairo.Context cr, Pango.Layout layout)
 {
     //context.PageSetup.Orientation = PageOrientation.Landscape;
     if (comienzo_linea > 660)
     {
         cr.ShowPage();
         Pango.FontDescription desc = Pango.FontDescription.FromString("Sans");
         fontSize       = 8.0;         desc.Size = (int)(fontSize * pangoScale);                                       layout.FontDescription = desc;
         comienzo_linea = 145;
         imprime_encabezado(cr, layout);
     }
 }
Пример #7
0
		public static void Main(string[] args)
		{
			// call the snippets
			Snippets snip = new Snippets();
			Surface surface = new PSSurface("snippets.ps", IMAGE_WIDTH, IMAGE_WIDTH);
			Context cr = new Context(surface);
			foreach (string snippet in Snippets.snippets)
			{
				cr.Save();
				Snippets.InvokeSnippet(snip, snippet, cr, IMAGE_WIDTH, IMAGE_HEIGHT);
				cr.ShowPage();
				cr.Restore();
			}
			surface.Finish ();
		}
Пример #8
0
 void salto_de_pagina(Cairo.Context cr, Pango.Layout layout, string descripcion_almacen, string numerosolicitud,
                      string fechaenvio, string idusuario, string nombreusr,
                      string numeroatencion, string pidpaciente, string nombrepaciente, string tiposolicitud,
                      string procedimientoqx, string diagnosticoqx, string obs_solicitud)
 {
     //context.PageSetup.Orientation = PageOrientation.Landscape;
     if (comienzo_linea > 660)
     {
         cr.ShowPage();
         Pango.FontDescription desc = Pango.FontDescription.FromString("Sans");
         fontSize       = 8.0;         desc.Size = (int)(fontSize * pangoScale);                                       layout.FontDescription = desc;
         comienzo_linea = 135;
         numpage       += 1;
         imprime_encabezado(cr, layout, descripcion_almacen, numerosolicitud, fechaenvio, idusuario, nombreusr, numeroatencion, pidpaciente, nombrepaciente, tiposolicitud, procedimientoqx, diagnosticoqx, obs_solicitud);
     }
 }
Пример #9
0
		public static void Main(string[] args)
		{
			// call the snippets
			Snippets snip = new Snippets();
			foreach (string snippet in Snippets.snippets)
			{
				string filename = "./" + snippet + ".svg";
				Surface surface = new SvgSurface(filename, IMAGE_WIDTH, IMAGE_WIDTH);
				Context cr = new Context(surface);
			
				cr.Save();
				Snippets.InvokeSnippet(snip, snippet, cr, IMAGE_WIDTH, IMAGE_HEIGHT);
				cr.ShowPage();
				cr.Restore();
				surface.Finish ();
			}
		}
Пример #10
0
    public static void Write(string fileName)
    {
        Diagram diagram = Program.Load(fileName);
        string psName = System.IO.Path.ChangeExtension(fileName, "ps");

        if(diagram != null)
        {
            try
            {
                // It seems the page size cannot be made smaller
                // using SetSize(), only larger. Start with a
                // small surface and enlarge it after layout.
                using(PSSurface pss = new PSSurface(psName, 10, 10))
                {
                    using(Context cr = new Context(pss))
                    {
                        DiagramRenderer dr = new DiagramRenderer(cr, 0, 0, diagram);

                        cr.LineWidth = 1.0;
                        cr.Color = new Color(0.0, 0.0, 0.0);
                        dr.Render();
                        pss.SetSize(dr.width, dr.height);
                        dr.Draw();

                        cr.ShowPage();
                    }
                }

                Console.WriteLine("Wrote {0}", psName);
            }
            catch
            {
                Console.WriteLine("Error writing {0}", psName);
            }
        }
    }
Пример #11
0
        void ejecutar_consulta_reporte(PrintContext context)
        {
            int    numero_solicitud;
            int    numero_almacen;
            int    contador_productos = 0;
            string toma_descrip_prod;
            string fechaautorizacion = "";
            string comentario        = "";
            string nombrepaciente    = "";
            string tiposolictud      = "SOLICITUD A PACIENTE ";

            Cairo.Context         cr     = context.CairoContext;
            Pango.Layout          layout = context.CreatePangoLayout();
            Pango.FontDescription desc   = Pango.FontDescription.FromString("Sans");
            fontSize  = 7.0;                                                                                 layout = context.CreatePangoLayout();
            desc.Size = (int)(fontSize * pangoScale);                                       layout.FontDescription = desc;

            NpgsqlConnection conexion;

            conexion = new NpgsqlConnection(connectionString + nombrebd);
            // Verifica que la base de dato s este conectada
            try{
                conexion.Open();
                NpgsqlCommand comando;
                comando             = conexion.CreateCommand();
                comando.CommandText = query_general;
                //Console.WriteLine(comando.CommandText);
                NpgsqlDataReader lector = comando.ExecuteReader();
                if (lector.Read())
                {
                    numero_solicitud  = (int)lector["folio_de_solicitud"];
                    numero_almacen    = (int)lector["idalmacen"];
                    toma_descrip_prod = (string)lector["descripcion_producto"];
                    nombrepaciente    = (string)lector["nombre1_paciente"].ToString().Trim() + " " +
                                        (string)lector["nombre2_paciente"].ToString().Trim() + " " +
                                        (string)lector["apellido_paterno_paciente"].ToString().Trim() + " " +
                                        (string)lector["apellido_materno_paciente"].ToString().Trim();
                    if (toma_descrip_prod.Length > 69)
                    {
                        toma_descrip_prod = toma_descrip_prod.Substring(0, 68);
                    }
                    if ((string)lector["fecha_autorizado"] == "02-01-2000")
                    {
                        fechaautorizacion = "";
                    }
                    else
                    {
                        fechaautorizacion = (string)lector["fecha_autorizado"];
                    }
                    if ((bool)lector["solicitud_stock"] == true)
                    {
                        tiposolictud = "SOLICITUD PARA STOCK DEL SUB-ALAMACEN";
                    }
                    else
                    {
                        tiposolictud = "SOLICITUD A PACIENTE";
                    }
                    if ((bool)lector["pre_solicitud"] == true)
                    {
                        tiposolictud   = "PRE-SOLICITUD PARA CIRUGIAS PROGRAMADAS";
                        nombrepaciente = (string)lector["nombre_paciente"].ToString().Trim();
                    }
                    else
                    {
                        tiposolictud = "SOLICITUD A PACIENTE";
                    }
                    //comprueba las notas de los resultado en el reporte
                    if ((bool)lector["sin_stock"] == true)
                    {
                        comentario = "sin stock";
                    }
                    if ((bool)lector["solicitado_erroneo"] == true)
                    {
                        comentario = "Pedido Erroneo";
                    }
                    if ((bool)lector["surtido"] == true)
                    {
                        comentario = "surtido";
                    }
                    if (float.Parse((string)lector["cantaut"]) == 0 && (bool)lector["sin_stock"] == false && (bool)lector["solicitado_erroneo"] == false && (bool)lector["surtido"] == false)
                    {
                        comentario = "No surtido";
                    }
                    imprime_encabezado(cr, layout, (string)lector["descripcion_almacen"], (string)lector["foliosol"], (string)lector["fecha_envio"],
                                       (string)lector["id_quien_solicito"], (string)lector["nombreempl"],
                                       (string)lector["foliodeatencion"].ToString().Trim(), (string)lector["pidpaciente"].ToString().Trim(), nombrepaciente,
                                       tiposolictud + " " + (string)lector["tipo_solicitud"].ToString().Trim(), (string)lector["procedimiento_qx"].ToString().Trim(), (string)lector["diagnostico_qx"].ToString().Trim(), (string)lector["observaciones_solicitud"].ToString());

                    cr.MoveTo(15 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText((string)lector["cantsol"]);                             Pango.CairoHelper.ShowLayout(cr, layout);
                    cr.MoveTo(60 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText((string)lector["idproducto"]);                  Pango.CairoHelper.ShowLayout(cr, layout);
                    cr.MoveTo(120 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(toma_descrip_prod);                                              Pango.CairoHelper.ShowLayout(cr, layout);
                    cr.MoveTo(405 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText((string)lector["cantaut"]);                             Pango.CairoHelper.ShowLayout(cr, layout);
                    cr.MoveTo(465 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(fechaautorizacion);                              Pango.CairoHelper.ShowLayout(cr, layout);
                    cr.MoveTo(520 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(comentario);                             Pango.CairoHelper.ShowLayout(cr, layout);
                    contador_productos += 1;
                    comienzo_linea     += separacion_linea;
                    while (lector.Read())
                    {
                        if (numero_solicitud != (int)lector["folio_de_solicitud"] || numero_almacen != (int)lector["idalmacen"])
                        {
                            cr.MoveTo(05 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText("Productos Solicitados :" + contador_productos.ToString());                                Pango.CairoHelper.ShowLayout(cr, layout);
                            nombrepaciente = (string)lector["nombre1_paciente"].ToString().Trim() + " " +
                                             (string)lector["nombre2_paciente"].ToString().Trim() + " " +
                                             (string)lector["apellido_paterno_paciente"].ToString().Trim() + " " +
                                             (string)lector["apellido_materno_paciente"].ToString().Trim();
                            numero_solicitud = (int)lector["folio_de_solicitud"];
                            numero_almacen   = (int)lector["idalmacen"];
                            if ((bool)lector["solicitud_stock"] == true)
                            {
                                tiposolictud = "SOLICITUD PARA STOCK DEL SUB-ALAMACEN";
                            }
                            if ((bool)lector["pre_solicitud"] == true)
                            {
                                tiposolictud   = "PRE-SOLICITUD PARA CIRUGIAS PROGRAMADAS";
                                nombrepaciente = (string)lector["nombre_paciente"].ToString().Trim();
                            }
                            if ((bool)lector["solicitud_stock"] == false && (bool)lector["pre_solicitud"] == false)
                            {
                                tiposolictud = "SOLICITUD A PACIENTE";
                            }
                            cr.ShowPage();
                            comienzo_linea     = 135;
                            contador_productos = 0;
                            imprime_encabezado(cr, layout, (string)lector["descripcion_almacen"], (string)lector["foliosol"], (string)lector["fecha_envio"],
                                               (string)lector["id_quien_solicito"], (string)lector["nombreempl"],
                                               (string)lector["foliodeatencion"].ToString().Trim(), (string)lector["pidpaciente"].ToString().Trim(),
                                               nombrepaciente, tiposolictud + " " + (string)lector["tipo_solicitud"].ToString().Trim(), (string)lector["procedimiento_qx"].ToString().Trim(),
                                               (string)lector["diagnostico_qx"].ToString().Trim(), (string)lector["observaciones_solicitud"].ToString());
                        }
                        toma_descrip_prod = (string)lector["descripcion_producto"];
                        if (toma_descrip_prod.Length > 69)
                        {
                            toma_descrip_prod = toma_descrip_prod.Substring(0, 68);
                        }
                        if ((string)lector["fecha_autorizado"] == "02-01-2000")
                        {
                            fechaautorizacion = "";
                        }
                        else
                        {
                            fechaautorizacion = (string)lector["fecha_autorizado"];
                        }
                        //comprueba las notas de los resultado en el reporte
                        if ((bool)lector["sin_stock"] == true)
                        {
                            comentario = "sin stock";
                        }
                        if ((bool)lector["solicitado_erroneo"] == true)
                        {
                            comentario = "Pedido Erroneo";
                        }
                        if ((bool)lector["surtido"] == true)
                        {
                            comentario = "surtido";
                        }
                        if (float.Parse((string)lector["cantaut"]) == 0 && (bool)lector["sin_stock"] == false && (bool)lector["solicitado_erroneo"] == false && (bool)lector["surtido"] == false)
                        {
                            comentario = "No surtido";
                        }
                        cr.MoveTo(15 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText((string)lector["cantsol"]);                     Pango.CairoHelper.ShowLayout(cr, layout);
                        cr.MoveTo(60 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText((string)lector["idproducto"]);          Pango.CairoHelper.ShowLayout(cr, layout);
                        cr.MoveTo(120 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(toma_descrip_prod);                                      Pango.CairoHelper.ShowLayout(cr, layout);
                        cr.MoveTo(405 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText((string)lector["cantaut"]);                     Pango.CairoHelper.ShowLayout(cr, layout);
                        cr.MoveTo(465 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(fechaautorizacion);                              Pango.CairoHelper.ShowLayout(cr, layout);
                        cr.MoveTo(520 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                 layout.SetText(comentario);                             Pango.CairoHelper.ShowLayout(cr, layout);
                        contador_productos += 1;
                        comienzo_linea     += separacion_linea;
                        salto_de_pagina(cr, layout, (string)lector["descripcion_almacen"], (string)lector["foliosol"], (string)lector["fecha_envio"], (string)lector["id_quien_solicito"], (string)lector["nombreempl"],
                                        (string)lector["foliodeatencion"].ToString().Trim(), (string)lector["pidpaciente"].ToString().Trim(), nombrepaciente, tiposolictud,
                                        (string)lector["procedimiento_qx"].ToString().Trim(), (string)lector["diagnostico_qx"].ToString().Trim(), (string)lector["observaciones_solicitud"].ToString());
                    }
                    cr.MoveTo(05 * escala_en_linux_windows, comienzo_linea * escala_en_linux_windows);                  layout.SetText("Productos Solicitados :" + contador_productos.ToString());                                Pango.CairoHelper.ShowLayout(cr, layout);
                }
            }catch (NpgsqlException ex) {
                MessageDialog msgBoxError = new MessageDialog(MyWinError, DialogFlags.DestroyWithParent,
                                                              MessageType.Warning, ButtonsType.Ok, "PostgresSQL error: {0}", ex.Message);
                msgBoxError.Run();
                msgBoxError.Destroy();
                Console.WriteLine("PostgresSQL error: {0}", ex.Message);
            }
        }