ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Print functions
  • Managing the PDF/A format
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Defines the options for the generated PDF file. You can define:
  • file password.
  • image compression options.
  • bookmark options.
  • PDF file protection options. You can also set a password to change the protection options.
  • file format (Unicode, PDF/A).
From version 27, you can define all the PDF file generation options using pdfParameter variables.
These options 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 + iProtectionSelection, "", "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 a 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 a PDF file using a password Hide the details

iParameterPDF(<Password> [, <Protection password>] [, <Quality and bookmark>])
<Password>: Character string or Secret string
  • Password used to open the PDF file,
  • Empty string to set no password.
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.
New in version 2025
AndroidAndroid Widget Secret strings are not available for this parameter in Android/Android widget applications.
<Protection password>: Optional string or Secret string
Password used to change the protection options of the PDF file.
Note: The PDF standard only supports passwords containing characters from the unaccented Latin character set. This means that accents, Chinese and Russian characters are not supported.
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.
New in version 2025
AndroidAndroid Widget Secret strings are not available for this parameter in Android/Android widget applications.
<Quality and bookmark>: Optional Integer constant (or combination of constants)
Configures:
  • Color and grayscale compression level.
  • Bookmarks.
  • Unicode standard.
iAutomaticQualityCompression level automatically calculated to generate a better-quality PDF file (especially for images).
iAverageQualityAverage compression level.
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 has a name in the following format "Page <page number>" (e.g. "Page 1").
iHighQualityLow compression level used to get a high quality for the generated PDF.
iLowQualityHigh compression level.
iMaximumQualityMinimum compression level to get a maximum quality. This constant is recommended when creating a PDF file intended to be printed.
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.
iPDFGrayscalePDF file generated in black and white.
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.
AndroidAndroid Widget Not available.

Selecting the protection options Hide the details

iParameterPDF(<Protection options> [, <Password> , <Protection password>] [, <Quality and bookmark>])
<Protection options>: Integer constant (or combination of constants)
Available protection options:
New in SaaS
iProtectionAssemble
Restricts PDF file assembly.
Note: This feature is only available from WINDEV Suite SaaS 2025 - Update 3.
For more details, see Using new features exclusive to WINDEV Suite SaaS 2025.
iProtectionCommentRestricts adding or editing comments.
New in SaaS
iProtectionCopyAccessibility
Restricts copying content for accessibility purposes.
Note: This feature is only available from WINDEV Suite SaaS 2025 - Update 3.
For more details, see Using new features exclusive to WINDEV Suite SaaS 2025.
New in SaaS
iProtectionFillForm
Form fields in the PDF file will not support user input.
Note: This feature is only available from WINDEV Suite SaaS 2025 - Update 3.
For more details, see Using new features exclusive to WINDEV Suite SaaS 2025.
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 string or Secret string
  • Password used to open the PDF file,
  • Empty string to set no password.
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.
New in version 2025
AndroidAndroid Widget Secret strings are not available for this parameter in Android/Android widget applications.
<Protection password>: Optional string or Secret string
Password used to change the protection options of the PDF file.
If this password is an empty string (""), a password is automatically generated.
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.
New in version 2025
AndroidAndroid Widget Secret strings are not available for this parameter in Android/Android widget applications.
<Quality and bookmark>: Optional Integer constant (or combination of constants)
Configures:
  • Color and grayscale compression quality.
  • Bookmarks.
  • Unicode standard.
iAverageQualityAverage compression quality
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 has a name in the following format "Page <page number>" (e.g. "Page 1").
iHighQualityHigh compression quality
iLowQualityLow compression quality
iMaximumQualityMaximum compression quality
iMinimumQualityMinimum compression quality
iPDFGrayscalePDF file generated in black and white.
iPDFUnicodePDF in Unicode format.
Remarks
  • iParameterPDF is ignored during a print job.
  • 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 available export option will be "PDF/A" instead of "PDF".
    • For all print jobs sent from the preview (direct printing, etc.), there will be the same limitations as for the export to PDF/A format: Image transparency, font substitution, etc.
  • 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 do I know if the printout in PDF/1-1b format will be 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: wd300prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/25/2025

Send a report | Local help