Для усеченного:
var intvalue = Math.floor(value);
Для раунда:
var intvalue = Math.round(value);
OpenOffice имеет считыватель RTF . Вы можете использовать python для написания сценария OpenOffice, подробнее см. Здесь .
Возможно, вы могли бы попробовать использовать волшебный com-объект в Windows для чтения всего, что пахнет ms-binary. Я бы не рекомендовал это.
На самом деле анализ необработанных данных, вероятно, будет не очень сложным, см. Этот пример , написанный на .bat / QBasic.
DocFrac - это бесплатный конвертер с открытым исходным кодом между RTF, HTML и текстом. Доступны платформы Windows, Linux, ActiveX и DLL. Вероятно, будет довольно легко обернуть это в python.
RTF :: TEXT :: Converter - Расширение Perl для преобразования RTF в текст . (в случае возникновения проблем с DocFrac.)
Официальный формат RTF Спецификации , версия 1.7, Microsoft.
Удачи (с ограниченными правами в Вашей рабочей среде).
DocFrac - это бесплатный конвертер с открытым исходным кодом между RTF, HTML и текстом. Доступны платформы Windows, Linux, ActiveX и DLL. Вероятно, будет довольно легко обернуть это в python.
RTF :: TEXT :: Converter - Расширение Perl для преобразования RTF в текст . (в случае возникновения проблем с DocFrac.)
Официальный формат RTF Спецификации , версия 1.7, Microsoft.
Удачи (с ограниченными правами в Вашей рабочей среде).
DocFrac - это бесплатный конвертер с открытым исходным кодом между RTF, HTML и текстом. Доступны платформы Windows, Linux, ActiveX и DLL. Вероятно, будет довольно легко обернуть это в python.
RTF :: TEXT :: Converter - Расширение Perl для преобразования RTF в текст . (в случае возникновения проблем с DocFrac.)
Официальный формат RTF Спецификации , версия 1.7, Microsoft.
Удачи (с ограниченными правами в Вашей рабочей среде).
Вы проверяли pyrtf-ng ?
Обновление: Функция синтаксического анализа доступна, если вы выполняете проверку Subversion, но я не уверен насколько он полнофункциональный. (См. Модуль rtfng.parser.base
.)
Есть хорошая библиотека pyrtf-ng для универсальной обработки RTF.
Я столкнулся с тем же, что и пытался кодировать себя. Это' Это не так просто, но вот что у меня было, когда я решил использовать приложение командной строки. Его рубиновый, но вы можете очень легко адаптироваться к питону. There is some header garbage to clean up, but you can see more or less the idea.
f = File.open('r.rtf','r')
b=0
p=false
str = ''
begin
while (char = f.readchar)
if char.chr=='{'
b+=1
next
end
if char.chr=='}'
b-=1
next
end
if char.chr=='\\'
p=true
next
end
if p==true && (char.chr==' ' or char.chr=='\n' or char.chr=='\t' or char.chr=='\r')
p=false
next
end
if p==true && (char.chr=='\'')
#this is the source of my headaches. you need to read the code page from the header and encode this.
p=false
str << '#'
next
end
next if b>2
next if p
str << char.chr
end
rescue EOFError
end
f.close
Я работал над библиотекой Pyth, которая может делать это:
http://pypi.python.org/pypi/pyth/
Преобразование файла RTF в открытый текст выглядит примерно так:
from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.plaintext.writer import PlaintextWriter
doc = Rtf15Reader.read(open('sample.rtf'))
print PlaintextWriter.write(doc).getvalue()
Pyth может также генерировать файлы RTF, читать и писать XHTML, генерировать документы из разметки Python в соответствии со стандартом Nevow и имеет ограниченную экспериментальную поддержку вывода в латексе и pdf. Его поддержка RTF довольно надежна - мы используем ее в производстве для чтения файлов RTF, созданных различными версиями Word, OpenOffice, Mac TextEdit, EIOffice и другими.