Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.08.2007, 17:28
MAXIM_IDEAL вне форума Посмотреть профиль Отправить личное сообщение для MAXIM_IDEAL Найти все сообщения от MAXIM_IDEAL
  № 1  
Ответить с цитированием
MAXIM_IDEAL

Регистрация: Dec 2005
Сообщений: 13
По умолчанию Многостраничная печать

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

Старый 06.08.2007, 20:03
MAXIM_IDEAL вне форума Посмотреть профиль Отправить личное сообщение для MAXIM_IDEAL Найти все сообщения от MAXIM_IDEAL
  № 2  
Ответить с цитированием
MAXIM_IDEAL

Регистрация: Dec 2005
Сообщений: 13
По умолчанию Как то.. но сделал

Помучившись, поизвращавшись все таки достиг своего.. правда не в лучшем качестве печати.. но всеже.. печатает
Останов печати я выполнил когда целая страница оказывалась пустой.. или по другому говоря прозрачной... останов долгий.. но зато надежный.
Я приложил итог своей работы.. я пишу весьма оригинальным подходом, поэтому критиков прошу не стыдить меня, за то что мой стиль не соответсвует общепринятым правилам. Просто я захотел помочь другим.. наверняка эта проблема актуальна.. особенно когда делают презентации с печатью многих страниц. Правда одно 'но'.. если текст содержат таблицы - то тут я думаю будет наблюдаться некорректная работа если таблица будет больше по высоте чем сама страница... для этого распознавания надо дальнейшие наработки..
Вложения
Тип файла: zip print_pechBm.zip (13.0 Кб, 82 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.