WYSIWYG

<< Click to Display Table of Contents >>

Navigation:  Programming > Introduction >

WYSIWYG

 

The word WYSIYWG abbreviates What You See Is What You Get - which means that the printed output of an application which supports WYSIWYG will match the screen output it displayed before. WPTools Version 9 will always work in WYSIWYG mode, this means the printed output will always match the output you saw in the editor. Making this work is actually a quite complicated task and the editing engine has to be well prepared for it. The concept of WPTools5 was created from ground up to allow several WYSIWG modes:

 

a) Default: render for best screen and best printing quality

b) Render for optimal printing quality

c) Render for optimal screen quality - print quality can be low

 

Usually you do not have to change anything - but we recommend to add a switch to the application to activate mode (b) - simply execute TWPRichText1.Memo.RTFData.UpdateReformatMode(true). Now the RTF-Engine will use the current printer to measure the fonts. For special printer fonts this can make a big difference for the output quality.

 

To work with mode (c) you can simply set the flag wpfAlwaysFormatWithScreenRes in the property FormatOptions of the TWPRichText.

 

If you know that there is no printer available for the application, you can set the global boolean WPNoPrinterInstalled to true. This property is automatically initialized  by using the windows EnumPrinters() API.

 

Please note that the property WordWrap disables WYSIWYG. If this property is set to TRUE this means that the text is formatted to the width of the editor, not the paper size defined in the property Header or the section. When WordWrap is set to false, word wrapping is still performed, but not using the width of the editor but the defined page size. You can, of course, set WordWrap to false and still modify the page size dynamically (Header.PageWidth according to the size of the editor. In this case WYSIWYG printing is possible, but you probably need to set the flag PrintParameter.PrintOptions := [wpDoNotChangePrinterDefaults]  - otherwise the printer will select a custom paper size.

 

Upgrade note: There are no properties ScreenResMode and WYSIWYG in WPTools Version 9, they are not required anymore. Using the mode (a) mentioned above provides good print out quality without the need for a default printer - this solves the problems which used to occur in applications when not printer was available. If the current printer is changed the reformat of the text is not required.

 

clip0045

 

WPTools supports many different layout modes. It is possible to see the page with header and footers, several pages side by side, thumbnails, just the body text etc. Please read the chapter about LayoutModes.