PDA

Просмотр полной версии : Многостраничная печать из TextArea


Tavy
30.01.2008, 16:17
Доброго времени суток.

Нужно вывести на печать содержимое TextArea - большой кусок текста. Если влазит на одну страницу - всё супер. Но если не влазит, то печатается то что видно на экране (в зависимости от позиции бегунка прокрутки), остальные страницы отправляются на печать, но печатаются пустыми.

Функция печати:
private function doPrint():void {
var printJob:FlexPrintJob = new FlexPrintJob();
if (printJob.start() != true) return;
targetTextField.width=printJob.pageWidth;
targetTextField.height=targetTextField.textHeight;//Без этого на печать выводится только одна страница - содержимое компонента на данный момент
printJob.addObject(targetTextField, FlexPrintJobScaleType.MATCH_WIDTH);
printJob.send();
}

Что делаю не так? :confused:

Tavy
30.01.2008, 17:07
Разобралась.

Дело было в том что для данной конкретной TextArea изменение высоты не срабатывало. Возможно из-за того что его размеры задаются с помощью Constraints. Я динамически создала новый TextArea с таким же содержанием, и уже его отправила на печать.

Выглядит это так:

private function doPrint():void {
var printJob:FlexPrintJob = new FlexPrintJob();
var TempText:TextArea = new TextArea();

printJob.printAsBitmap=false;
addChild(TempText);
TempText.visible=false;
if (printJob.start() != true) return;

TempText.width=printJob.pageWidth;
TempText.height=targetTextField.textHeight;
TempText.htmlText=targetTextField.htmlText;
printJob.addObject(TempText);
printJob.send();
removeChild(TempText);
}

Tavy
01.02.2008, 14:07
Ещё вопрос насчет печати.

Картинки не печатаются. По поиску нашла темы с аналогичной проблемой - они старые и без ответов. Неужели печать картинок совсем, вообще, никак не работает?

Буду благодарна за любую наводку.