MAXIM_IDEAL
06.08.2007, 17:28
Здравствуйте, народ! :)
Задача:
Есть макет страницы с определенными полями для печати (отступы от верхнего нижнего левого и правого края). Надо написать функцию на вход которой поступает строка в формате флешевого htmlя (htmlText), а на выход - она печатает страницы с этим текстом.
Проблема с которой я столкнулся:
Нужно делить содержимое между страницами так чтобы линии делений не пересекали сам текст.. проще говоря чтобы не было такого : верхняя половина последней строки на одной страницы, а нижняя половина - на следующей странице. Текст может иметь разный размер в разных местах, поэтому вычисления по размерам для обрезки - не уместны.. иначе прийдется перерывать всю кухню флешевого htmlя и правил переноса слов по строкам.
Попытки справиться с проблемой:
я делал перерисовку текстового поля в объект BitmapData, после чего написал функцию которая получает массив вертикальных позиций для обрезки. Обрезку я выполнял выявляя сплошные прозрачные линии попиксельно. Вроде проблема решена, и все отображается корректно на мониторе при тестировании... Но вот тупик - высота текстового поля не равна высоте полученного при его копировании битмапа, битмап оказывается меньше... и вообще высота тестового поля какая то загадочная: при Control->Test Movie она одна, а когда просто запускаем полученный swf она уже другая.
Итак.. кто-либо знает как лучше эту проблему решить? Заранее благодарю за помощь
Задача:
Есть макет страницы с определенными полями для печати (отступы от верхнего нижнего левого и правого края). Надо написать функцию на вход которой поступает строка в формате флешевого htmlя (htmlText), а на выход - она печатает страницы с этим текстом.
Проблема с которой я столкнулся:
Нужно делить содержимое между страницами так чтобы линии делений не пересекали сам текст.. проще говоря чтобы не было такого : верхняя половина последней строки на одной страницы, а нижняя половина - на следующей странице. Текст может иметь разный размер в разных местах, поэтому вычисления по размерам для обрезки - не уместны.. иначе прийдется перерывать всю кухню флешевого htmlя и правил переноса слов по строкам.
Попытки справиться с проблемой:
я делал перерисовку текстового поля в объект BitmapData, после чего написал функцию которая получает массив вертикальных позиций для обрезки. Обрезку я выполнял выявляя сплошные прозрачные линии попиксельно. Вроде проблема решена, и все отображается корректно на мониторе при тестировании... Но вот тупик - высота текстового поля не равна высоте полученного при его копировании битмапа, битмап оказывается меньше... и вообще высота тестового поля какая то загадочная: при Control->Test Movie она одна, а когда просто запускаем полученный swf она уже другая.
Итак.. кто-либо знает как лучше эту проблему решить? Заранее благодарю за помощь