RTF количество страниц Page x of y - PullRequest
5 голосов
/ 07 марта 2012

Не уверен, если это вообще возможно, но я пытаюсь сохранить текст через обычный текстовый вывод в RTF со специальным кодированием.

У меня все работает, кроме общего количества страниц.

Я хочу, чтобы он сказал «Страница x of y», например, внизу каждой страницы, чтобы сказать «Страница 1 из 3», но я не могу найти правильный код для общего номера страницы.

Некоторые люди говорят, что используют \nofpages, но источник говорит, что использование \nofpagesN - это указание количества страниц в документе. Есть ли формула или что-то, что я могу использовать или, возможно, способ поставить номер последней страницы? Вот пример моего кода, если вы поместите его в файл RTF через блокнот, затем сохраните и откройте в WordPad или слово, вы увидите, что я имею в виду:

{\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 ]

3 голосов
/ 04 сентября 2013

Код:

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

производит вывод (fex.):

Это страница 1 из 4, замечательно!

Итак, чтобы создать нижний колонтитул на каждой странице, используйте что-то вроде:

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

(Удалите \qr, если вы не хотите выравнивать нумерацию страниц по правому краю.)

3 голосов
/ 07 марта 2012

Я понял. Это было довольно сложно, и я получил образец от клиента, который уже делал это. Я полагаю, что было бы неплохо опубликовать это здесь, так что, по крайней мере, ответ теперь в сети.

Вместо этого: страница \ chpgn of \ nofpages

Я использую это:

{\insrsid2691151 Page }{\field{\*\fldinst {\insrsid2691151  PAGE }}{\fldrslt {\insrsid2691151 1}}}{\insrsid2691151  of }{\field{\*\fldinst {\insrsid2691151  NUMPAGES }}
{\fldrslt {\insrsid11226526 2}}}{\insrsid2691151 \par }}
2 голосов
/ 22 октября 2013

Для тех, у кого все еще есть проблемы с предыдущими решениями, вот еще один способ генерировать «Страница 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 могут некорректно обновлять текущую страницу или количество страниц документа. Приведенный выше код гарантирует, что эти поля будут обновлены.

...