ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Print functions
  • Managing the PDF/A format
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
Defines the options for the generated PDF file. You can define:
  • the password used to open the file.
  • the options for compressing images.
  • the options for the presence of bookmarks.
  • the options for protecting the PDF file. You also have the ability to define the password used to modify these protection options.
  • the file format (Unicode, PDF/A).
From version 27, you can define all the PDF file generation options using pdfParameter variables.
These settings are applied when printing a PDF file (file generated from the report viewer, or directly with iDestination).
// Display two full pages with scrolling and cover page
Params is pdfParameter
Params.Quality = iHighQuality
Params.Zoom = zoomFullWidth
Params.PageDisplayMode = dispTwoPage + dispEnableScrolling + dispWithCoverPage
iParameterPDF(Params)
iDestination(iGenericPDF)
iPrintReport(MyReport)
 
ShellExecute(iLastFile())
// Protect the PDF against printing
// and against selection and copy/paste
// No password for opening the PDF file
// Password for modifying the protection settings
iParameterPDF(iProtectionPrinting, iProtectionSélection, "", "Protection")
// Create the PDF file
iDestination(iPDF, "C:\Temp\MyPDF.PDF")
// Print code
iCreateFont(1, 16, iBold, iRoman)
PrintTitle()
PrintText()
// End of print and close the created PDF file
iEndPrinting()
// No protection on the generated document
// Maximum image quality
iParameterPDF("", "", iMaximumQuality)
 
// Create the PDF file
iDestination(iPDF, "C:\Temp\MyPDF.PDF")
// Print code
iCreateFont(1, 16, iBold, iRoman)
PrintTitle()
PrintText()
PrintImage()
// End of print and close the created PDF file
iEndPrinting()
Syntax

Configuring the PDF file via a pdfParameter variable Hide the details

iParameterPDF(<Parameters>)
<Parameters>: pdfParameter variable
Name of the pdfParameter variable that describes all the options of the PDF file to be generated. This variable can be used to specify the format of the generated PDF file.

Protecting the PDF file by a password Hide the details

iParameterPDF(<Password> [, <Protection password>] [, <Quality and bookmark>])
<Password>: Character string
  • Password used to open the PDF file,
  • Empty string if no password must be used.
<Protection password>: Optional character string
Password used to allow the modification of the protection options for the PDF file.
Caution: The PDF standard only supports the passwords in non-accented Latin character set (examples: the accented characters, the chinese characters, the russian characters are not allowed).
<Quality and bookmark>: Optional Integer constant (or combination of constants)
Configures:
  • Compression level of colors and grayscale.
  • Management of bookmarks.
  • Management of Unicode format.
iAutomaticQualityCompression level automatically calculated to generate a better-quality PDF file (especially for images).
Linux This constant is not available.
iAverageQualityAverage compression level.
Linux This constant is not available.
iBookmarkNoneNo bookmark is taken into account by the PDF file.
iBookmarkPageThe bookmarks are taken into account by the PDF file. A bookmark is automatically defined for each page in the PDF file. Each bookmark is named "Page <page number>" ("Page 1" for example).
iHighQualityLow compression level used to get a high quality for the generated PDF.
Linux This constant is not available.
iLowQualityHigh compression level.
Linux This constant is not available.
iMaximumQualityMinimum compression level to get a maximum quality. This constant is recommended when creating a PDF file intended to be printed.
Linux This constant is not available.
iMinimumQualityMaximum compression level. The quality will be minimum. This constant can be used to create a PDF file intended to be viewed on the screen.
Linux This constant is not available.
iPDFGrayscalePDF file generated in black and white.
Linux This constant is not available.
iPDFUnicodePDF in Unicode format.
Remarks:
  • The use of this constant is recommended if the characters found in the PDF file are wrongly encoded.
  • If this constant is used, the size of the generated PDF file will increase significantly.

Selecting the protection options Hide the details

iParameterPDF(<Protection options> [, <Password> , <Protection password>] [, <Quality and bookmark>])
<Protection options>: Integer constant (or combination of constants)
Format and requested protection:
iPDFA3bPDF in PDF/A-3b format:
  • All the elements required to display or print the PDF file are included in the generated file. Therefore, the generated file is bigger.
  • It is possible to add XML, CSV, word processing, spreadsheet files, ... in PDF format. This can be done via iAddAttachment.
Caution: This option is taken into account for the current print only.
Remark: This format involves some limitations:
  • Transparency of images not supported.
  • OpenType fonts not supported.
  • Use of embedded fonts.
For more details, see Managing the PDF/A format.
Universal Windows 10 App This constant is not available.
iPDFA
or
iPDFA1b
PDF in PDF/A-1b format. All the elements required to display or print the PDF file are included in the generated file. Therefore, the generated file is bigger.
Caution: This option is taken into account for the current print only.
Remark: This format involves some limitations:
  • Transparency of images not supported.
  • OpenType fonts not supported.
  • Use of embedded fonts.
For more details, see Managing the PDF/A format.
Universal Windows 10 App This constant is not available.
iPDFGrayscalePDF file generated in black and white.
iPDFUnicodePDF in Unicode format
Linux This constant is not available.
iProtectionCommentPrevents from adding or editing comments.
iProtectionModificationThe content of the PDF file cannot be modified.
iProtectionNoneNo protection for the PDF file.
iProtectionPrintingThe PDF file cannot be printed.
iProtectionSelectionThe content of the PDF file cannot be copied or extracted from the file.
<Password>: Optional character string
  • Password used to open the PDF file,
  • Empty string if no password must be used.
<Protection password>: Optional character string
Password used to allow the modification of the protection options for the PDF file.
If this password corresponds to an empty string (""), a password is automatically generated.
<Quality and bookmark>: Optional Integer constant (or combination of constants)
Configures:
  • Quality of compression for the colors and grayscale.
  • Management of bookmarks.
  • Management of Unicode format.
iAverageQualityAverage compression quality
Linux This constant is not available.
iBookmarkNoneNo bookmark is taken into account by the PDF file
iBookmarkPageThe bookmarks are taken into account by the PDF file. A bookmark is automatically defined for each page in the PDF file. Each bookmark is named "Page <page number>" ("Page 1" for example).
iHighQualityHigh compression quality
Linux This constant is not available.
iLowQualityLow compression quality
Linux This constant is not available.
iMaximumQualityMaximum compression quality
Linux This constant is not available.
iMinimumQualityMinimum compression quality
Linux This constant is not available.
iPDFUnicodePDF in Unicode format.
Remark: From version 21, this constant can be used in the <Protection Options> parameter.
Linux This constant is not available.
Remarks
  • iParameterPDF is ignored in the middle of a print.
  • The configuration defined with iParameterPDF is enabled:
    • until the application or site is closed,
    • until the next call to iParameterPDF,
    • until the next call to iReset.
  • If PDF/A-1b is enabled via iParameterPDF before displaying the print preview:
    • The option for exporting in PDF mode is modified: "PDF/A" is displayed instead of "PDF".
    • For all the prints performed from the preview (direct print, ...), the limitations will be identical to the ones defined for the export in PDF/A format: transparency of images, substitution of fonts, ...
  • By default, the generated PDF uses version 1.4. To generate the PDF file with a specific version, use a variable of type pdfParameter. You can use the Version property to set the version used for the generation.

Managing the PDF/A format

Limitations:
  • The transparency of images is not supported:
    • If the image contains a transparent background in its format, the image will be drawn on a white background.
    • If the "Transparent magenta" color is used, the image rendering may differ in the generated PDF.
  • The "Opentype" fonts are not supported because the "Opentype" fonts cannot be incorporated in the generated PDF.
  • All fonts use must be incorporated in the generated PDF and they must contain all displayed characters.
    • In Windows, if characters are missing, the substitution font used is "Arial Unicode ms".
    • In Linux, if characters are missing, an error is displayed.
Tip: How to find out whether the print in PDF/1-1b format is correct?
  • If the print is performed from a report, you have the ability to enable the GUI errors specific to this format ("Options" tab in the description window of the report, "Enable the errors specific to the PDF/A-1b export" option).
  • During a dynamic audit, the errors specific to the PDF/A-1b management are detected and displayed.
Business / UI classification: Neutral code
Component: wd290prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Example is wrong by using comma instead of plus
iParameterPDF(iProtectionPrinting + iProtectionSelection, "", "Protection")

and not

iParameterPDF(iProtectionPrinting, iProtectionSelection, "", "Protection")
Riebens
26 Feb. 2024

Last update: 06/21/2023

Send a report | Local help