[oodisc] Разделение брошюр на N тетрадей при печати.

Орлов Владислав Джонович software на pro-za.com.ua
Пн Фев 27 18:10:31 MSK 2006


В сообщении от Понедельник, 27-Фев-2006 12:41 Guest007 написал(a):
>>  я в те времена еще не умел пересчитывать страницы документа
> А теперь научился? Подскажи, как, плиз.
Да прямо тогда и научился :-) 
Alexej Kryukov (спасибо ему - лучше поздно, чем никогда) предложил создавать 
вью-курсор, который знает все о строках и страницах документа - загонять его 
в конец текста и "срисовывать" номер получившейся страницы. Написано 
(31/03/2005) было так:
>> oCursor = oDoc.CurrentController.getViewCursor ()
>> oCursor.jumpToLastPage ()
>> iCountPages = oCursor.getPage ()
>> 
>> Конечно, это реализация через одно место, т. к. приходится
>> перемещать курсор в конец документа. Также не представляю, как
>> оно будет работать, если нумерация страниц начинается не с первой.
Совершенно справедливое решение, работает безукоризнено... Пользователи 
нервничают, что после печати брошюры текущий лист остается где-то далеко 
наверху? Нет проблем! До этого блока кода запомним где мы были до прыжка:
oldCursor = oDoc.CurrentController.getViewCursor().getStart()
а после вычисления номера последней страницы - прыгнем назад:
oCursor.gotoRange(oldCursor, False)

-- 
Всего доброго!
Владислав Орлов
Начальник отдела программного обеспечения
ЗАО СК "Профессиональная Защита" ("Про-За")

PS. Для большего удобства общения настоятельно рекомендую установить себе 
OpenOffice.org - он того стоит (хотя и совершенно бесплатен!)


Подробная информация о списке рассылки Oo-discuss