|
|
|
|
|
- Printing a justified RTF text
- Printing RTF with page breaks
- Printing RTF
iPrintAreaRTF (Function) In french: iImprimeZoneRTF
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()
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.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|