Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: PrintJob orientation
Flash Zone Forum > Macromedia Flash > ActionScript
AlexYeCu
Мой третий пост подряд, так что приношу извинения...
А вопрос вот какой - можно ли из флэшки (as) задать ориентацию страницы (альбомную)?
Считать - без проблем, но задаваться не желает...
И еще момент, чтобы не засорять форум... ...интересует захват изображения с флэшки... ...т.е. засейвить то, что видно в окне плеера... ....т.е. может у кого-нибудь есть компонент - встречал упоминание о таковом для вывода картинки в pdf (автор некто Gregorik)... ...увы, единственная найденная ссылка битая... ...с пхп решение видел, по ряду причин не очень подходит...
tiHo
подойдет компонент который есть на твоей клавиетуре, называется кнопочка PrtScr

жмеш ее, а потом в любой граф.редактор: Прафка > Фставить smile.gif
AlexYeCu
В том и проблема, что надо програмно...
Так-то есть и лучше решение - виртуальный принтер, от майкрософтовкого с его *.mdi, до сэйвящик в jpeg, pdf и аутлуковский форматы...
Ладно, по второй части вопроса допрошу знакомого программера - может сможет накатать скрипт, запускающийся из флэшки и перехватывающий команду на печать...
А по первой никто не в курсе?

Gregg Wygonik. Flash в PDF.
Gregg Wygonik совершил своеобразный микропрорыв, миниреволюцию, можно сказать. Теперь сгенерированное программно(или не программно) изображение в вашем клипе можно сохранять в формате PDF. Формат генерируется в символьном виде. Потом следует сохранить его в отдельный файл и дать ему соответствующее расширение. Или поручить это серверному скрипту(если это онлайн). Вот пример работы. Исходник. Мы уже затрагивали тему сохранения изображения во Flash в новостях за 28.2.2003. Теперь еще один формат появился. Сам Gregg Wygonik не собирается останавливаться на достигнутом и уже ковыряет такие форматы графики как EPS, PNG и JPEG. Что ж.. становиться веселее...

Version 2.0 is finally released with as much fan-fare as I can muster. :-)

The blazePDF Standard component is $40(US)

Component Features
Flash 8 / ActionScript 2 Compatible (Flash 8 - AS2) [1] x
Visible Page Preview Area x
Toolbar (with option to hide or show) x
Turn On/Off Toolbar Buttons (Save, Print, Page Navigation, Zoom Controls) x
Scrollbars (with option to hide or show) x
Programmatic Zoom
Zoom 100% Method x
Zoom Best Fit Page Method x
Zoom Fit Page Width Method x
Variable Zoom Amount Method x
Skinnable Interface x
Pre-Built Library of Skins Included x
User-configurable Save Method x
Print functionality x
Help Panel Reference Documentation x
Auto-Complete and Code Hinting x
Document Properties
Maximum Number of Pages Per Document unlimited
User Definable Page Size x
Author Attribute x
Title Attribute x
Creator Attribute x
Per Page Bookmarks x
Use PDF Built-In Fonts (26) x
Use CMYK Colors x
Embed/Display External JPEG Images x
Embed/Display Vector Graphics in ASV Data Format or sel2draw Data Format x
Embed/Display On-Stage MovieClips as Bitmaps (with optional run-length compression) x
Embed/Display Linked (in Library) MovieClips as Bitmaps (with optional run-length compression) x
Use Transparency (_alpha) x
Drawing Tools
moveTo x
lineTo x
lineStyle (with end-cap and end-join attributes) x
beginFill x
endFill x
stroke x
curseTo x
drawCircle x
drawEllipse x
drawRectangle x
drawGrid x
drawString (with word-wrap) x
drawJPG x
drawBitmapData x
Per Drawing Command Number Format (inches, points, cm, mm, etc) x


Эх-х... ...может видел кто чего подобное, но бесплатно?
MustLive
Цитата
А вопрос вот какой - можно ли из флэшки (as) задать ориентацию страницы (альбомную)?

AlexYeCu

Можно конечно. Можно как в редакторе Flash руками в меню задать ориентацию, так и можно программно задать.

Чтобы задать альбомную ориентацию программно для флешки нужно указать следующий код:

Код
var my_pj:PrintJob = new PrintJob();
if (my_pj.start()) {
    var pagesToPrint:Number = 0;
    my_pj.orientation = "landscape";
    if (my_pj.addPage([params])) {
        pagesToPrint++;
    }
    if (pagesToPrint > 0) {
        my_pj.send();
    }
}
delete my_pj;


Цитата
В том и проблема, что надо програмно...
Так-то есть и лучше решение - виртуальный принтер

Относительно второго вопроса, то помимо Print Screen, есть конечно виртуальные принтеры, например Universal Document Converter (рекомендую). Качаешь виртуальный принтер, потом крек к нему, и после "лечения" пользуешься в любом софте, который умеет выводить на печать (в том же флеше).

Также можешь создать свой флеш плеер и выводить содержимое окна на печать с помощью методов используемого языка программирования.

Цитата
Эх-х... ...может видел кто чего подобное, но бесплатно?

Или в инете ищи, или купи (за $40) и выложи на форуме для людей - тем самым сделаешь его бесплатным для участников форума smile.gif. Или найди человека купившего и убеди, чтобы поделился. Или скиньтесь деньгами несколько человек (по десятке 4 человека) и купите, а после выложите.
AlexYeCu
MustLive, спасибо за ответ...меня что и удивило в задании ориентации страницы - и во флэше альбомная стоит и строчка видп переменная.orientation="landscape" имеется... ...но trace() сразу после нее выдает undefind, а после *.send() - "portrait"... ...подозреваю, что это связано с выбранным принтером (майкрософт документ что-то там)

А про компонент... ...давно бы впихнул в к.-либо проект под бюджет.... ...но компонент продается только для некоммерческого использования sad.gif ...а заказчик чаще хочет, чтобы все чисто со стороны правообладателей было...
nikitar
40$ не проблема.
Проблема в том, какой электронной системой они пользуются?
Дай ссылку на сайт...
AlexYeCu
Цитата(nikitar @ 8.01.2007 - 17:25) *
40$ не проблема.
Проблема в том, какой электронной системой они пользуются?
Дай ссылку на сайт...


http://broadcast.artificialcolors.com/
http://www.blazepdf.com/download.html

For ease of use (both for you and me), i use Amazon.com's Honor System to accept payment via credit card.
AlexYeCu
Вот ведь... ...не помню, чтобы в макромедиевском хэлпе это было...
AS 3.0
orientation:String [read-only]
В общем, только проверить ориентацию страницы, _root._rotation=90, и MinX, MaxY... как в примере, в общем...
MustLive
Цитата
Вот ведь... ...не помню, чтобы в макромедиевском хэлпе это было...
AS 3.0

Не знаю о каких хелпах ты говоришь, и где ты взял эти данные, но причём тут АС3 если этот метод был ещё в АС1, в 7м флеше.

Цитата из хелпа к Флеш 8:
Цитата
Availability: ActionScript 1.0; Flash Player 7

Так что чтение хелпа - это весьма необходимая и полезная вещь для всех. Особенно перед тем, как задать вопросы на форуме smile.gif. О чём я регулярно напоминаю наших участникам.

А вот то, что рид-онли, то так и есть, я сразу и не заметил. Так что свойство это только для чтения, что нужно учитывать. Что только руками его задавать в меню, а после проверять программно. Поэтому сделаешь проверку, и не допускай печать, пока не будет установлена альбомная ориентация (выводи необходимое сообщение пользователю).

Код
orientation (PrintJob.orientation property)
public orientation : String [read-only]


Главное помни, что данное свойство доступно лишь после вызова PrintJob.start(). Так что учитывай это (как ты писал у тебя были undefind - это по этой самой причине, что не было ещё инициализовано данное свойство, нужно вызывать его после "старта").

Цитата
...подозреваю, что это связано с выбранным принтером (майкрософт документ что-то там)

Драйвер принтера тоже можеть влиять. Ты на нормальном принтере распечатай, посмотри какая получилась ориентация (когда ты задал альбомную). А после уже на виртуальном распечатай, если на нормальном принтере вышло нормально. И если в твоём виртуальном прнтере не печатает должным образом (в альбомной ориентации), то смени программу. Можешь заюзать Universal Document Converter, о котором я писал.

Цитата
А про компонент... ...давно бы впихнул в к.-либо проект под бюджет.... ...но компонент продается только для некоммерческого использования

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

Иначе тебе придётся искать другой компонент. Помни: кто ищет, тот всегда найдёт.
AlexYeCu
В хелпе для 8-й я пропустил про read-only... ...толи не написали (или не везде написали) толи проморгал...
Про после PrintJob.start() помню... ...но вроде как еще позже вызывается - оттрейсить можно толи после добавления страницы, толи после отправки на печать...
Русская версия IP.Board © 2001-2009 IPS, Inc.