Actionscript 3 Flex打印作业崩溃

Actionscript 3 Flex打印作业崩溃,actionscript-3,apache-flex,printing,crash,flash-builder,Actionscript 3,Apache Flex,Printing,Crash,Flash Builder,我正在尝试使用flex printjob从datagrid打印数据。网格中大约有40行数据 然而,当我尝试打印时,应用程序崩溃,但一些页面被打印 这是我的密码: protected function openPrintDialogMonth():void { doPrintingMonth(); } protected function doPrintingMonth():void { var printjo

我正在尝试使用flex printjob从datagrid打印数据。网格中大约有40行数据

然而,当我尝试打印时,应用程序崩溃,但一些页面被打印

这是我的密码:

protected function openPrintDialogMonth():void {
                doPrintingMonth();
        }
        protected function doPrintingMonth():void {
            var printjob2:FlexPrintJob;
            var printTemplate:printTemplate = new printTemplate();
            var printDataGrid:PrintDataGrid;


            printjob2 = new FlexPrintJob();
            if( printjob2.start() )
            {
                var currentYear:Date = new Date();

                var dataArray:Array = new Array();
                trace( "Width/Height:", printjob2.pageWidth, "/", printjob2.pageHeight );

                printDataGrid = new PrintDataGrid();
                printTemplate.width = 1368;
                printTemplate.height = 800;


                printTemplate.data = gridReport.dataProvider;
                printTemplate.editData();

                printTemplate.year = String(currentYear.getFullYear());

                printTemplate.printDataGrid.columns = gridReport.columns;
                printTemplate.printDataGrid.columnWidth = gridReport.columnWidth;
                printTemplate.printDataGrid.visible = true;
                printTemplate.printDataGrid.showHeaders = true;
                printTemplate.printDataGrid.sizeToPage = true;

                printTemplate.scaleX = 1.00;

                printTemplate.validateNow();

                this.addElement( printTemplate );



                if( !printTemplate.printDataGrid.validNextPage ) 
                {
                    printjob2.addObject( printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);
                    this.removeElement( printTemplate );
                }
                else 
                {
                    printjob2.addObject( printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);
                    this.removeElement( printTemplate );

                    while( true ) 
                    {
                        printTemplate.printDataGrid.nextPage();
                        printjob2.addObject( printTemplate,FlexPrintJobScaleType.MATCH_WIDTH);

                        if( !printTemplate.printDataGrid.validNextPage )
                            break;
                    }
                }

                printjob2.send();
            }
        }

今天在Flash和AdobeAIR中出现了同样的问题。在我的例子中,在开始打印作业之前,我必须先将displayobject添加到stage。将其添加到显示列表将强制重新绘制打印作业可能需要的内容。

当应用程序“崩溃”时,是否出现任何错误,您是否已验证您正在浏览器中使用flash player调试播放器。我正在使用adobe air中的打印功能。如果打印文件较长,则只显示部分页面