Actionscript 3 在Actionscript 3中打印

Actionscript 3 在Actionscript 3中打印,actionscript-3,printing,flash,Actionscript 3,Printing,Flash,我如何在flash中运行打印屏幕。所以,当用户通过一个拖放式flash/应用程序安排了一些艺术品时,他们点击一个按钮“打印”,然后当前的设计激活了打印机 这是直截了当的吗 谢谢您可以查看课程 您可以使用FlexPrintJob类打印一个或多个Flex对象,例如表单或VBox容器。对于指定的每个对象,Flex将打印该对象及其包含的所有对象。对象可以是显示界面的全部或部分,也可以是专门为打印格式化数据的组件。FlexPrintJob类允许您缩放输出以适应页面,并自动使用多个页面打印不适合单个页面的对

我如何在flash中运行打印屏幕。所以,当用户通过一个拖放式flash/应用程序安排了一些艺术品时,他们点击一个按钮“打印”,然后当前的设计激活了打印机

这是直截了当的吗

谢谢

您可以查看课程

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

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

您经常在事件侦听器中使用FlexPrintJob类。对于 例如,您可以将按钮控件与事件侦听器一起使用 打印部分或全部应用程序

注意:FlexPrintJob类使操作系统显示 “打印”对话框。如果没有某些用户操作,则无法打印

以下是Adobe Live Docs的一个示例

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();
}

你可能想看看它的功能。您可以在Adobe帮助页面上添加和排列页面等示例。

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

//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();
 }

谢谢,但这看起来并没有附加到鼠标单击侦听器上?虽然,我可能会误解,因为我是AS3的新手…:-/别担心。我刚刚编辑了我的答案,添加了一个“虚拟”按钮和一个鼠标点击监听器。我认为这是一个开始,你将能够了解更多。希望可以提供帮助,欢迎加入AS3帮派:)你好,谢谢,遇到了一个问题。“1120访问未定义属性artworkContainer”printJob.addPage(artworkContainer,null,printJobOptions);有什么东西没有申报?您好,关于“artworkContainer”,请将其替换为当前用作主画布的Sprite/MovieClip。在其中添加要打印的对象。我刚刚添加了这个名称,但是,您应该替换为您当前的对象实例名称。您好,啊哈!我刚刚用了些东西。我还没有把舞台包装好。我所有的按钮等都被组织成层,是否可以打印文字阶段屏幕上有什么。谢谢你到目前为止的建议。