Форум » Для флейма » OpenOffice страницы » Ответить

OpenOffice страницы

Pasha: Есть такая задача: В документ writer в конец добавляются один за другим накладные, через copy/paste Если при этом вставляемый документ переносится на следующую страницу, то надо после его добавления в начале этого документа вставить разрыв страницы. То есть, если документ полностью поместился на последнюю страницу, разрыв не вставлять, а если не поместился - вставлять. Видится такой алгоритм: Переместиться в конец документа (.uno:GoToEndOfDoc) Узнать номер страницы Добавить документ (.uno:Paste) Снова переместиться в конец документа (.uno:GoToEndOfDoc) Если номер страницы теперь больше считанного ранее - переместить курсор в начало добавленного фрагмента, и вставить разрыв страницы. И вопрос: как узнать номер текущей страницы в текущей позиции курсора ? Может быть задачу можно решить по другому ? Как это сделать в MS Word ?

Ответов - 1

Pasha: Вроде разобрался Получить номер страницы: oViewCursor := oDoc:currentController:ViewCursor oViewCursor:gotoEnd(.f.) nPage := oViewCursor:Page Сохранить/восстановить позицию курсора: // save cursor position oViewCursor := oDoc:getCurrentController:getViewCursor oTextCursor := oViewCursor:Text:createTextCursorByRange(oViewCursor) // restore cursor position oViewCursor := oDoc:getCurrentController:getViewCursor oViewCursor:gotoRange(oTextCursor, .f.) Вставить разрыв страницы: oTextCursor:BreakType := 4



полная версия страницы