Ir al contenido principal

Snippets Mongo DB

 Esta publicación servirá para ir colocando fragmentos de consultas que en algún momento me fueron útiles para usarlo en MongoDB Fragmento 1:  Se requería obtener todos los elementos que dentro de un atributo que es de tipo array(arreglo) coincida  con type:"fire"  Fragmento 2: Se requería actualizar el atributo " lastUpdate "  de toda la colección donde la  edad sea mayor o igual a 15.

Exportar múltiples gráficas hihgcharts a PDF con javascript




"El tema es" que debia hacer un documento pdf apartir de una grafica hihgcharts,  con esto no hay problema pues hihgchart tiene la caracteristica de exportar habilitando exporting: {   enabled: false  }, bien el detalle es que tenia mas de una grafica las cuales debia poner en solo un documento PDF, Entonces esto fue o que me funciono:



Tengo las graficas:
http://jsfiddle.net/xola139/y8kwg5Lh/

Antes de seguir es necesario agregar las siguientes librerias para poder continuar

http://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.js
http://canvg.googlecode.com/svn/trunk/rgbcolor.js
http://canvg.googlecode.com/svn/trunk/canvg.js
http://code.highcharts.com/modules/exporting.js



//Vamos agregar la funcion para que podamos crear la grafica hihgcharts en canvas, esto se hace con el siquinte codigo:

(function (H) {
    H.Chart.prototype.createCanvas = function (divId) {
        var svg = this.getSVG(),
            width = parseInt(svg.match(/width="([0-9]+)"/)[1]),
            height = parseInt(svg.match(/height="([0-9]+)"/)[1]),
            canvas = document.createElement('canvas');

        canvas.setAttribute('width', width);
        canvas.setAttribute('height', height);

        if (canvas.getContext && canvas.getContext('2d')) {

            canvg(canvas, svg);

            return canvas.toDataURL("image/jpeg");

        }else {
            alert("Your browser doesn't support this feature, please use a modern browser");
            return false;
        }

    }
}(Highcharts));


//Agregamos el evento al boton que nos ayudara a exportar el pdf

$('#exporta').click(function () {});

Dentro del evento click vamos a seleccionar las graficas que comiencen con el class =chart, en este ejemplo asi empiezan las clases
de los div donde se dibujan las graficas esto lo hacemos con este pedazo de codigo:


$('.chart').each(function (index) {
            console.log(this.id);

});

Y para exportar con a pdf ya con el evento click configurado y con el ciclo que recorre cada grafica tenemos que poner mas o menos asi el siguiente codigo


var imageData = $(this).highcharts().createCanvas();
doc.addImage(imageData, 'JPEG', 45, (index * chartHeight) + 40, 120, chartHeight);



Al final este es mi resultado:

http://jsfiddle.net/xola139/y8kwg5Lh/3/




Y claro como era de esperarse la mayoria de las cosas las investigue en la red y me encontre estas url que me fueron de mucha utilidad para hcer mi ejemplo y entender como funciona.


http://hayageek.com/generate-pdf-with-javascript/
https://github.com/hongru/canvas2image/blob/master/index.html
http://fiddle.jshell.net/8ypxW/3/show/
http://jsfiddle.net/8ypxW/3/
https://parall.ax/products/jspdf#
http://fiddle.jshell.net/leighking2/dct9tfvn/
http://stackoverflow.com/questions/19807870/how-to-export-the-html-tables-data-into-pdf-using-jspdf

Comentarios

  1. Anónimo11:07 a.m.

    Amigo, muchas gracias por tu aporte. Quería comentarte que el botón de graficar no funciona. Agradecería si pudieras revisar que pasó. Gracias.
    Alejandro

    ResponderBorrar
  2. Excelente, muy buena información justo lo que andaba buscando

    ResponderBorrar
  3. Anónimo2:54 p.m.

    amigo debido a que problema no funcione el boton de exportar

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

No se puede llamar Invoke o a BeginInvoke

Que tal banderola pues aca escribiendo sobre un error que me dio al instalar el administrador Microsoft SQL 2008 , pues bien resulta que necesitaba instalar esta tool, y cuando trataba de iniciar el wizard me lanzaba un error que decia algo asi " No se puede llama a Invoke o a BeginInvoke en un control hasta que se halla creado el indentificador de ventana" si no me creen vean la imagen : y entonces me dije a mi mismo, "mi mismo como le voy hacer" entonces pues tube que recurrir a mi salvacion como siemore :D San Google.com, y ya con unas cuantas palabras clave pues que me lanza algunos resultados de los cuales me habia encontrado algo como esto: Problemas al instalar SQL Server 2008 ? Para lo cual no hice caso a este tip pues resulta que yo no tenia instaldo el windows xp, mas bien tenia instalado el windows 7 por que leyendo en los comentarios que se habian hecho llegue a un muy buen tip que decia algo asi: "Para aquellos compañeros que quieren instalar el S...

Restaurar base de datos Microsoft SQL con archivos .mdf y .ldf

Pues bien esto es muy rapido yaque ami no me costo nada pero lo pongo aqui por si e algun momento dado se me llega a olvidar ya saben cuando ando comiendo moscas y no se me ocurre nada, ahora explico, si tenemos acceso a los archivos .mdf y .ldf de nuestra base de datos lo ucio que debemos hacer es copiar estos archivos a y una carpeta llamada Data y que se encuantra en la carpeta de Microsoft SQL Server entonces por ejemplo yo tengo esta ruta donde pegare los archivos .mdf y .ldf mi ruta es: C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Data Justo aqui pegare mis archivos, ahora cabe mensionar que yo estoy utilziando Microsoft SQL Server Management Studio Express en su version 9.00.2047.00, una vez que halla copiado los archivos me dirijo al Server Management de Microsoft entonces el la base de datos master ejecutare un query oara hablitar mi base datos ... esta es la sentancia exec sp_attach_single_file_db 'Mi_base','C:\Archivos de programa\Microsoft SQL...