Есть ли кроссплатформенная функция или модуль Python, который может конвертировать простой текст в формат RTF? Если нет, есть ли способ получить набор символов RTF? - PullRequest
0 голосов
/ 05 октября 2019

Примечание: Прежде чем кто-либо пометит как дубликат, кажется, что 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 на своем веб-сайте, и я в целом не знаком с кодировкой символов в целом.

...