Примечание: Прежде чем кто-либо пометит как дубликат, кажется, что pyrtf и pyrtf3 были заблокированы и больше не поддерживаются. Я также хотел бы избежать использования "полной" программы, такой как openoffice writer или Microsoft word.
Мне нужно использовать RTF в качестве шаблона и вставлять текст в заранее определенные слоты. Мне нужно конвертировать специальные символы в экранированные или юникод-символы. например:
Ввод: формат = "предопределенный формат", текст =
here are some characters that don't need escaping: # $ % ^ & * (. Here are some that do: { } ' \. I also want to handle any other characters here that a normal rtf reader could handle
Желаемый вывод:
{\\rtf1\\ansi\\ansicpg1252\\cocoartf1561\\cocoasubrtf400\n{\\fonttbl\\f0\\fnil\\fcharset0 ProximaNova-Regular;}\n{\\colortbl;\\red255\\green255\\blue255;\\red255\\green255\\blue254;}\n{\\*\\expandedcolortbl;;\\csgenericrgb\\c100000\\c100000\\c99608;}\n\\pard\\pardirnatural\\partightenfactor0\n\n\\f0\\fs126 \\cf2 here are some characters that don't need escaping: # $ % ^ & * (. Here are some that do: \\{ \\} \'92 \\\\. I also want to handle any other characters here that a normal rtf reader could handle }
Достаточно легко создать мой шаблон безтекст внутри, чтобы получить кодировку rtf, мне просто нужно преобразовать свой ввод в символы rtf с разделителями. Итак, что я ищу:
1) что-то, что легко взаимодействует с питоном 2) кроссплатформенность 3) не "большая", т.е.> 100 МБ 4) может преобразовать любую строку в правильный rtf
Бонусные баллы, если он может обрабатывать добавление уценки, такой как жирный шрифт или курсив или что-то еще. Я мог бы хотеть добавить html-теги или что-то в части моего предварительно отформатированного текста, если это достаточно просто.
Если чего-то подобного не существует, я мог бы сделать функцию, которая выполняет подстановку текста, но тогда естьлюбой способ выяснить, какие символы нужно экранировать или преобразовать в Unicode? Microsoft даже не размещает спецификацию rtf на своем веб-сайте, и я в целом не знаком с кодировкой символов в целом.