ActiveReports 13
Rendering to PDF
ActiveReports 13 > ActiveReports User Guide > Concepts > Exporting > Rendering Extensions > Rendering to PDF

Portable Document Format (PDF), is a format recommended for printing and for preserving formatting. You can use the PDFRenderingExtension to render your report in this format. With the PDF rendering extension, you can use features such as font linking, digital signatures and end-user defined characters (EUDC). These features are only available in the Professional Edition of ActiveReports.

The following steps provide an example of rendering a report in PDF format.

  1. Create a new Visual Studio project.
  2. In the New Project dialog that appears, select ActiveReports 13 Page Report Application and specify a name for the project in the Name field.
  3. Click OK to create a new ActiveReports 13 Page Report Application. By default a Page report is added to the project.
  4. Add reference to GrapeCity.ActiveReports.Export.Pdf.dll and GrapeCity.ActiveReports.Core.Rendering.dll assemblies in the project.
  5. On the Form.cs or Form.vb that opens, double-click the title bar to create the Form_Load event.
  6. Add the following code inside the Form_Load event.

 

Visual Basic.NET code. Paste INSIDE the Form Load event.
Copy Code
' Provide the page report you want to render.
Dim rptPath As New IO.FileInfo("..\..\PageReport1.rdlx")
Dim pageReport As New GrapeCity.ActiveReports.PageReport(rptPath)

' Create an output directory.
Dim outputDirectory As New System.IO.DirectoryInfo("C:\MyPDF")
outputDirectory.Create()

' Provide settings for your rendering output.
Dim pdfSetting As New GrapeCity.ActiveReports.Export.Pdf.Page.Settings()

' Reduce the report size and report generation time.
pdfSetting.OptimizeStatic = True

' Set the rendering extension and render the report.
Dim pdfRenderingExtension As New GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension()
Dim outputProvider As New GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name))

' Overwrite output file if it already exists
outputProvider.OverwriteOutputFile = True

pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting)
C# code. Paste INSIDE the Form Load event.
Copy Code
// Provide the page report you want to render.
System.IO.FileInfo rptPath = new System.IO.FileInfo(@"..\..\PageReport1.rdlx");
GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(rptPath);

// Create an output directory.
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(@"C:\MyPDF");
outputDirectory.Create();

// Provide settings for your rendering output.
GrapeCity.ActiveReports.Export.Pdf.Page.Settings pdfSetting = new GrapeCity.ActiveReports.Export.Pdf.Page.Settings();

// Reduce the report size and report generation time.
pdfSetting.OptimizeStatic = true;

// Set the rendering extension and render the report.
GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension pdfRenderingExtension = new GrapeCity.ActiveReports.Export.Pdf.Page.PdfRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(outputDirectory.Name));
            
// Overwrite output file if it already exists
outputProvider.OverwriteOutputFile = true;

pageReport.Document.Render(pdfRenderingExtension, outputProvider, pdfSetting);

 

PDF Rendering Properties

ActiveReports offers a number of options to control how reports render to PDF.

Property Description
Application Set the value that appears for application in the Document Properties dialog of the PDF viewer application.
Author Enter the name of the author to appear in the Document Properties dialog of the PDF viewer application.
CenterWindow Set to True to position the document's window in the center of the screen.
Columns Set the number of columns to use in the report. This value overrides the report's original settings. The default value of -1 uses the report's original settings.
ColumnSpacing Enter a value in inches to set the amount of space between columns. This value overrides the report's original settings.
DisplayMode Specifies how the document is displayed when opened. FullScreen mode displays the document with no menu bar, window controls, or any other window visible.
DisplayTitle Set to True to display text you enter in the Title property. When set to False it displays the name of the PDF file.
DpiX Set the horizontal resolution of the rendered PDF file.
DpiY Set the vertical resolution of the rendered PDF file.
Encrypt Determines whether the document is encrypted or not.
Note: If Encrypt is set to False, permissions and passwords have no effect. 
EndPage The last page of the report to render. The default value is the value for StartPage, that is, 0.  
FallbackFonts Gets or sets a comma-delimited string of font families to locate missing glyphs from the original font.
FitWindow True to resize the document’s window to fit the size of the first displayed page. Default value: false.
HideMenubar True to hide the viewer application’s menu bar when the document is active. Default value: false.  
HideToolbar True to hide the viewer application’s toolbars when the document is active. Default value: false.
HideWindowUI True to hide user interface elements in the document’s window (such as scroll bars and navigation controls), leaving only the document’s contents displayed. Default value: false.
ImageInterpolation Interpolation value of images. Allows to enable/disable image interpolation, when exporting the file to PDF.
Keywords Keywords associated with the document. 
MarginBottom The bottom margin value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.
MarginLeft The left margin value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.  
MarginRight The right margin value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.  
MarginTop The top margin value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.  
OptimizeStatic True to generate a PDF file optimized with XObjects. Static report items are reused to a generate a smaller PDF file in less time.
OwnerPassword The owner password that can be entered in the reader that permits full access to the document regardless of the specified user permissions.  
PageHeight The page height value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.  
PageWidth The page width value, in inches, to set for the report. You must include an integer or decimal value followed by "in" (for example, 1in). This value overrides the report's original settings.
Permissions Specifies the user permissions for the document. Permissions can be combined using a comma between values. In order to use AllowFillin, AllowAccessibleReaders, and AllowAssembly permissions, you must set the Use128Bit property to True.
PrintLayoutMode Specifies layout mode to be used for PDF document.
PrintOnOpen Gets or sets the value indicating whether the document should be printed after open.
PrintPresets Gets or sets the PDF print preset dialog.
SizeToFit Determines whether PDF pages are fit to the selected paper size or not.
StartPage The first page of the report to render. A value of 0 indicates that all pages are rendered.
Subject The subject of the document.
Title The title of the document.
Use128Bit True to use 128 bit encryption with full permissions capability. False to use 40 bit encryption with limited permissions
UserPassword The user password that can be entered in the reader. If this value is left empty, the user will not be prompted for a password, however the user will be restricted by the specified permissions.
WatermarkAngle Specify the degree of angle for the watermark text on the PDF document. Valid values range from 0 to 359, where 0 is horizontal, left to right.
WatermarkColor Select a color for the watermark text on the PDF document. The default value for the watermark color is gray, but you can select any Web, System, or Custom color.
WatermarkFont Set the font to use for the watermark to any valid System.Drawing.Font.
WatermarkTitle

Enter text (i.e. CONFIDENTIAL) to use as the watermark on the PDF document.

 

PDF Print Presets Properties

ActiveReports allows you to preset the printing properties for PDF report exports using the PrintPresets class. This prepopulates the print settings in the Print dialog box. Please see Use PDF Printing Presets for more information.

Note: The print preset properties are only available with the Professional Edition license. An evaluation message is displayed when used with the Standard Edition license.
Property Description
PageScaling Specify scaling for the printable area.You can select Default to shrink to the printable area, or you can select None for the actual size.
DuplexMode

Specify the duplex mode of the printer. For the best results with the duplex option, the selected printer should support duplex printing. You can choose from the following values,

  • Simplex: Prints on one side of the paper. This is the default value.
  • Duplex (Flip on long edge): Prints on both sides of the paper with paper flip on the long edge.
  • Duplex (Flip on short edge): Prints on both sides of the paper with paper flip on the short edge.
PaperSourceByPageSize Determines the output tray based on PDF page size, rather than page setting options. This option is useful when printing PDFs with multiple page sizes, where different sized output trays are available. By default, this option is set to False.
PrintPageRange Specify the range of page numbers as 1-3 or 1, 2, 3.
NumberOfCopies Specify the number of copies to print. You can select any number of copies from 2 to 5, or select Default to specify a single copy.
Note: These properties are available in PDF version 1.7 or higher. The PageScaling property is supported in PDF version 1.6.

 

PDF/A Support Limitations

Interactivity

PDF is considered as the best format for printing and it also supports interactive features like Document Map, Bookmarks and Hyperlinks. However, in case you have any data hidden (like in a drill-down report) at the time of rendering, it does not show up in the output. Therefore, it is recommended to expand all toggle items prior to rendering.

See Also