示例#1
0
        /// <summary>
        /// Constructor: coge el json parseado y lo guarda como diccionario tambien coge del json:
        /// offset: la distancia desde el origen y de la pagina hasta donde se pone la cabecera
        /// y: la distancia desde el origne y de la pagina hasta donde se pone la informacion
        /// linea: distancia de interlineado
        /// n_tickets_pag: numero de lineas que tiene cada pagina sin contar la cabecera
        /// destatico: diccionario donde para cada texto estatico se guarda su estilo
        /// </summary>
        /// <param name="pdfjson">path donde esta el.json que se parsea</param>
        /// <example>ejemplo de json:
        /// {"offset":{"y":75},
        ///   "n_tickets_pag":20,
        ///	  "estatico":[
        ///		{"x":50,"fonttype":"ArialBlack","fontsize":20,"texto":"espectaculo"},
        ///		{"x":150,"fonttype":"ArialBlack","fontsize":20,"texto":"abonado"},
        ///		{"x":270,"fonttype":"ArialBlack","fontsize":20,"texto":"devoluciones"},
        ///		{"x":1000,"fonttype":"ArialBlack","fontsize":20,"texto":"importe"}
        ///	   ],
        ///	   "offsetres":{"linea":"20","y":100},
        ///	   "espectaculo":{"x":50,"fonttype":"verdana","fontsize":17},
        ///	   "abonado":{"x":150,"fonttype":"verdana","fontsize":17},
        ///	   "devoluciones":{"x":270,"fonttype":"verdana","fontsize":17},
        ///	   "importe":{"x":1000,"fonttype":"verdana","fontsize":17}
        ///	}
        /// </example>
        public SQLPDF(String pdfjson)
        {
            config = new Dictionary <string, Object>();
            StreamReader r     = new StreamReader(pdfjson);
            string       sjson = r.ReadToEnd();

            System.Web.Script.Serialization.JavaScriptSerializer serializer = new
                                                                              System.Web.Script.Serialization.JavaScriptSerializer();
            config = serializer.Deserialize <Dictionary <string, Object> >(sjson);
            ArrayList estaticos = (ArrayList)config["estatico"];

            destatico = new Dictionary <string, Estilo>();
            foreach (Dictionary <string, Object> estatico in estaticos)
            {
                Estilo est = new Estilo();
                est.x        = Convert.ToInt32(estatico["x"]);
                est.fontsize = Convert.ToInt32(estatico["fontsize"]);
                est.fonttype = estatico["fonttype"].ToString();
                destatico.Add(estatico["texto"].ToString(), est);
            }
            Dictionary <string, Object> doffset = (Dictionary <string, Object>)config["offset"];

            offset = (float)Convert.ToDouble(doffset["y"].ToString());
            Dictionary <string, Object> offsetres = (Dictionary <string, Object>)config["offsetres"];

            linea         = (float)Convert.ToDouble(offsetres["linea"].ToString());
            y             = (float)Convert.ToDouble(offsetres["y"].ToString());
            n_tickets_pag = Convert.ToInt32(config["n_tickets_pag"].ToString());
        }
示例#2
0
        /// <summary>
        /// Esta funcion busca la fuente de un texto estatico que pone nombre
        /// </summary>
        /// <param name="nombre"> texto del campo estatico del que queremos saber la fuente</param>
        /// <returns></returns>
        public System.Drawing.Font encontrar_font(string nombre)
        {
            Estilo est = destatico[nombre];

            return(new System.Drawing.Font(est.fonttype, est.fontsize));
        }
示例#3
0
        /// <summary>
        /// Esta funcion nos dice en que x tiene que ir el texto estatico nombre
        /// </summary>
        /// <param name="nombre">texto del campo estatico del que queremos saber su x</param>
        /// <returns></returns>
        public float encontrar_x(string nombre)
        {
            Estilo est = destatico[nombre];

            return(est.x);
        }