Flex: распечатать диаграмму? - PullRequest
0 голосов
/ 13 января 2012

Я хочу напечатать график. Я делаю следующее:

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 ]

2 голосов
/ 16 марта 2012

Живой PDF, Чистый PDF или FxPDF - одно из лучших решений для создания печатных форм.

http://alivepdf.bytearray.org/

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

1 голос
/ 14 января 2012

Вы получаете только одну страницу, потому что добавляете только одну страницу:

printJob.addPage( lineChart, null, printOptions );

Ваш клип диаграммы должен умещаться на странице, размер A4 в пикселях должен соответствовать ширине: 559 x высота: 842.

Вы можете проверить размеры своего клипа диаграммы, когда он больше, чем A4, вы можете масштабировать его соответствующим образом (не забывайте поля печати).Для масштабирования мувиклипа вы можете использовать scaleX или scaleY, но изменение ширины или высоты контейнера работает для меня лучше, потому что значения пикселей проще, чем вычисление масштаба.

Вы также можете создать клип шаблона печати,таким образом, вместо немедленной печати клипа с диаграммой, вы помещаете диаграммы в новый клип, таким образом вы получаете больший контроль над печатаемой страницей.Также будет легче добавить больше страниц в printjob.

...