|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|