Flex - Baskı Desteği
Flex özel bir sınıf sağlar FlexPrintJob flex nesneleri yazdırmak için.
FlexPrintJob, Form veya VBox konteyneri gibi bir veya daha fazla Flex nesnesini yazdırmak için kullanılabilir.
FlexPrintJob, nesneyi ve içerdiği tüm nesneleri yazdırır.
Nesneler, görüntülenen arayüzün tamamı veya bir parçası olabilir.
Nesneler, verileri özellikle yazdırma için biçimlendiren bileşenler olabilir.
FlexPrintJob sınıfı, çıktıyı sayfaya sığacak şekilde ölçeklemenizi sağlar.
FlexPrintJob sınıfı, tek bir sayfaya sığmayan bir nesneyi yazdırmak için otomatik olarak birden çok sayfa kullanır.
FlexPrintJob sınıfı, işletim sisteminin bir Yazdır iletişim kutusu görüntülemesine neden olur. Bazı kullanıcı eylemleri olmadan yazdıramazsınız.
Bir yazdırma işi hazırlayın ve gönderin
Çıktıyı bir yazdırma işi hazırlayıp göndererek yazdırırsınız. FlexPrintJob sınıfının bir örneğini oluşturalım
var printJob:FlexPrintJob = new FlexPrintJob();
Baskı işini başlatın
printJob.start();
Flex, işletim sisteminin bir Yazdır iletişim kutusu görüntülemesine neden olur. Baskı işine bir veya daha fazla nesne ekleyin ve bunların nasıl ölçekleneceğini belirleyin
printJob.addObject(myObject, FlexPrintJobScaleType.MATCH_WIDTH);
Her nesne yeni bir sayfada başlar. Baskı işini yazıcıya gönderin
printJob.send();
Baskı Örneği
Adım | Açıklama |
---|---|
1 | Flex - Uygulama Oluştur bölümünde açıklandığı gibi com.tutorialspoint.client paketinin altında HelloWorld adıyla bir proje oluşturun . |
2 | HelloWorld.mxml'yi aşağıda açıklandığı gibi değiştirin . Geri kalan dosyaları değiştirmeden tutun. |
3 | İş mantığının gereksinimlere göre çalıştığından emin olmak için uygulamayı derleyin ve çalıştırın. |
Değiştirilen mxml dosyasının içeriği aşağıdadır src/com.tutorialspoint/HelloWorld.mxml.
<?xml version = "1.0" encoding = "utf-8"?>
<s:Application xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s = "library://ns.adobe.com/flex/spark"
xmlns:mx = "library://ns.adobe.com/flex/mx"
width = "100%" height = "100%"
minWidth = "500" minHeight = "500"
initialize = "application_initializeHandler(event)">
<fx:Style source = "/com/tutorialspoint/client/Style.css" />
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.printing.FlexPrintJob;
import mx.printing.FlexPrintJobScaleType;
protected function btnClickMe_clickHandler(event:MouseEvent):void {
// Create an instance of the FlexPrintJob class.
var printJob:FlexPrintJob = new FlexPrintJob();
// Start the print job.
if (printJob.start() != true) return;
// Add the object to print. Do not scale it.
printJob.addObject(myDataGrid, FlexPrintJobScaleType.NONE);
// Send the job to the printer.
printJob.send();
}
protected function application_initializeHandler(event:FlexEvent):void {
lblHeader.text = "My Hello World Application";
}
]]>
</fx:Script>
<s:BorderContainer width = "500" height = "500" id = "mainContainer"
styleName = "container">
<s:VGroup width = "100%" height = "100%" gap = "50"
horizontalAlign = "center"
verticalAlign = "middle">
<s:Label id = "lblHeader" fontSize = "40" color = "0x777777"
styleName = "heading" />
<mx:DataGrid id = "myDataGrid" width = "300">
<mx:dataProvider>
<fx:Object Product = "Flex" Code = "1000" />
<fx:Object Product = "GWT" Code = "2000" />
<fx:Object Product = "JAVA" Code = "3000" />
<fx:Object Product = "JUnit" Code = "4000" />
</mx:dataProvider>
</mx:DataGrid>
<s:Button label = "Print Me!" id = "btnClickMe"
click = "btnClickMe_clickHandler(event)"
styleName = "button" />
</s:VGroup>
</s:BorderContainer>
</s:Application>
Yapılan tüm değişikliklere hazır olduğunuzda, Flex - Create Application bölümünde yaptığımız gibi uygulamayı normal modda derleyip çalıştırmamıza izin verin . Başvurunuzla ilgili her şey yolundaysa, şu sonucu verecektir: [ Çevrimiçi deneyin ]
Bana yazdır düğmesine tıkladığınızda, aşağıda gösterilen veri tablosunun çıktısını görebilirsiniz.