ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / Print functions
  • When to use iDestination?
  • Printing in PDF format
  • Printing in HTML
  • Printing in XLS
  • Printing in RTF
  • Configuring the printer for printing in HTML, RTF and text format
  • Printing in PRN format
  • Printing in XML
  • Print characteristics
  • Printing on a fax
  • Printing a fax in landscape mode
  • Using a fax server installed on a computer other than the current computer
  • End of print
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Configures and returns the print destination.
You can print:
  • directly on the printer (syntax 1).
  • directly in a file in text, HTM, RTF, PDF, PRN or XML format (syntax 3).
    WEBDEV - Server code To obtain the same results during the development and on the deployed site, it is recommended to perform generic prints (with the iGenericPDF constant, for example).
  • directly a duplicate (syntax 4).
  • directly to a fax machine (syntax 6 and syntax 7, sending a status message to a fax number, for example). For more details, see Sending faxes.
Example
WEBDEV - Server codeWindowsAjax
// Print to HTML
iDestination(iHTML, "C:\My documents\MyReport.HTM")
// "C:My documents\MyReport.HTM" corresponds to the name and
// path of the HTM file that will be created with "RPT_MySummaryReport"
iPrintReport(RPT_MySummaryReport)
WEBDEV - Server codeWindowsLinuxAjax
// Print to PDF
FileName is string = CompleteDir(fDataDir()) + "i" + Invoice + Customer + ".PDF"
iDestination(iGenericPDF, FileName)
iPrintReport(RPT_Invoice, Customer, Invoice)
// Checks whether it is a WEBDEV site
IF InWebMode() = True THEN
// Print performed from a WEBDEV site
// Send the file to the Web user
FileDisplay(FileName, "application/pdf")
Multitask(0)
// Delete the file from the server
fDelete(FileName)
END
WEBDEV - Server codeWindowsAjax
// Generate a PRN file
iDestination(iPrinterFile, "C:\Temp\MyPrint.prn")
Windows
// Generate a PDF file and open the default messaging software
iDestination(iPDFEMail, "MyAttachment.PDF")
 
// Configure the email software (optional)
iParameterExport(iExportEmailRecipient, "Wam@CrazyMail.com; Celia.Wat@ZMail.fr")
iParameterExport(iExportEmailSender, "Itsme@Berrymail.com")
iParameterExport(iExportEmailSubject, "Result of yearly sales")
iPrintReport(RPT_MyReport)
Syntax
WEBDEV - Server codeAjax

Printing directly to the printer or in a mini-preview Hide the details

iDestination([<Destination> [, <Name of the document>]])
<Destination>: Optional integer constant
Print destination.
iPrinterSend document directly to the printer.
WEBDEV - Server code
  • This feature is mainly used for the Internet sites.
  • On the application server (in deployment), the print can only be done on the printers connected to the server. In this case, a specific configuration is required. For more details, see Configuring the server to perform a print job.
  • For web sites, we recommend printing as a generic PDF file.
iMiniPreviewPrinting in a mini-preview. This mini-preview allows you to display the pages to print and to define the printing options. Exports are also possible.
WEBDEV - Server code This constant is not available.
<Name of the document>: Optional character string
  • When sending the document directly to a printer (iPrinter constant), it corresponds to the name to be given to the print job. This name will identify the printout in the list of documents processed by the printer.
  • For printing in a mini-preview (iMiniPreview constant), it corresponds to the title of the mini-preview window.
    If this parameter is not specified, the default title will be "Report preview" followed by the report name.
    If the user can generate files (Word, PDF, etc.) from the print mini-preview, the title of the preview will automatically be proposed as the file name. If this parameter is not specified, the name of the file will correspond to the name of the report.

Printing in a file (HTM, PCL, PDF, PRN, RTF, XLS, XML, ...) Hide the details

iDestination([<Type of destination file> [, <Name of the file to create>]])
<Type of destination file>: Optional integer constant
Used to configure the type of file to create:
iFilePrint to a text file. The file will be named <Report name>.TXT (where <Report name> corresponds to the name of report defined in the report editor). This file is created in the application directory. If <Name of file to create> is specified, the file name will be <Name of file to create>.TXT.
Caution: printer settings are important. See remarks.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericFilePrint to a text file. The file will be named <Report name>.TXT (where <Report name> corresponds to the name of report defined in the report editor). This file is created in the application directory. If <Name of file to create> is specified, the file name will be <Name of file to create>.TXT.
This printing mode does not use the current printer driver, which makes sure that the result is the same from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericHTMLPrint to an HTML file using a style sheet. The file will be named <Report name>.HTM (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
This print mode must be used to manage the layers in the HTML pages.
If <Name of file to create> is specified, the file name will be <Name of file to create>.HTM. No preview will be displayed.
This print mode does not use the current print driver so that an identical result is guaranteed from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericHTMLWithoutCSSPrint to an HTML file without using a style sheet. The file will be named <Report name>.HTM (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
This print mode does not support layers in the HTML pages.
If <Name of file to create> is specified, the file name will be <Name of file to create>.HTM. No preview will be displayed.
This print mode does not use the current print driver so that an identical result is guaranteed from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericPDFPrint to a PDF file. The file will be named <Report name>.PDF (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.PDF.
Caution: It is not possible to use a format larger than A4.
This print mode does not use the current print driver so that an identical result is guaranteed from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
iGenericRTFPrint to an RTF file. The file will be named <Report name>.RTF (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.RTF. No preview will be displayed.
This print mode does not use the current print driver so that an identical result is guaranteed from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericXLSPrint to an XLS file. The file will be named <Report name>.XLS (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.XLS. No preview will be displayed.
This print mode does not use the current printer driver so that an identical result is guaranteed from a computer to another one.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iGenericXMLPrint to an XML file. The file will be named <Report name>.XML (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.XML. No preview will be displayed.
This print mode does not use the current print driver so that an identical result is guaranteed from one computer to another.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iHTMLPrint to an HTML file using a style sheet. The file will be named <Report name>.HTM (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
This print mode must be used to support the layers in the HTML pages.
If <Name of file to create> is specified, the file name will be <Name of file to create>.HTM. No preview will be displayed.
Caution: printer settings are important. See remarks.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iHTMLWithoutCSSPrint to an HTML file without using a style sheet. The file will be named <Report name>.HTM (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
This print mode does not support layers in the HTML pages.
If <Name of file to create> is specified, the file name will be <Name of file to create>.HTM. No preview will be displayed.
Caution: printer settings are important. See remarks.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iPCLPrint to a PCL file (<Report name>.PCL file created in the application directory).
If <Name of file to create> is specified, the file name will be <Name of file to create>.PCL.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iPDFPrint to a PDF file. The file will be named <Report name>.PDF (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.PDF.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Warning
From version 27, this constant is available for backward compatibility. It is recommended to use the iGenericPDF constant, which improves the generation of PDF files.
iPDFEmailPrint to a PDF file and open the messaging software on the current computer.
This PDF file is directly attached to a new email created by using the MAPI client installed by a messaging software of the current computer. The MAPI client and the application must be installed in the same compilation mode (32/64-bit).
The file will be named <Report name>.PDF (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory. If <Name of file to create> is specified, the file name will be <Name of file to create>.PDF.
Note: It is possible to parameterize the elements of the email created with the iParameterExport function..
WEBDEV - Server codeLinux This constant is not available.
iPrinterFilePrint to a PRN file (<Name of file to create>). <Name of file to create> must contain the full name of PRN file.
Caution: printer settings are important. See remarks.
WEBDEV - Server codeLinux This constant is not available.
iRTFPrint to an RTF file. The file will be named <Report name>.RTF (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.RTF. No preview will be displayed.
Caution: printer settings are important. See remarks.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iXLSPrint to an XLS file. The file will be named <Report name>.XLS (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.XLS. No preview will be displayed.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
iXMLPrint to an XML file. The file will be named <Report name>.XML (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.
If <Name of file to create> is specified, the file name will be <Name of file to create>.XML. No preview will be displayed.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
Linux This constant is not available.
<Name of the file to create>: Optional character string
Name of generated file. If this parameter is not specified, the name of generated file corresponds to "Report Name". When printing in PRN format (with the iPrinterFile constant), the full name of file to create must be specified.
WEBDEV - Server codeWindows

Printing a duplicate copy Hide the details

iDestination(<Destination type> [, <Name of the file to create> [, <Certificate> [, <Password>]]])
<Destination type>: Integer constant
Used to configure the type of file to create:
iDuplicatePrint to a duplicate file. The file will be named <Report name>.DPL (where <Report name> corresponds to the report name defined in the report editor). This file is created in the application directory.

Caution: This constant allows only a duplicate to be printed, not a full printout..
To create a duplicate copy of a print, we recommend that you use iParameterDuplicate then iDestination to print on the printer.
WEBDEV - Server code If the file directory is not specified, the file is generated in the data directory of the site. This directory can be configured by WDCOMPTE. This directory is returned by fDataDir. We recommend that you use iLastFile to open the last generated file.
<Name of the file to create>: Optional character string
Name of duplicate file to create (without extension). The created file will be <Name of file to create>.DPL.
If this parameter corresponds to an empty string (""), the name of generated file will correspond to "Report Name".DPL.
<Certificate>: Certificate variable
Name of the Certificate variable that contains the certificate to be used to sign the duplicate.
<Password>: Character string or Secret string
Password of generated duplicate.
New in version 2025
Secret strings: If you use the secret string vault, the type of secret string used for this parameter must be "Ansi or Unicode string".
To learn more about secret strings and how to use the vault, see Secret string vault.
WEBDEV - Server code

Print directly to a PCL printer (retained for compatibility) Hide the details

iDestination(<iPCL> , <Printer to use>)
<iPCL>: Constant
iPCL: Constant for printing directly to a PCL printer.
Please note: it is not possible to print in landscape mode on a PCL printer.
<Printer to use>: Character string
Path and name of PCL printer used. This printer must be accessible.
If this printer is accessible via Bluetooth, this parameter must correspond to "<Name of Bluetooth virtual output port>:".
If several printers are using the Bluetooth technology, a window allowing the user to choose a printer will be displayed during the print.
If this printer is accessible via Wi-Fi or network, this parameter must correspond to the name and UNC path of printer.
WEBDEV - Server codeAjax

Printing on a fax directly without managing a status report (Windows 2000 and XP) Hide the details

iDestination(<iFax> , <Fax number to dial>)
<iFax>: Constant
iFax: Constant for printing directly on a fax machine.
<Fax number to dial>: Character string
Phone number corresponding to the fax where the print must be sent.
Caution: A modem must be installed on the current workstation.. The fax number must correspond to the features specified when configuring the modem.
WEBDEV - Server codeAjax

Printing on a fax directly while managing a status report (Windows 2000 and XP) Hide the details

<Result> = iDestination(<iFax> , <Fax number to dial> , <Fax name> [, <Name or identifier of fax server>])
<Result>: Integer
  • Identifier of the connection to the fax server,
  • 0 if an error occurs. The corresponding error message is returned by ErrorInfo.
<iFax>: Constant
iFax: Constant for printing directly on a fax machine.
<Fax number to dial>: Character string
Phone number corresponding to the fax where the print must be sent.
Please note: a modem must be installed on the current workstation.. The fax number must correspond to the features specified when configuring the modem.
<Fax name>: Character string
Name used to identify the outgoing fax. The status of the outgoing fax is returned by FaxStatus.
<Name or identifier of fax server>: Optional character string or integer
Share name of fax server.
If this parameter is not specified or if it corresponds to an empty string, the fax server corresponds to the default fax server.
Warning: the fax server must be started and configured in send mode.. For more details, see Sending faxes.
Fax server identifier: If function FaxConnect was used before function iPreview, this parameter may correspond to the fax server connection identifier returned by function FaxConnect..
Remarks

When to use iDestination?

iDestination must be the first print function called. It must be called before iPrint, iCreateFont, etc. However, iDestination must be called after iConfigure or iParameter.
Remark: The iDestination function can be called before executing a report (with iPrintReport) to select the report execution destination.
WEBDEV - Server codeWindowsAjax

Printing in PDF format

The generated PDF file can be directly printed by iPrintPDF.
WEBDEV - Server codeWindowsAjax

Printing in HTML

  • If the print is performed in an HTML page with a style sheet (iHTMLCSS constant), the style sheet is included in the HTML file. The method for printing in an HTML file is identical to the method for printing on a printer. The layers are supported and the management of the font size is precise.
  • If the print is performed in an HTML page without style sheet (iHTML constant), the following limitations may occur:
    • management of font size not precise
    • overlay not supported. You cannot write on an image for example.
  • Fonts oriented at 90° are not printed correctly in the HTML file: text is displayed with a horizontal font.
  • The rounded borders are not printed. They are replaced with standard borders.
WEBDEV - Server codeWindowsAjax

Printing in XLS

  • The Image, Bar Code and Chart controls are not printed.
WEBDEV - Server codeWindowsAjax

Printing in RTF

  • Printing in RTF only supports the text (with its style) and the images. The overlay of objects is not supported (lines or images). Several text lines cannot be displayed beside an image for example.
  • Fonts oriented at 90° are not printed correctly in the HTML file: text is displayed with a horizontal font.
  • To print to RTF, the "RICHED20.DLL" file must be on the current computer. In most cases, the "RICHED20.DLL" file is in the Windows system directory.
  • The borders are not printed.
  • The tables are supported by RTF. The font color and the background color of cells are stored.
WEBDEV - Server codeWindowsAjax

Configuring the printer for printing in HTML, RTF and text format

  • If printing to a text fileonly the text is retrieved: lines, images, etc. are ignored.
  • Printing in HTML, RTF or text format depends on the configuration and on the resolution of the current printer. Therefore, if the current printer is configured in landscape mode with margins, these options will be used when printing in HTML, text or RTF format.
  • The finer the printer resolution is, the better the quality of the RTF, text or HTML print will be.
  • To avoid the overlapping problems when printing in HTML mode, you have the ability to adjust the printer settings.
Windows

Printing in PRN format

When printing in PRN format, the PRN file is specific to the selected printer. This file is directly created by the printer driver, it is a binary file that can be interpreted by the printer.
This file can be printed thereafter on the specified printer or on any other printer of the same type via the "Print" command of DOS. The syntax of this command is:
Print /D:\\<Computer name>\<Name of declared printer> <Name of PRN file>

Example:
Print /D:\\Doc_Computer\CanonLBP Output.prn

Note For network printers, it is necessary to use the share name and not the printer name. The share name is found in the "Share" tab of printer description.
WEBDEV - Server codeWindowsAjax

Printing in XML

When printing in XML format, only the data is printed. The characteristics of the page layout (lines, ...) are ignored.
WEBDEV - Server codeWindowsAjax

Print characteristics

  • When printing in PDF, the characteristics of the PDF file can be configured with iParameterPDF.
  • When printing in XLS, the characteristics of the XLS file can be configured with iParameterXLS.
WEBDEV - Server codeWindowsAjax

Printing on a fax

Two syntaxes can be used to send a print to a fax:
  • Fax without management of status report. The print (performed later by iPrintReport for example) is directly sent to the specified phone number.
  • Fax with management of status code. The print (performed thereafter by iPrintReport for example) is sent to the specified phone number, via a fax server. iPreview returns the identifier of connection to this fax server. This identifier, as well as the name given to the fax, allow you to check the status of the outgoing fax with the Fax functions. For more details, see Sending faxes.
WEBDEV - Server codeWindowsAjax

Printing a fax in landscape mode

To configure the print of a fax in landscape mode (printing several faxes, including one in landscape mode), the print functions must be used in the following order:
  1. iDestination associated with the iFax constant.
  2. iParameter used to switch to landscape mode.
If this order is not respected, the setting of landscape mode will be ignored by the driver for fax management.
Example:
iDestination(iFax, "00046032032","Fax")
iParameter("ORIENTATION=LANDSCAPE")
iPrint("Print in landscape mode")
iEndPrinting()
WEBDEV - Server codeWindowsAjax

Using a fax server installed on a computer other than the current computer

You have the ability to use a fax server installed on a computer other than the current computer. In this case, the computer where the fax server is installed must be running Windows Server 2003. The fax server must be shared. Then, the name of fax server must be specified in iDestination.
The computer from which the faxes will be sent must be equipped with a local fax server.
For example, if the fax server is installed on "FaxServer1", use the following syntax:
iDestination(iFax, "00046032032","Fax","\\FaxServer1\Fax_Share")
Windows

End of print

iEndPrinting must necessarily be called to end the print except after a call to iPrintReport.
The next prints will be performed on the printer except if iDestination is run again.
Business / UI classification: Neutral code
Component: wd300prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 11/23/2024

Send a report | Local help