Печать с использованием шаблона в flex - PullRequest
3 голосов
/ 21 сентября 2009

Я настроил приложение для печати текущего состояния используемого элемента управления (в данном случае Карта сервера ArcGIS ), но я бы хотел настроить функцию печати, которая использует свой собственный шаблон для печати, а не захватывает состояние приложения.

Я попытался сделать это, настроив компонент flex, в котором перечислены элементы, которые я хочу распечатать, и создал его экземпляр при вызове FlexPrintJob. К сожалению, простое создание его экземпляра приводит к получению пустого зеленого квадрата.

Есть два основных вопроса по этому поводу, которые я хотел бы задать. Во-первых, что нужно сделать, чтобы напечатать новый экземпляр шаблона, а не просто извлечь уже существующие элементы управления с экрана? Во-вторых, для большего количества элементов управления, которым необходимо загружать сложные данные из нескольких источников, например карты ArcGIS, можно ли создать их экземпляры в такой среде или есть способ сделать изображение элемента управления в приложении и напечатать

1 Ответ

1 голос
/ 05 октября 2009

Я обнаружил, что лучший способ сделать это - использовать метод ImageSnapshot.captureBitmapData (), чтобы получить изображение карты в виде растровых данных, а затем, если необходимо, обрезать его в другом объекте BitMapData с помощью copyPixels (). способ.

Как только я это сделал, добавить шаблон в задание на печать было просто:

Application.application.addChild(printTemplate);
printJob.addObject(printTemplate,FlexPrintJobScaleType.SHOW_ALL);
//printJob.printAsBitmap();
Application.application.removeChild(printTemplate);
...