带有表格的RTF文件在WordPerfect中看起来已损坏

时间:2013-01-09 16:30:14

标签: xslt rtf wordperfect

我正在使用XSL模板创建RTF文件。该文件的内容包括一个表。虽然表格很好地出现在Ms Word处理器中,但它在Wordperfect中看起来很乱。我有客户使用Wordperfect,所以我需要让它与WP一起使用。

生成RTF的XSL模板如下所示

\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 个答案:

答案 0 :(得分:0)

这是一个艰苦的过程,但我终于明白了。

我应该使用它来将单元格边框显示在WP和Word中。

\clbrdrt\brdrs\brdrw16\brdrcf2\clbrdrl\brdrs\brdrw16\brdrcf2\clbrdrb\brdrs\brdrw16\brdrcf2\clbrdrr\brdrs\brdrw16\brdrcf2\cellx1000

每4个标签表示一个细胞边界。 例: \ clbrdrt:单元格边框右上角 \ brdrs:单边框 \ brdrw16:width = 16 \ brdrcf2:不确定这意味着什么

代码也使用 intb1 而不是 intbl