Remove string e substitui uma nova string por um formato

0

Aqui eu quero: Eu tenho um arquivo .doc que consiste em várias linhas. No arquivo eu preciso encontrar uma string e substituí-la por outra string. Até esta bem. Mas como posso substituir a string por outra string junto com o formato. Quero dizer, como Bold , itálico , sublinhado, etc. para uma nova string.

    
por rɑːdʒɑ 24.10.2013 / 06:36

1 resposta

2

A única maneira de saber como automatizar .doc arquivos é com um script Python muito elaborado e extremamente demorado. Você precisaria automatizar o [Libre | Open] Office usando o PyUNO.

Esta é a melhor maneira de fazer isso, porque você pode usar praticamente todas as funções do Office sem ter que fazer hacks suspeitos ...

Um método menos ideal seria usar unoconv para converter .doc em algo legível como .fodt , depois sed e convertê-lo novamente em .doc .

unoconv -o test.fodt -f fodt test.doc
sed -i 's/string/newstring/g'
unoconv -o test.doc -f doc test.doc

Você precisa ter cuidado para que sua string não interfira nas tags do documento. Se for, você precisará usar algo muito mais industrial para ter certeza de que está editando apenas as coisas em <text:...> tags.

Então, ao invés de usar .fodt , você pode usar html

unoconv -o test.html -f html test.doc
sed -i 's/string/<B>newstring</B>/g'
unoconv -o test.doc -f doc test.html

No entanto, há todas as chances de a conversão acabar completamente com a formatação do documento.

    
por Oli 24.10.2013 / 09:33