ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Print functions
  • When to use iDestination?
  • Printing in PDF
  • 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
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
Configures and returns the print destination.
You can print:
  • directly on the printer (syntax 1 and syntax 2).
    WEBDEV - Server code On the application server (in deployment), the print can only be done on the printers connected to the server. This feature is mainly used for the Internet sites. For the Internet sites, the print should be done in the format of a file in generic PDF format (iGenericPDF constant).
  • 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 on a fax (syntax 5 and syntax 6 sending a report 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
// PCL printer to use
iDestination(iPCL, "\\MyNetwork\MyPrinter")
// Print to PCL: iDestination(iPCL, "\My documents\MyFile.PCL")
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 To directly print on a printer connected to the server, a specific configuration is required. For more details, see Configuring the server to perform a print job.
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.
WEBDEV - Server code

Printing on a PCL printer directly Hide the details

iDestination(<iPCL> , <Printer to use>)
<iPCL>: Constant
iPCL: Constant used to print on a PCL printer directly.
Caution: you cannot 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 virtual outgoing port of Bluetooth>:".
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.

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: the printer settings are very 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 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.
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: The maximum format is the A4 format.
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: the printer settings are very 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: the printer settings are very 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.
Remark: You can configure the elements of the new email with iParameterExport.
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: the printer settings are very 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: the printer settings are very important. See the 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 can only be used to print a duplicate copy and not to start a print.
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
Password of generated duplicate.
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 used to print on a fax directly.
<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 computer. 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 used to print on a fax directly.
<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 computer. 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.
Caution: the fax server must be started and configured in outgoing mode. For more details, see Sending faxes.
Identifier of fax server: If FaxConnect was used before iPreview, this parameter may correspond to the identifier of the fax server connection returned by 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: iDestination can be called before printing a report (with iPrintReport) to choose the print destination.
WEBDEV - Server codeWindowsAjax

Printing in PDF

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.
  • The fonts oriented at 90° are not printed properly in the HTML file: the text is displayed with an horizontal font.
  • The rounded borders are not printed. They are replaced by 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.
  • The fonts oriented at 90° are not printed properly in the HTML file: the text is displayed with an 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 the print is performed in a text file, only the text is retrieved: the lines, the images, ... 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

Remark: For a network printer, you must use the share name instead of 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: wd290prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/23/2023

Send a report | Local help