Creating PDF files with editable form fields: ReportBuilder includes ability to create editable PDF forms. The form data can also be submitted via HTTP or manipulated via JavaScript using PDF buttons. There are two ReportBuilder components used to create form fields: TMyCheckbox and TppLabel. CheckBox: To create an interactive checkbox in PDF, place a TMyCheckbox Full Article…
Search the Wiki
How To…Separate File for Each Group
Question “How do I export a separate file for each group in my report automatically?” Solution It is possible to automatically export each group inside a report as an individual file using the Group.NewFile property. See the steps below for more detailed instructions. Starting with RB 11, the Group.NewFile property was added giving the user Full Article…
How To…Send Each Page as a PDF
Question “Is it possible to create a new PDF file for each page in the report?” Solution This can be done by manually taking control of the StartJob/EndJob routines of the TppDevice. Start by creating a generic TppDevice object, assigning its OnPageReceive event and calling PrintToDevices. Next implement the OnPageReceive event to create a PDF Full Article…
How To…Merge Multiple Reports into one PDF
Question “How do I merge multiple reports into a single PDF file?” Solution For ReportBuilder 11, new properties were added to the PDF Device allowing the developer to manually start and end the print job. This allows you to easily merge multiple reports into a single PDF file. Simply set the EndPrintJob property to false Full Article…
How To…Export Each Group to Stream
“Is is possible to export each individual group to a separate Output Stream that I create?” Solution All file devices (PDF, Text, etc.) allow the report export output to be directed to a custom stream rather than the default filestream. It is also possible to use this feature with the “New File” feature of Report Full Article…
Removing Formats
TECH TIP: Controlling Available Print To File formats Question: “How can I limit which file formats are displayed by the print dialog?” Formats can be registered and unregistered via code. Below is a list of the currently provided export devices: TppArchiveDevice – Archive File TppHTMLDevice – HTML File TppXHTMLDevice – XHTML File (Server only) TppPDFDevice – Full Article…
PrintToDevices with AutoSearch
TECH TIP: Displaying the AutoSearch Dialog When Using the Report.PrintToDevices Method Report.PrintToDevices is an advanced method that can be used to send a report to a specific device. This method allows you to take complete control over the printing process. You must create and attach the appropriate devices before making the call to this method. When Full Article…
Native Formats
TECH TIP: ReportBuilder Output Formats ReportBuilder has an open architecture for output formats. Report –> Pages.DrawCommands[] —> Device (Printer, Screen, ..) –> final output An RB report produces Page objects. Each page object contains an array of DrawCommand objects that describe a piece of Text, a Line etc. The Device class receives the page objects Full Article…
Add-On Devices
TECH TIP: Available Add-on Devices Gnostice eDocEngine Vcl – www.gnostice.com WPCuped wPDF – www.wpcubed.com Sybrex Systems llPDFLib – www.sybrex.com
TIFF Image Export
Exporting report to TIFF format images can be done in two ways. 1. Windows Imaging Component (Delphi 2010 or later) Delphi 2010 and later include Windows Imaging Component (WIC) support. This can be used to create and view numerous image formats including TIFF. In order to utilize this feature with ReportBuilder, add ppWICDevice to your Full Article…
Image Device Fundamentals
The Image device descendents give the capability to easily export any report to various image formats which can be viewed using an image viewer or editor. Begin by setting the Report.AllowPrintToFile property to True to enable the Print To File section of the Print Dialog. The print dialog can be bypassed by setting the Report.DeviceType Full Article…
How To…Export Gray Scale Jpegs
Question “Is is possible to export jpegs that are gray scaled?” Solution Use the Report.OnFileDeviceCreated event to configure the JPGDevice.Jpeg property. This Jpeg property is of type TJpeg, a Delphi VCL class. All of the image devices share this common architecture. The BmpDevice has a Bitmap property, the MetaFileDevice has a Metafile property, etc. Download: Full Article…
How To…Control Image Export File Naming
Question “How can I control the exported image file names?” Solution This example shows how to use the device’s OnPageReceive event to control the image file names. Download: ImageDeviceCustomFileNames.zip Sample Delphi Code: uses ppDevice, ppFileUtils, ppImageDevice; procedure TForm1.ppReport1FileDeviceCreate(Sender: TObject); begin // attach handler to page receive event if (ppReport1.FileDevice is TppImageDevice) then ppReport1.FileDevice.OnPageReceive := ehFileDevice_PageReceive; Full Article…
The primary means by which report output is generated is via a call to the Print method of the report object. 1. Print to Screen The following code would cause the Print Preview form to be displayed and the first page of the report to be presented in this form: uses ppTypes; ppReport1.DeviceType := dtScreen; Full Article…
Previewing
The most high-profile and often-used form of report output is contained in the Print Preview form. The Print Preview form is launched automatically when the Print method of report component is called (and the DeviceType property has been set to ‘Screen’). The Print Preview form is pictured below. The user can preview any page of Full Article…
End-User Options
You can control whether end users can Archive or Print to any of the supported file formats using the following properties of the Report object: ▪ AllowPrintToArchive ▪ AllowPrintToFile Setting AllowPrintToArchive to True will enable end users to archive reports. You would then need to provide a user-interface for previewing and printing the archived files Full Article…
Custom Printer Settings
ReportBuilder contains a host of properties that allow you to control various aspects of the print job. Property Description BinName The name of the bin (paper tray) containing the paper on which the report will be printed. A common use of this property is to set it to Manual Feed on mailing label reports. Full Article…
ASCII
The TextFile device in ReportBuilder converts report output into an ASCII text file. The intent of this device is to create structured data that can be imported into another application, such as a spreadsheet. The following text file formats are supported: ▪ comma-delimited ▪ tab-delimited ▪ fixed length records ▪ custom-delimited Because report output is Full Article…
Troubleshooting… Cannot Preview Email
Issue: While using a MAPI email plugin with Windows Vista/7+, the default email client (Outlook, Windows Mail, etc.) will not preview the message. An “Unknown Error” or “User Abort” error is returned in most cases. Solution: 1. In order for MAPI to function correctly, the bitness of the MAPI application (Delphi/RB application) must match Full Article…
How To…Show Email Errors
Question “My emails won’t send. Is there a way to see the error returned by my email server/MAPI client?” Solution By default all email errors are caught and suppressed. Use the TppSMTPCustom.OnEmailError event to capture the error text returned by your email server or MAPI compatible email client. This event can be accessed from the Full Article…
How To…Email Multiple Reports at Once
Question “How do I email separate reports such as invoices to different addresses at the same time?” Solution Create a loop to continually update the email settings and search criterial of a report before sending an email for each record. Download: SendMultipleEmails.zip Sample Delphi code: procedure TForm1.Button2Click(Sender: TObject); var liIndex: Integer; begin CreateCustomerList(); for liIndex Full Article…
How To…Email HTML messages with inline images
Question “Is it possible to send an email with an HTML body including inline images?” Solution Starting with RB 14, it is possible to send email from ReportBuilder in HTML format and also include inline images inside the email message. To do so, simply add the HTML source you would like as the email message Full Article…
How To…Email Groups
Question “Is is possible to automatically email each group to a separate recipient?” Solution Starting with ReportBuilder 12, the Email Groups feature was added allowing a user to automatically export and send each group in a report to a separate recipient. Below are steps for utilizing this feature. 1. First create a report and open Full Article…
How To…Customize Indy Email Settings
Question “How do I customize the TIdIndy settings to connect to a secure email server such as Gmail?” Solution Note: Starting with ReportBuilder 19, it is possible to skip the steps below and simply set the TppSMTPIndy.UseTLS property to True. It is still necessary to download and copy the proper SSL .dll files for Full Article…
Email Fundamentals
The built-in email feature provides numerous ways to export and send a report via email in a single step. Below is a description of how this can be done. Send an email from the Preview Window: Set the TppReport.EmailSettings.Enabled property to True. Set up the rest of the email settings inlcuding whether you would like Full Article…
How To…Save/Load Archives from a Database
Question “How do I save/load archive files to and from a table in my database?” Solution To save a file to DB, export the archive to memory stream using the TppStreamDevice.OutputStream property, then copy that to a TBlobStream which can easily be saved to a DB. If the archives are already saved to file, create Full Article…
How To…Export an Archive to Stream
Question “Is is possible to export an archive directly to a memory stream?” Solution Starting with ReportBuilder 9, it is possible to use the TppStreamDevice.OutputStream property to export a report directly to a memory stream. Note that you will need to create and manage the string yourself once you take control of it. Download: ArchiveToStream.zip Full Article…
How To…Add a Drawcommand to a Page
Question “How do I add items to an archived page before viewing or printing with the Archive Reader?” Solution Create a generic TppRasterDevice and implement its OnPageReceive event to add a drawcommand to the page before the report is rendered. Download: ArchiveReaderAddDrawCommand.zip Sample Delphi code: procedure TForm1.ppArchiveReader1BeforePrint(Sender: TObject); var lDevice: TppDevice; begin // get reference Full Article…
Archive to Blob
TECH TIP: Loading an Archive File to a Blob (or memory stream) You can easily write a routine to take a .RAF file and load it into a blob field or a TMemoryStream: myFileStream := TFileStream.Create('myArhcive.RAF', fmOpenRead); myFileStream.Position := 0; myBlobField.LoadFromStream(myFileStream); myFileStream.Free; OR myMemoryStream := TMemoryStream.Create; {note: passing 0 as the second parameter will copy the Full Article…
RB 16
Delphi XE7 and XE8 support for VCL Win32 Delphi XE7 and XE8 support for VCL Win64 New Delphi XE7/XE8 REST Service components* New Delphi XE7/XE8 Mobile Client components* * RB Enterprise for XE7/XE8 only REST Service Components All New Quickly and easily build a REST server to publish RB reports Components: RestService, processes REST requests Full Article…
RB 15
Delphi XE5 support for VCL Win32 Delphi XE5 support for VCL Win64 Delphi XE4 support for VCL Win32 Delphi XE4 support for VCL Win64 Designer Zoom support for Design workspace New rendering architecture for scaling workspace, components Undo support for add/remove design layers Added Design Layer ‘delete with components’ menu item ReportTree, added component popup Full Article…
RB 14
Delphi XE3 support for VCL Win32 Delphi XE3 support for VCL Win64 Delphi XE2 support for VCL Win32 Delphi XE2 support for VCL Win64 Design Layers Separate layout elements into logical layers Load/save design layers (example std header/footer or watermark) Prevent users from adding, selecting, moving, deleting elements Prevent users from seeing, selecting, deleting layers Full Article…
RB 12
International new Extensible Language Architecture Report Output Enhancements new PDF Encryption new PDF Unicode support new PDF Font subsetting (embeds only chars used) new RTF Device new Doc Device new XLSReport Device new XLSData Device new Bmp Device new JPEG Device new EMf Device new Gif Device new Png Device (D2009 & later) new Tif Full Article…
RB 11
Digital Metaphors Corporation announces the release of ReportBuilder 11.0! ReportBuilder 11.0 includes VCL Win32 support for Delphi 2009, 2007, 2006, 2005, Delphi 7, and Delphi 6. Version 11.0 – 9/24/2008 Delphi 2009 support! Unicode support! (Delphi 2009 only) New state of the art installer Complete Windows Vista compatibility Unicode (Delphi 2009 only) Full Unicode VCL Full Article…
RB 10
Version 10.0 – 2/1/2006 Delphi 2006 support Designer Enhancements Internal architecture – extensive rewrite XP style toolbars (supports themes) XP style menus (support themes) XP style popup menu (supports themes) XP style tabbed notebook XP style dockable tool windows XP style icons Enhanced Object Inspector to support multi-selection Enhanced popup menus to support multi-selection RAP Full Article…