Advanced PDF Features

With Reports ForNAV, you have access to the advanced features supported by the Bullzip PDF Printer. This includes printing on letterheads, password protection, merging, digital signatures, compatibility level, and archive formats.

The full list of settings is available in the PDF printer documentation.

Using Printer Settings

From inside the report object you can access the printer settings using the following function:

ReportForNav.PrinterSettings.SetValue('[Settings Name]', '[Settings Value]');

The function can be called anywhere in the report code after the initialization of the ReportForNav variable. The OnInitReport trigger function in the report object is a good place for this code. However, it is up to you to decide where to place it.

Note that if you set values in other locations than OnInitReport, you have to set at least one value in the OnInitReport trigger. This could be a dummy value or a value that you overwrite later in report execution.

Example: Add a watermark text

ReportForNav.PrinterSettings.SetValue('WatermarkText', 'Playing with reports and ForNAV');
ReportForNav.PrinterSettings.SetValue('WatermarkColor', 'FF0000');

This will add a basic watermark text in the report. A lot of other options for watermarks are available in the list of printer settings. You can control rotation, font size, font thickness, location, and more.

Example: Use an archiving format

ReportForNav.PrinterSettings.SetValue('Format', 'pdfa1b');

PDF documents can have dependencies on specific fonts and color profiles, which needs to be present in order to print the PDF correctly. When you want to create PDF documents for long time storage, it is recommended that you use an archiving format such as PDF/A-1b. This will make sure that dependencies such as fonts and color profiles are stored inside the PDF.

Example: Print on a letterhead PDF

ReportForNav.PrinterSettings.SetValue('Superimpose', 'C:\Documents\Letterhead.pdf');

You can print on top of an existing PDF document. This is typically used when you have a PDF with your letterhead. It is the equivalent to printing on normal paper where your company logo and other information is printed already.

Look to the printer documentation for information on how to get different backgrounds on different pages. It can be controlled by page numbers or odd/even pages.

Example: Merge with existing documents

ReportForNav.PrinterSettings.SetValue('MergeFile', 'C:\Documents\Payment Instructions.pdf');
ReportForNav.PrinterSettings.SetValue('MergePosition', 'top');

With the merge feature, you can merge your current report output with existing PDF documents and get one combined PDF as the result. The example code above show how you can print an invoice and merge with the payment instructions. You can merge with multiple files and decide where your current report output is placed in the sequence of merged documents.

Example: Password Encryption

ReportForNav.PrinterSettings.SetValue('OwnerPassword', 'my owner password');
ReportForNav.PrinterSettings.SetValue('UserPassword', 'my user password');

PDF documents can be protected by passwords. You can create an owner password for someone with access to all features and a user password for someone with limited rights on the PDF. You can limit printing and print quality for users. You can also remove the ability to copy/paste information from the PDF document.

Example: Digital Signatures

ReportForNav.PrinterSettings.SetValue('SignCertificate', 'C:\Signatures\signaturefile.p12');
ReportForNav.PrinterSettings.SetValue('SignPassword', 'your signature password');

Digital signatures can be used to validate the origin of your document and make sure that the content has not been edited. Supported signature types are PFX and P12. Signature files must include the private key.