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();