Flex:打印图表?

时间:2012-01-13 11:36:07

标签: actionscript-3 flex

我想打印一张图表。 我这样做:

var printJob : PrintJob = new PrintJob();

if ( printJob.start() == false )
    return;

var printOptions : PrintJobOptions = new PrintJobOptions( true );

printJob.addPage( lineChart, null, printOptions );
printJob.send();

但结果我只收到1页,其中只包含图表的某些部分。

  • 如何在1页上缩放整个图表,以及如何在不缩放时打印所有图表页面?

2 个答案:

答案 0 :(得分:2)

Alive PDF或Pure PDF或FxPDF是创建cutom打印的最佳解决方案之一。

http://alivepdf.bytearray.org/

http://code.google.com/p/purepdf/

答案 1 :(得分:1)

您只能获得一页,因为您只添加了一页:

printJob.addPage( lineChart, null, printOptions );

您的图表剪辑必须适合页面,A4尺寸的宽度应符合宽度:559 x高度:842。

您可以检查图表剪辑的尺寸,当它大于A4时,您可以相应地缩放它(不要忘记打印边距)。要缩放movielclip,您可以使用scaleX或scaleY,但更改容器的宽度或高度对我来说效果更好,因为像素值比计算比例更容易。

您还可以创建打印模板剪辑,因此不会立即打印图表剪辑而是将图表放在新剪辑上,这样您就可以更好地控制要打印的页面。将更多页面添加到printjob也会更容易。