Introduction Interfaces Buy Support More ActiveX Site Home

ActivePrinter --- Sample: Bar Graph


JavaScript Codes
Open printer. You must replace the printer name with that of your printer
var PRN=new ActiveXObject("ActivePrinter.Printer");
PRN.OpenPrinter("Adobe PDF", 1, true);
PRN.BeginPrint("barGraph");
PRN.BeginPage();

layout 
var pw=PRN.GetPageWidth();
var ph=PRN.GetPageHeight();
var xMargin=25;
var yMargin=50;
var x1=xMargin;
var y1=yMargin;
var x2=pw-xMargin;
var y2=ph-yMargin;
var w=x2-x1;
var h=y2-y1;
var colW=w/31;
var rowH=h/10;

31 random numbers for the graph. This can be replaced with codes reading data from databases
var a= new Array;
for(var i=0; i<31; i++)
    a[i]=Math.random();


Draw horizontal lines
var pen=PRN.CreatePen();
for(i=0; i<10; i++)
    {
    pen.Line(x1, y1+i*rowH, x2, y1+i*rowH);
    }

Draw the bars
var text=PRN.CreateText();
text.SetFont("Arial", 3);
pen.SetColor("192, 192, 192");
var br=PRN.CreateBrush();
for(i=0; i<31; i++)
    {
    var x=x1+colW*i;
    var y=y2- a[i] * h;
    br.SetStyle("solid,rand");
    pen.Rectangle(x, y, x+colW, y2, br);
    text.Draw((i+1).toString(), x+colW/2, y2+1, 2);
    }


Draw our tag
text.SetFont("Arial", 3, 400);
text.SetTextColor("0, 0, 0");
var tag="Printed with XUEBROTHERS ActivePrinter (http://www.xuebrothers.net/ax/activeprinter/activeprinter.htm)";
text.Draw(tag, x2, ph-25, 3);


PRN.EndPage();
PRN.EndPrint();