不确定这是否可行,但我试图通过纯文本输出将文本保存到带有特殊编码的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}}
答案 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查看器可能无法正确更新当前页面或文档页数。上面的代码确保这些字段将被更新。