ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Print functions
  • Printing a justified RTF text
  • Printing RTF with page breaks
  • Printing RTF
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Warning
From version 28, iPrintZoneRTF is kept for backward compatibility. This function has been replaced with iPrintAreaRTF.
Prints rich text format (RTF) in a rectangular area. The print job is not started (only iEndPrinting can be used to start the print job).
iPrintAreaRTF(RTFText, 0, 0, dHeight, 200)
Syntax
<Result> = iPrintAreaRTF(<RTF text> , <X1> , <Y1> , <X2> , <Y2> [, <Start> [, <End>]])
<Result>: Integer
Index of the last RTF element printed in the rectangular area (WINDEV/WEBDEV specific count).
<RTF text>: Character string
RTF string that will be printed in a specific area.
<X1>: Real
Horizontal coordinate of the upper-left corner of the print area (in millimeters).
Value between 0 and the page width (returned by iPageWidth).
<Y1>: Real
Vertical coordinate of the upper-left corner of the print area (in millimeters).
Value between 0 and the page height (returned by iPageHeight).
<X2>: Real
Horizontal coordinate of the lower-right corner of the print area (in millimeters).
Value between 0 and the page width (returned by iPageWidth).
<Y2>: Real
Vertical coordinate of the lower-right corner of the print area (in millimeters).
Value between 0 and the page height (returned by iPageHeight).
<Start>: Optional integer
Index of the first character in the <RTF text> to print. If this parameter is not specified, the <RTF text> is printed from the first character.
<End>: Optional integer
Index of the last character in the <RTF text> to print. If this parameter is not specified, the <RTF text> is printed up to the last character.
Remarks

Printing a justified RTF text

To print a text with iPrintAreaRTF while keeping its justification, iParameter must be previously used as follows:
iParameter("RTFJustification=Yes")
If the parameters used to divide RTF text are used (<Start> and <End>), the text justification text will be stored.

Printing RTF with page breaks

The following code prints RTF containing programmed page breaks:
// Open the report viewer
iDestination(iViewer)
// Convert the text
sText is string = RTFToText(EDT_EditText)
// Text size
nTextSize is int = Length(sText)
// Delete the number of page breaks to the size of the text
nTextSize -= StringCount(sText, Charact(12))
// CR must correspond to one single character
nTextSize -= StringCount(sText, Charact(13))
 
// Loop on all the pages
nStart is int
nSize is int = -1
LOOP
// Prints the page
nStart = nSize + 1
nSize = iPrintAreaRTF(EDT_EditText, 0, 0, iPageWidth(), iPageHeight(), nStart, -1)
// Skips the page if other pages are found
IF nSize < nTextSize AND nSize > nStart THEN
iSkipPage()
END
TO DO WHILE nSize < nTextSize AND nSize > nStart
// End of print
iEndPrinting()

Printing RTF

To use iPrintAreaRTF, the "RICHED20.DLL" file must be on the current computer.
In most cases, the "RICHED20.DLL" file is in the Windows system directory.
Component: wd300prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/21/2023

Send a report | Local help