我正在尝试打印SWF并遇到了一些问题。 在浏览器中使用“打印”功能时,SWF将失真,并且无法正确缩放。所以我尝试使用Actionscript来实现Print函数。
我采取的不同方法是:
打印代码如下所示:
var pj:FlexPrintJob = new FlexPrintJob();
if (pj.start())
{
pj.addObject(componentToBePrinted, FlexPrintJobScaleType.SHOW_ALL);
pj.send();
}
我想要做的是让右键单击上下文菜单起作用,我的意思是设置SWF的缩放。这可能吗?打印SWF时还有其他选择吗?我做错了什么?
测试时,我正在打印PDF,但我认为这不会改变结果。
答案 0 :(得分:0)
您需要在FlexPrintJobScaleType中缩放打印作业:
MATCH_WIDTH
(默认)缩放要填充的对象 可用的页面宽度。如果 结果物体高度超过 页面高度,输出跨越多个 页。
MATCH_HEIGHT
缩放对象以填充 可用的页面高度。如果 结果对象宽度超过 页面宽度,输出跨越多个 页。
SHOW_ALL
缩放对象以适合单个对象 页面,填写一个维度;那是, 它选择较小的 MATCH_WIDTH或MATCH_HEIGHT比例 类型。
FILL_PAGE
缩放对象以填充至少一个 页面完全;也就是说,它选择 MATCH_WIDTH中的较大者或 MATCH_HEIGHT比例类型。
无
不缩放输出。印刷的 页面的尺寸与 屏幕上的对象。如果是对象 高度,宽度或两个尺寸 超过页面宽度或高度, 输出跨越多个页面。
参见http://livedocs.adobe.com/flex/3/html/help.html?content=printing_3.html 有关这方面的更多信息。