flex datagrid导出PDF

本文用到的swc包,和servlet 请参考http://blog.csdn.net/xuhuanchao/archive/2010/04/03/5447298.aspx

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
     viewSourceURL="srcview/index.html" backgroundColor="0x000000" layout="absolute">
 
    <mx:Script>
        <![CDATA[
            import org.alivepdf.drawing.Joint;
            import org.alivepdf.data.Grid;
            import org.alivepdf.layout.Align;
            import org.alivepdf.data.GridColumn;
            import mx.collections.ArrayCollection;
            import org.alivepdf.saving.Download;
            import org.alivepdf.pages.Page;
            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;
          
            import mx.utils.UIDUtil;
          
            protected var claimPDF:PDF;
          
            [Embed(source="img/05.jpg", mimeType="application/octet-stream" )]
            protected var jpgBytes:Class;
           
            [Bindable]
            private var dgArr:ArrayCollection=new ArrayCollection([
            {IdNo:"s001",name:"ZhangSan",age:25},
            {IdNo:"s002",name:"LiSi",age:24},
            {IdNo:"s003",name:"WangWu",age:23},
            {IdNo:"s004",name:"ZhaoLiu",age:20},
            ]);
          
            protected function savePDF(e:MouseEvent):void
            {
                claimPDF = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.LETTER);//创建PDF实例
               
                claimPDF.setDisplayMode (Display.FULL_WIDTH);//设置整个页面
                claimPDF.setTitle("这是一个标题");
                 claimPDF.addPage();//添加一页(默认第一页)
                //添加图片流
                claimPDF.addImageStream(new jpgBytes() as ByteArray, 5, 5, 0, 0, 1);
                   claimPDF.textStyle(new RGBColor(0x0),1);
                claimPDF.setFont(FontFamily.ARIAL , Style.NORMAL, 13);//设置字体样式、大小
               
                var idCol:GridColumn=new GridColumn("ID","IdNo",20,Align.CENTER,Align.CENTER);
                var nameCol:GridColumn=new GridColumn("NAME","name",50,Align.CENTER,Align.CENTER);
                var ageCol:GridColumn=new GridColumn("AGE","age",40,Align.CENTER,Align.CENTER);
                var columns:Array=new Array(idCol,nameCol,ageCol);
                var grid:Grid = new Grid(dgArr.toArray(), 300, 300,new RGBColor (0xCCCCCC), new RGBColor (0xCCCCCC), new RGBColor (0x000000), false, new RGBColor ( 0x0 ),1, Joint.MITER);
                 grid.columns=columns;
              
                claimPDF.addGrid(grid,10,160);
            
                  claimPDF.save(Method.REMOTE,"/WebTest/PDFServlet",Download.ATTACHMENT,"aaa.pdf");
             }
          
   
        ]]>
    </mx:Script>
  

  
        <mx:Canvas top="10" left="10" width="300" height="100%">
            <mx:Label text="Description:" y="2"/>
            <mx:TextArea id="desc" y="18" height="133" width="205"/>  
            <mx:DataGrid id="dgStu" x="0" y="159" dataProvider="{dgArr}" width="290">
                <mx:columns>
                    <mx:DataGridColumn headerText="编号" dataField="IdNo"/>
                    <mx:DataGridColumn headerText="姓名" dataField="name"/>
                    <mx:DataGridColumn headerText="年龄" dataField="age"/>
                </mx:columns>
            </mx:DataGrid>
        </mx:Canvas>
    <mx:Button  click="savePDF(event)" label="Save to PDF" id="savePDFBtn"/>
  
</mx:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值