Sunday, 11 March 2012

PDF generation in flex


<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="white" layout="absolute">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     import org.alivepdf.pages.Page;
           // import org.alivepdf.layout.Resize;
            import org.alivepdf.pdf.PDF;
            import org.alivepdf.layout.Orientation;
            import org.alivepdf.layout.Size;
            import org.alivepdf.layout.Unit;
            import org.alivepdf.display.Display;
            import org.alivepdf.saving.Method;
            import org.alivepdf.fonts.FontFamily;
            import org.alivepdf.fonts.Style;
            import org.alivepdf.colors.RGBColor;
     [Bindable]
     public var arr:ArrayCollection = new ArrayCollection([
        {Month:"Jan", Income:2000, Expenditure:1500},
        {Month:"Feb", Income:1000, Expenditure:200},
        {Month:"Mar", Income:1500, Expenditure:500},
  {Month:"Apr", Income:1002, Expenditure:226},
  {Month:"May", Income:2566, Expenditure:566},
  {Month:"Jun", Income:4478, Expenditure:476},
  {Month:"Jul", Income:7654, Expenditure:3654},
  {Month:"Aug", Income:1112, Expenditure:655},
  {Month:"Sep", Income:6546, Expenditure:244},
  {Month:"Oct", Income:545, Expenditure:445},
  {Month:"Nov", Income:2435, Expenditure:654},
  {Month:"Dec", Income:6354, Expenditure:356}
 
     ]);
    
    
      private var myPDF:PDF;
          
             function generatePDF(e:MouseEvent)
            {
                myPDF = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A3);
                myPDF.setDisplayMode(Display.FULL_WIDTH);
             myPDF.setDisplayMode(Display.DEFAULT);          
           myPDF.setDisplayMode(Display.REAL);
           myPDF.setDisplayMode(Display.FULL_PAGE);
            
                myPDF.addPage();
                myPDF.addImage (can);
                myPDF.save(Method.REMOTE,"http://localhost:9080/ermWeb/servlet/ggs.erm.servlet.setup3.CreatePDFServlet","drawing.pdf");
                myPDF.end();
            }

    
    
    
    
  ]]></mx:Script>
  <mx:Image height="31" width="43" source="@Embed(source='/pdf.gif')" click="generatePDF(event)" id="generate_btn" toolTip="click to save as pdf" x="502" y="19"/>
  <mx:Canvas width="577" height="458" x="237" y="58" id="can">
    <mx:BarChart id="BarChart" dataProvider="{arr}" showDataTips="true" width="408" height="323" x="84.5" y="19">
       <mx:verticalAxis>
          <mx:CategoryAxis
               dataProvider="{arr}"
               categoryField="Month"
          />
       </mx:verticalAxis>
       <mx:series>
          <mx:BarSeries
               yField="Month"
               xField="Income"
               displayName="Income"
          />
          <mx:BarSeries
               yField="Month"
               xField="Expenditure"
               displayName="Expenditure"
          />
       </mx:series>
    </mx:BarChart>
    <mx:Legend x="84.5" y="361" dataProvider="{BarChart}" width="408" height="29"/>
  </mx:Canvas>
</mx:Application>

Exploding pie chart


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.charts.events.LegendMouseEvent;
import mx.graphics.Stroke;
[Bindable]
public var expenses:ArrayCollection=new ArrayCollection([
{Expense:"taxes",Amount:2000},
{Expense:"household",Amount:7000},
{Expense:"petrol",Amount:3000},
{Expense:"maintenence",Amount:4000},
{Expense:"vehicle",Amount:10000},
{Expense:"grocery",Amount:1500}
]);

public function alertMe()
{
Alert.show("heyy its great 2 c u here");
}
[Bindable]
 public var explodingArray:Array = [0,0,0,0,0,0];

 private function explodeSlice(event:Event):void{
  explodingArray = [0,0,0,0,0,0];
 explodingArray[event.target.selectedChartItem.index]=0.1;
 piechart1.series[0].perWedgeExplodeRadius = explodingArray;
 expenses.refresh();
 }
]]>
</mx:Script>


<!--<mx:SeriesInterpolate id="interpolate" duration="1000"/>
<mx:PieChart x="144" y="10" id="piechart1" dataProvider="{tuff.lastResult.catalog.GOAL}" showDataTips="true" height="356" itemClick="explodeMe(event)" selectionMode="multiple" width="592">
<mx:series>
<mx:PieSeries labelPosition="insideWithCallout" name="pie chart" displayName="mera_data" field="headcount" dataProvider="{tuff.lastResult.catalog.GOAL}" nameField="Business_unit" perWedgeExplodeRadius="{explodingArray}" showDataEffect="interpolate"/>
</mx:series>
</mx:PieChart> -->


<mx:SeriesInterpolate id="interpolate" duration="1000"/>
<mx:Panel x="0" y="10" width="686" height="506" layout="absolute" title="Exploding Pie Chart">
<mx:PieChart x="105" y="10" id="piechart1" showDataTips="true" itemClick="explodeSlice(event)" selectionMode="multiple" dataProvider="{expenses}">
<mx:series>
<mx:PieSeries labelPosition="callout" displayName="Series 1" field="Amount"  nameField="Expense" perWedgeExplodeRadius="{explodingArray}" showDataEffect="interpolate"/>
</mx:series>
</mx:PieChart>
<mx:Legend dataProvider="{piechart1}" x="10" y="418" width="654" height="27" id="legend1" />
</mx:Panel>
</mx:Application>

Sunday, 4 March 2012

Simple Charts(pie chart)


<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
     public var arr:ArrayCollection = new ArrayCollection([
        {Food:"Burger", Price:50},
        {Food:"samosa", Price:10},
        {Food:"juice", Price:100},
        {Food:"pakore", Price:45},
        {Food:"icecream", Price:100},
        {Food:"coldrink", Price:25}
     ]);
  ]]></mx:Script>
  <mx:Panel title="Food Pie Chart">
     <mx:PieChart id="PieChart"
        dataProvider="{arr}"
        showDataTips="true"
     >
        <mx:series>
           <mx:PieSeries
                field="Price"
                nameField="Food"
                labelPosition="callout"
           />
        </mx:series>
     </mx:PieChart>
     <mx:Legend dataProvider="{PieChart}"/>
  </mx:Panel>
</mx:Application>

Simple Charts(column chart)


<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
    public var arr:ArrayCollection = new ArrayCollection([
        {Month:"Jan", Income:2000, Expenditure:1500},
        {Month:"Feb", Income:1000, Expenditure:200},
        {Month:"Mar", Income:1500, Expenditure:500},
{Month:"Apr", Income:1002, Expenditure:226},
{Month:"May", Income:2566, Expenditure:566},
{Month:"Jun", Income:4478, Expenditure:476},
{Month:"Jul", Income:7654, Expenditure:3654},
{Month:"Aug", Income:1112, Expenditure:655},
{Month:"Sep", Income:6546, Expenditure:244},
{Month:"Oct", Income:545, Expenditure:445},
{Month:"Nov", Income:2435, Expenditure:654},
{Month:"Dec", Income:6354, Expenditure:356}
     ]);
  ]]></mx:Script>
  <mx:Panel title="My Column Chart">
     <mx:ColumnChart id="ColumnChart" dataProvider="{arr}" showDataTips="true">
        <mx:horizontalAxis>
           <mx:CategoryAxis
                dataProvider="{arr}"
                categoryField="Month"
           />
        </mx:horizontalAxis>
        <mx:series>
           <mx:ColumnSeries
                xField="Month"
                yField="Income"
                displayName="Income"
           />
           <mx:ColumnSeries
                xField="Month"
                yField="Expenditure"
                displayName="Expenditure"
           />
        </mx:series>
     </mx:ColumnChart>
     <mx:Legend dataProvider="{ColumnChart}"/>
  </mx:Panel>
</mx:Application>

Simple Charts(bar chart)


<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script><![CDATA[
     import mx.collections.ArrayCollection;
     [Bindable]
     public var arr:ArrayCollection = new ArrayCollection([
        {Month:"Jan", Income:2000, Expenditure:1500},
        {Month:"Feb", Income:1000, Expenditure:200},
        {Month:"Mar", Income:1500, Expenditure:500},
{Month:"Apr", Income:1002, Expenditure:226},
{Month:"May", Income:2566, Expenditure:566},
{Month:"Jun", Income:4478, Expenditure:476},
{Month:"Jul", Income:7654, Expenditure:3654},
{Month:"Aug", Income:1112, Expenditure:655},
{Month:"Sep", Income:6546, Expenditure:244},
{Month:"Oct", Income:545, Expenditure:445},
{Month:"Nov", Income:2435, Expenditure:654},
{Month:"Dec", Income:6354, Expenditure:356}

     ]);
  ]]></mx:Script>
  <mx:Panel title="My Bar Chart">
     <mx:BarChart id="BarChart" dataProvider="{arr}" showDataTips="true">
        <mx:verticalAxis>
           <mx:CategoryAxis
                dataProvider="{arr}"
                categoryField="Month"
           />
        </mx:verticalAxis>
        <mx:series>
           <mx:BarSeries
                yField="Month"
                xField="Income"
                displayName="Income"
           />
           <mx:BarSeries
                yField="Month"
                xField="Expenditure"
                displayName="Expenditure"
           />
        </mx:series>
     </mx:BarChart>
     <mx:Legend dataProvider="{BarChart}"/>
  </mx:Panel>
</mx:Application>