Я сейчас работаю над тем же, и это не тривиально.
Из того, что я могу понять, вам нужно загрузить текст и расположить его сначала в строках.Если вы используете Poppler, Poppler.Page.textList()
предоставит вам список текстовых полей, а TextBox.hasSpaceAfter()
сообщит вам конец строки при возврате False
.
Я использую интерфейс Qt4, поэтому у каждого TextBox есть QRect, из которого я могу выяснить, где выделить слово.Выделение линии более или менее lirstWordOfLine.geometry().united(lastWordOfLine.geometry())
, что обеспечит геометрию линии для выделения.
Теперь я не могу понять, как сохранить координаты выделений в документе.