warcevil: стили можно добавлять, используя директивы push и stack. Логику можно вынести в отдельный класс/сервис, а потом использовать его во view (глянь ещё директиву inject).
Андрей: хочу предложить решить проблему другим путём... Вы говорите, что при копировании текста из PDF/страницы/т.п. копируются переносы, но так быть не должно. Я даже не поленился проверить - копирует без лишних переносов. Возможно стоит сменить браузер/читалку? Если говорить об алгоритме - идеального решение нет. У меня есть два варианта: оставить как есть (только код немного переписать); делать перенос в местах, где заканчивается предложение и строка, т.е. оставить перенос после каждого символа окончания предложения, находящегося в конце строки.