如何在闪存中运行打印屏幕。因此,当用户通过拖放闪存/应用程序安排了一些艺术作品时 - 他们点击“打印”按钮并且当前设计激活打印机?
这是直截了当的吗?
由于
答案 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();
}