在Actionscript中打印3

时间:2013-12-16 10:16:50

标签: actionscript-3 printing flash

如何在闪存中运行打印屏幕。因此,当用户通过拖放闪存/应用程序安排了一些艺术作品时 - 他们点击“打印”按钮并且当前设计激活打印机?

这是直截了当的吗?

由于

3 个答案:

答案 0 :(得分:0)

您可以查看PrintJob课程。

使用FlexPrintJob类打印一个或多个Flex对象,例如Form或VBox容器。对于您指定的每个对象,Flex将打印对象及其包含的所有对象。对象可以是显示的界面的全部或部分,也可以是专门用于打印的数据格式的组件。 FlexPrintJob类允许您缩放输出以适合页面,并自动使用多个页面来打印不适合单个页面的对象。

  

使用FlexPrintJob类打印动态呈现的内容   您专门为打印格式化的文档。这个能力是   特别适用于渲染和打印此类信息   收据,行程和其他包含外部的显示   动态内容,例如数据库内容和动态文本。

     

您经常在事件侦听器中使用FlexPrintJob类。对于   例如,您可以使用具有事件侦听器的Button控件   打印部分或全部应用程序。

     

注意: FlexPrintJob类会导致操作系统显示   打印对话框。没有一些用户操作就无法打印。

以下是来自Adobe的Live Docs的example

private function doPrint():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();
}

答案 1 :(得分:0)

您可能希望查看PrintJob功能。您可以添加和排列页面等.Adobe帮助页面上的示例。

答案 2 :(得分:0)

我有一个类似的项目,并通过以下示例进行管理:

//creating a container as main canvas
var artworkContainers:Sprite = new Sprite();
addChild(artworkContainers);

//example adding content
var anyContentIWantToPrint:Sprite = new Sprite();
anyContentIWantToPrint.graphics.beginFill(0xf67821, 1);
anyContentIWantToPrint.graphics.drawRect(0, 0, 100, 100);
anyContentIWantToPrint.graphics.endFill();
artworkContainers.addChild(anyContentIWantToPrint);

var button:Sprite = new Sprite();
button.graphics.beginFill(0xf67821, 1);
button.graphics.drawRect(0, 0, 120, 60);
button.graphics.endFill();
addChild(button);

button.addEventListener(MouseEvent.CLICK, startPrintJobHandler, false, 0, true);

function startPrintJobHandler(event:MouseEvent):void
{
     var printJob:PrintJob = new PrintJob();
     printJob.start()

     var printJobOptions:PrintJobOptions = new PrintJobOptions(); 
     printJobOptions.printAsBitmap = true; 
     //When 'artworkContainer' will be your artwork canvas, where the user will drag and drop. Replace for the instance name you are using.     
     printJob.addPage(artworkContainer, null, printJobOptions);

     printJob.send();
 }