Saving RTF with headers and footers including page numbering

General TRichView support forum. Please post your questions here
Post Reply
rod
Posts: 2
Joined: Fri Mar 14, 2014 2:16 am

Saving RTF with headers and footers including page numbering

Post by rod »

Having looked at the various options on the forum I have chosen to go with ...
DBRichViewEdit1SaveRTFExtra
RTFCode :=
'{\header\pard\plain\posxc Header text goes here \par}'+
'{\footer\pard\qr © ABCWXYZ Pty Ltd Page \chpgn of {\field{\*\fldinst NUMPAGES }}\par}';

This works OK but I have several questions about the saved document.

1/ How do I stop the header and footer appearing on page one?
2/ How do I set the format/style of the header/footer ie font, font size etc
3/ How do I set the height allocated for the header / footer?
Sergey Tkachenko
Site Admin
Posts: 17565
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

1. Add \titlepg
If \titlepg is added, you can specify special header and footer for the first page in {\headerf ...}{\footerf ...}

2. Please google for "RTF specification"
For example, \b made the subsequent text bold, \fs20 sets its size to 10pt (a parameter is in half-points).
The problem is in colors and font names. They are written as indexes in special tables, and you do not have access to these tables in this event :(

3. You can define the top of header and the bottom of footer: \headeryN and \footerYN, where N - size in twips (1 twip = 1/20 pt = 1/1440 inch)

Note1: \titlepg, \headery, \footery must be placed outside of {\header ...}{\footer ...}

Note2: You can define headers and footers in separate RichViews; page number field will be implemented in TRichView soon, in this month
rod
Posts: 2
Joined: Fri Mar 14, 2014 2:16 am

Saving RTF with header and footer

Post by rod »

Sergey thank you for your swift and comprehensive response.
Following your advice I have a usable solution but I am most interested in the update you mention.

I found a very useful reference site http://latex2rtf.sourceforge.net/rtfspec_7.html

For others interested my final code is ...
procedure TForm3.RichViewEdit1SaveRTFExtra(...
RTFCode :=
'\margl1150\margr1150\margt1438\margb1150'+
'{\header\pard\plain\posxc\fs23 Header text goes here\par}'+
'{\footer {\pard \brdrb \brdrs\brdrw10\brsp20 {\fs4\~}\par \pard} \pard\plain\qc\fs23 Footer text goes here Page \chpgn of {\field{\*\fldinst NUMPAGES }}\par}'+
'\titlepg'+
'{\headerf\pard\plain\posxc\fs23 First page Header\par}'+
'{\footerf {\pard \brdrb \brdrs\brdrw10\brsp20 {\fs4\~}\par \pard} \pard\plain\qc\fs23 First page Footer\par}'+
'\headery800'+
'\footery800';

This sets margins left,right,top and bottom
Sets a default header and footer (with page numbering) plus a separate first page header and footer.
The footers have a horizontal line directly above the words.
Finally it sets the position of the header and footer.
Post Reply