【问题标题】:Flex 3: inquiry about printingFlex 3:印刷查询
【发布时间】:2011-10-05 17:42:57
【问题描述】:

我创建了一个超过 16 周的日程安排应用程序。我希望能够使用 Flex 打印时间表。我创建了一个列出递增日期的测试应用程序。这些日期显然比我电脑的宽度还要长。我希望我的打印功能可以跨多页打印日期的整个宽度......目前,它只打印我屏幕上显示的内容。有没有办法做到这一点?

下面是我创建的应用程序。有一些对自定义函数的调用,但它们与手头的问题没有任何关系:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
<mx:Script source="functions/dateFunctions.as" />
<mx:Script>
    <![CDATA[
        import mx.controls.Alert;
        import mx.collections.ArrayCollection;
        [Bindable] public var date:Date = new Date;
        public var numDays:Number = 50;
        [Bindable] public var datesAC:ArrayCollection = new ArrayCollection;
        public function init():void
        {
            var tempDate:String = new String;
            for (var i:int = 0; i < numDays; i++)
            {
                tempDate = dateToNumText(rightDate(date.getMonth(), date.getDate() + i, date.getFullYear()));
                datesAC.addItem(tempDate);
            }
        }

        private function printMe() :void 
        {
            var pj:PrintJob = new PrintJob();
            pj.start();

            // setTimeout(function() :void { finishPrinting(pj);}, 1);

            finishPrinting(pj);
        }

        private function finishPrinting(pj:PrintJob): void {
            pj.addPage(this);
            pj.send();
        }
    ]]>
</mx:Script>
<mx:VBox width="100%" height="100%">
    <mx:Button id="print" label="Start Print" click="printMe()" />
    <mx:HorizontalList id="dateList" dataProvider="{datesAC}" width="100%" height="100%" useRollOver="false">
        <mx:itemRenderer>
            <mx:Component>
                <mx:Canvas borderColor="#000000" borderSides="right" borderStyle="solid">
                    <mx:Text text="{data}" textAlign="center" color="#000000" width="100" />
                </mx:Canvas>
            </mx:Component>
        </mx:itemRenderer>
    </mx:HorizontalList>
</mx:VBox>
</mx:Application>

【问题讨论】:

    标签: actionscript-3 apache-flex printing flex3


    【解决方案1】:

    您必须自己分解/分页内容。您可以将每个这样的逻辑分解页面发送到 PrintJob.appPage() API,使其成为打印纸。目前,正在发生的事情是内容将被剪辑。

    【讨论】:

      【解决方案2】:

      我猜您应该使用PrintJob.addPage() 将您的日期添加到打印作业中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 2012-12-12
        • 1970-01-01
        • 2013-08-10
        • 1970-01-01
        相关资源
        最近更新 更多