Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   printJob, первый лист пуст (http://www.flasher.ru/forum/showthread.php?t=111195)

$mival 18.04.2008 00:16

printJob, первый лист пуст
 
такой глюк у меня случился, интересно где я накосячил :)
товарищи поправили код, но у них работает а у меня нет (у меня виртуальный принтер)

задача:
есть некоторый текст, надо его разбить на страницы + на каждой странице выводить номер её, заголовок, название сайта.

результат: количество распечатанных страниц правильное, но ... первый лист пуст, на втором идет тот текст, который должен быть на первой, за ним идет все правильно по порядку. в итоге из-за вставленного в начало чистого листа пропадает последний.

код:

Код:

// заполнение строки
i=0;
var str = "";
while(i < 300) {str += Math.random() * 425; i++;}
//

var charPerPage:Number = 1800;
var pages:Number = Math.floor(str.length / charPerPage) + 1;

trace("длина распечатываемой строки: " + str.length);
trace("количество страничек: " + pages);

var my_pj:PrintJob = new PrintJob();
var pageCount:Number = 0;

if (my_pj.start())
{
    for(var i:Number=0;i<pages; i++)
    {
          if (my_pj.addPage(mc, {xMin:-50,xMax:600,yMin:-50,yMax:1200})) {
              pageCount++;
              mc.txt._width = 500;
              mc.txt._height = 800;
             
              mc.txt.htmlText = "http://mydomain.com\r";
              mc.txt.htmlText += "Студия \"Рога-Копыта\". Публикации\r\r";
              mc.txt.htmlText += "<b>А это заголовок публикации\r\r</b>";
              mc.txt.htmlText += str.substr(i * charPerPage, charPerPage) + "\r\r";
              mc.txt.htmlText += "<b>Стр." + int(i+1) + "</b>";
             
             
          }   
    }
   
    if (pageCount > 0) my_pj.send();
    delete my_pj;
}


$mival 18.04.2008 15:01

актуально

etc 18.04.2008 15:11

Плюс за ап.

Vertax 18.04.2008 15:21

Попробуй так
Код:

for(var i:Number=0;i<pages; i++)
    {
              pageCount++;
              mc.txt._width = 500;
              mc.txt._height = 800;
             
              mc.txt.htmlText = "http://mydomain.com\r";
              mc.txt.htmlText += "Студия \"Рога-Копыта\". Публикации\r\r";
              mc.txt.htmlText += "<b>А это заголовок публикации\r\r</b>";
              mc.txt.htmlText += str.substr(i * charPerPage, charPerPage) + "\r\r";
              mc.txt.htmlText += "<b>Стр." + int(i+1) + "</b>";
              my_pj.addPage(mc, {xMin:-50,xMax:600,yMin:-50,yMax:1200});
             
          }


$mival 18.04.2008 15:55

Цитата:

Сообщение от Vertax
Попробуй так
Код:

for(var i:Number=0;i<pages; i++)
    {
              pageCount++;
              mc.txt._width = 500;
              mc.txt._height = 800;
             
              mc.txt.htmlText = "http://mydomain.com\r";
              mc.txt.htmlText += "Студия \"Рога-Копыта\". Публикации\r\r";
              mc.txt.htmlText += "<b>А это заголовок публикации\r\r</b>";
              mc.txt.htmlText += str.substr(i * charPerPage, charPerPage) + "\r\r";
              mc.txt.htmlText += "<b>Стр." + int(i+1) + "</b>";
              my_pj.addPage(mc, {xMin:-50,xMax:600,yMin:-50,yMax:1200});
             
          }


работает :wacko:
я пользовался хелпом, там другой подход совсем


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

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