RTF页数y页面x

时间:2012-03-07 14:40:54

标签: rtf

不确定这是否可行,但我试图通过纯文本输出将文本保存到带有特殊编码的RTF。

除了总页数外,我的一切都在工作。

我希望它说“Page x of y”,例如每页的底部说“第1页,共3页”,但我找不到总页码的正确代码。

有些人说使用\nofpages但是来源说使用\nofpagesN是指定文档中的页数。是否有一个公式或我可以使用的东西或者可能是最后一页的编号?这是我的代码示例,如果您通过记事本将其放入rtf文件然后保存并在wordpad或word中打开,您将看到我的意思:

{\rtf1\pagestart1 {\header\brdrt\brdrth\ql\b Name:  \b0LAST, FIRST \par\b DOB:  \b0 1979/11/03 \par\b Service Date/Time:  \b0 2012/03/06 00:49:00 \par\b MRN:  \b0 XXXXXX \par\b Order Date/Time:  \b0 2012/03/05 01:14:00 \par\b Study ID:  \b0 } \par{\footer\pard\brdrt\brdrs\qc\fs16\b\ul CONFIDENTIALITY NOTICE \par\par\pard\brdrt\brdrs\keepn\ql\fs20 Date: \chdate\par\keepn\qc\fs20 Page \chpgn  of \nofpages\par}\b Study ID:  \b0 000000000000 \par\pard\brdrb\brdrth A bunch of text to make up more than one page. \par \par \par {\footnote\pard\b Some stuff in the footer \b0\par}}

3 个答案:

答案 0 :(得分:3)

我明白了。它非常复杂,从已经在做的客户那里得到了一个样本。我认为将它发布在这里会很好,所以至少答案现在已经在NET上了。

而不是:Page \ chofgn of \ nofpages

我正在使用它:

{\insrsid2691151 Page }{\field{\*\fldinst {\insrsid2691151  PAGE }}{\fldrslt {\insrsid2691151 1}}}{\insrsid2691151  of }{\field{\*\fldinst {\insrsid2691151  NUMPAGES }}
{\fldrslt {\insrsid11226526 2}}}{\insrsid2691151 \par }}

答案 1 :(得分:3)

代码:

This is page \chpgn  of {\field{\*\fldinst  NUMPAGES }}, wonderful!

产生输出(fex。):

  

这是第1页,共4页,太棒了!

因此,要在每个页面中创建一个页脚,请使用以下内容:

{\footer\pard\qr Page \chpgn  of {\field{\*\fldinst  NUMPAGES }}\par}

(如果您不想将页码对齐,请删除\qr。)

答案 2 :(得分:2)

对于那些仍然遇到以前解决方案问题的人,这里是另一种生成“Page x of y”作为所有页面的页脚的方法。

{\rtf1\ansi\deff0
{\footer\qr{
Page {\field{\*\fldinst {PAGE}}{\fldrslt {Refresh >F9<}}} of {\field{\*\fldinst {SECTIONPAGES}}{\fldrslt {Refresh >F9<}}}
}\par}
{{Hello, RTF!}\par}
}

请注意,由于某些原因,某些RTF查看器可能无法正确更新当前页面或文档页数。上面的代码确保这些字段将被更新。