Форум » Для флейма » 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
полная версия страницы