Reporting Tips

Booklet Output

Creating an A5 booklet is a frequent requirement. There are three ways to achieve this.

  • Many print drivers have direct support to print an A5 booklet from a normal A4 document. This is the suggested method because it has the flexibility of leaving the output layout until print time, allowing different users to choose their preferred format.

  • Adobe Acrobat Reader has a built-in booklet preprocessor for PDF files. Modern versions of Microsoft Word can save documents as PDF files directly, or you could use Windows 10’s built-in (but less efficient) Microsoft Print to PDF print driver.

  • BDM Reporting has direct support for Word’s BookFold feature. However, this does not scale the fonts, nor automatically set the correct duplexing mode when printing.

Controlling Column Breaks

You can specify multiple columns for the report with the Report.ColumnCount property. This simply sets the Word document column count so that text flows down the column and then onto the next one.

If you set the Deal.SeparateColumn property to true, then deals are separated by a column break, meaning that each deal starts at the top of a column (or page).

Sometimes you might want to insert a column break in the middle of the deal output, such as if you have questions in the Intro text and answers in the Analysis text that you want to appear on the next page. You can generate a column break by inserting a CustomText item and setting its WithColumnBreak property to true.

Keeping Deals Together Within Column/Page

Sometimes you don’t necessarily want each deal to start at the top of a column or page, but you do want to keep each deal together without splitting across a boundary. A good technique for that is to set the Paragraph.KeepWithNext properties to true for all items (and TitleParagraph.KeepWithNext for any titles), and add a final CustomText item with Paragraph.KeepWithNext set to false.

Keeping Tables Together Within Column/Page

Even if you don’t mind deals being split across column/page boundaries, you may well want a table not to be split. Again you can set Paragraph.KeepWithNext for the item (and any contents if it is a custom Table). Then make sure the following item has the property set to false, adding a CustomText item after the table if necessary.

Preventing Word Tables Merging

In Word, tables merge if they are adjacent with nothing between. Obviously you can prevent this by inserting a CustomText item, but the situation is so common that all items that output Word tables have an InsertParagraphBefore property specifically for this.