Выкладываю графику в RTF - PullRequest
2 голосов
/ 17 января 2010

Меня интересует, как создавать определенные типы макетов в документах RTF, в идеале, используя методы, которые не зависят только от самых последних стандартов RTF, и которые являются «нативными», то есть они не включают в себя встраивание других представлений как файлы изображений. В частности:

  1. В Postscript и DVI я могу указать координату в любое время, когда будет напечатан следующий текст: можно ли это сделать с помощью RTF?
  2. Может ли RTF составлять символы с помощью перетаскивания?
  3. Можно ли нарисовать линии, контуры и заполненные прямоугольники, указав их геометрию абсолютно или относительно текста?

Ответы [ 2 ]

2 голосов
/ 24 января 2010
  1. Вы можете использовать конструкцию \pvpg \phpg \posx123 \posy123 после Вы начинаете абзац с \pard, чтобы расположить его относительно левого верхнего края страницы. Смотри: http://biblioscape.com/rtf15_spec.htm#Heading39

  2. Да, но это довольно сложно, и я думаю, что это было введено только в RTF 1.5. См. раздел рисования объектов спецификации. Вот базовый пример рисования прямоугольника (я не уверен, что он полностью действителен, но он должен дать вам представление о том, как работать с рисованными объектами):

    {\rtf1\ansi\deff0 {\pard {\*\do \dobxcolumn \dobypara \dprect \dpx0 \dpy0 \dpxsize1000 \dpysize1000 \dplinew25 }\par} }

Если вы выполняете какую-либо работу с RTF, стоит взять с собой О'Рейли RTF Pocket Guide .

0 голосов
/ 24 января 2010
  1. Я не верю, что это возможно. Вам нужно использовать вкладки и переводы строк, чтобы получить текст там, где вы хотите.
  2. Не совсем, если только \ strike и \ strikedl не считаются.
  3. http://www.biblioscape.com/rtf15_spec.htm#Heading52 говорит, что объекты рисования являются опцией, как и вставка изображений, но ни одна из них не является "родной", поскольку обе отсутствуют в первых спецификациях RTF. (И последнее - плохой выбор, т. Е. Просто строка.)
...