RTF-файл с таблицами выглядит неработающим в WordPerfect
Я создаю файл RTF, используя шаблон XSL. Содержимое файла включает в себя таблицу. Хотя таблица красиво выглядит в текстовом редакторе Ms, она выглядит искаженной в Wordperfect. У меня есть клиенты, которые используют Wordperfect, поэтому я должен заставить его работать с WP.
Шаблон XSL для генерации RTF выглядит следующим образом
\rtf1\ansi
{\fonttbl
{\f20\fnil\fcharset0 Times New Roman;}
{\f21\fnil\fcharset0 Times New Roman;}
{\f22\fnil\fcharset0 Times New Roman;}
{\f23\fnil\fcharset0 Times New Roman;}
{\f24\fnil\fcharset0 Times New Roman;}
}
{\stylesheet
}
{\header
\pard\tqc\tx4320\tqr\tx8640 {\plain \f20\fs22 FileName: <xsl:value-of select="/file/document/title"/>}
}
{\footer
}
Шаблон, который создает таблицу, выглядит следующим образом:
<xsl:for-each select="//tag/tag1">
\trowd \trq1 \trgraph120 \trleft-108
\clbrdrl\brdrs\clbrdrt\brdrs\clbrdrr\brdrs\clbrdrb\brdrs\cellx500
\clbrdrl\brdrs\clbrdrt\brdrs\clbrdrr\brdrs\clbrdrb\brdrs\cellx4200
\clbrdrl\brdrs\clbrdrt\brdrs\clbrdrr\brdrs\clbrdrb\brdrs\cellx7000
\clbrdrl\brdrs\clbrdrt\brdrs\clbrdrr\brdrs\clbrdrb\brdrs\cellx7500
\clbrdrl\brdrs\clbrdrt\brdrs\clbrdrr\brdrs\clbrdrb\brdrs\cellx9500
\pard
\nowidctlpar \intb1 \q1 \sa160 {\plain \f24\fs22 <xsl:value-of select="position()"/>} \cell \pard
\nowidctlpar \intb1 \q1 \sa160 {\plain \f24\fs22 <xsl:value-of select="item/text()"/>} \cell \pard
\nowidctlpar \intb1 \q1 \sa160 {\plain \f24\fs22 <xsl:value-of select="title/text()"/>} \cell \pard
\nowidctlpar \intb1 \q1 \sa160 {\plain \f24\fs22 <xsl:value-of select="page/text()"/>} \cell \pard
\nowidctlpar \intb1 \q1 \sa160 {\plain \f24\fs22 } \cell \pard
\widctlpar \intb1 \row
</xsl:for-each>
Есть ли определенный стандарт, которому я должен следовать, чтобы таблицы правильно отображались в Word Perfect? Спасибо за вашу помощь.
1 ответ
Это был кропотливый процесс, но я наконец понял это.
Я должен использовать это, чтобы границы ячеек появлялись как в WP, так и в Word.
\clbrdrt\brdrs\brdrw16\brdrcf2\clbrdrl\brdrs\brdrw16\brdrcf2\clbrdrb\brdrs\brdrw16\brdrcf2\clbrdrr\brdrs\brdrw16\brdrcf2\cellx1000
Каждые 4 тега обозначают границу ячейки. Пример: \ clbrdrt: граница ячейки справа вверху \ brdrs: одиночная граница \brdrw16: ширина = 16 \brdrcf2: не уверен, что это значит
И код также использовал intb1 вместо intbl