Ответ 1
RTF кажется конвертируемым форматом для конвертирования с/в. Я попытался разрезать и наклеивать среди приложений на Mac OS X, например, где RTF является чем-то вроде lingua franca. Некоторые из этих приложений - это приложения Microsoft (что связано с тем, что RTF - это формат, разработанный Microsoft), другие - нет. Даже базовая информация о форматировании, такая как размер шрифта, шрифт, интервал между линиями и стиль списка (упорядоченный или неупорядоченный), смешивается при копировании из одного якобы RTF-говорящего приложения в другое. Проще говоря, это беспорядок.
Я искал способы программного чтения, записи и преобразования RTF, предпочтительно из Python. Я нашел несколько пакетов на PyPI, их тестирование оказалось неутешительным. Они поддержали бы RTF 1.5, скажем, при текущей версии 1.9.1. RTF существует уже давно, но спецификация 2005 года не совсем новая. Было много ошибок и несовместимости. МНОГО.
Теперь я не говорю, что это невозможно, или что там нет других библиотек, которые могли бы сделать трюк. Например, я не пробовал zopyx.convert
, упомянутый здесь другими. Может быть, это здорово. Но глядя на его зависимости - Java, FOP и т.д. - это выглядит довольно сложной (и, вероятно, хрупкой) toolchain. Я прочитал свой код в github, и Python действительно существует только в качестве координационного шпона. Он организует внешние инструменты XFC, XINC, FOP и PrinceXML - три из которых являются коммерческим программным обеспечением. Это включает ключевую часть XFC, которая имеет дело с RTF. Цвет меня скептически.
Есть два конвертера, которые я нашел, заслуживают внимания: если вы используете Mac, textutil командная строка программа на самом деле является одним из лучших и простых инструментов, которые я видел.
textutil -convert html filename.rtf -output filename.html
Другой механизм форматирования, который стоит рассмотреть, LibreOffice. Он бесплатный, с открытым исходным кодом, разумно поддающийся автоматизации и достойный фундамент в качестве центра взаимодействия. Это не просто догадка; Я создал сложные, многоформатные документооборота вокруг него.
Я бы поставил под вопрос, почему вы пытаетесь попасть в RTF. Это похоже на формат документа, с которым вы пытаетесь убежать. Но если вам нужно пойти туда, textutil и LibreOffice - это наименее худшие механизмы, которые я нашел.