PDA

Просмотр полной версии : Печать из флеш-ролика (вопрос)


samolet
22.03.2007, 11:08
поискал - не нашел - сам пробовал - так и не получилось - подскажите направление мыслей

сделан ролик, аля фотоальбом/каталог с меню (по разделам), весь растр подгружается из xml-файлов; встала задача в распечатывании содержимого (т.е. пользователь листает/смотрит изображения и в какой-то момент начинает испытывать страстное желание распечатать определенную картинку, нажав на кнопку печать в ролике)

отсюда на данный момент имеем - если на кнопке прописано:
on (release) {
printNum(0, "bmax");
}то выводит на печать все окно без динамического содержимого (будь то картинки или текст)

если прописаноon (release) {
print(this, "bmovie");
}печатает все окно плеера с подгруженной картинкой, но без динамического текста

(на накладывание области печати с меткой - вообще не реагирует)

Резюмирую: есть ли возможность либо распечатывания заданной области в ролике с его динамическим содержимым? или по нажатию на кнопку отправлять на печать один jpg (по такому-то относительному адресу), который в данный момент подгружен?

CorC
23.03.2007, 10:19
http://livedocs.adobe.com/flash/8/main/00002608.html
особо посмотреть addPage ибо оно
Sends the specified level or movie clip as a single page to the print spooler.
З.Ы.: апать нехорошо :)

etc
23.03.2007, 14:26
Даже у самолета нет прав на апы.

samolet
27.03.2007, 13:49
в продолжение темы (спасибо CorC)

прописав следующий код
my_btn.onRelease = function()
{
var pageCount:Number = 0;
var my_pj:PrintJob = new PrintJob();
if (my_pj.start())
{
my_pj.orientation = "landscape";
if (my_pj.addPage(0, {xMin:222,xMax:1014,yMin:60,yMax:632}))
{
pageCount++;
}
}

if (pageCount>0) {
my_pj.send();
}
delete my_pj;
}
печать по кнопке работает за одним исключением - автоматически не переворачивает в альбомный лист (что как раз и требуется)
так что - где я напортачил?

ЗЫ вставив из хелпа в тестовый мувик пример со сменой вывода портрет/альбомный тип - работает не так как требуется

в догонку - встал вопрос о КАЧЕСТВЕ печати
вывод на экране тот что надо - но на печать "вылезает" типичный испохабленный джепег ((
посоветуете что?

vikvik
30.06.2007, 19:47
Пробовал последний код для печати содержимого ScrollBox-а. Зараза печатает только то, что видит. Я подгружаю swf в скролБокс и хочу ее расспечатать. Если перетащить ползунок, то и напечатает видимую область на листе бумаги тоже проскроленную, т.е. изображение будет примерно в конце или в середине листа. Как напечатать всю swf-ку?

chingachgoog
02.07.2007, 11:38
Как напечатать всю swf-ку?

Я бы печатал МУВИКЛИП который скроллируется (под маской).
Типа ....addPage("мой_клип"....). Или снимал бы маску на время печати.
Т.е. ДО команды ....send();
Т.ж. ДО нее можно проверить (только проверить!) ориентацию и размер печатной области. В соответствии с размером подогнать клип под нужный размер или ориентацию.
ПОСЛЕ команды ....send(); вернуть все на место - пользователь ничего не заметит.

vikvik
06.07.2007, 15:13
А как можно снять маску?
...addPage(scroll_panel.content) было, т.е. печатаю содержимое скроллПанели.
Извратился следующим образом: создал мувиклип за пределами видимости и в него грузил туже нужную swf-ку, и печатал уже этот мувиклип.

chingachgoog
06.07.2007, 15:46
А как можно снять маску?


Либо программно, либо ручками, снять маску на особом кадре и в этот кадр переходить до печати.


...addPage(scroll_panel.content) было, т.е. печатаю содержимое скроллПанели.


Там строковый параметр можно указывать, путь не удастся, насколько я понимаю (кроме this) или уровни.


Извратился следующим образом: создал мувиклип за пределами видимости и в него грузил туже нужную swf-ку, и печатал уже этот мувиклип.

Это не изврат, а вполне мудрое решение.