PDA

Просмотр полной версии : printJob, первый лист пуст


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

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

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

код:

// заполнение строки
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
Попробуй так
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:
я пользовался хелпом, там другой подход совсем