Menu
HOME > RM 7

ReportMill 7 Download

RM 6 is available here


Development
This is a link to the ReportMill design application. The design application is a Swing Java Web Start application. If you aren't familiar with Java Web Start or if you aren't sure if you have it installed, click here, otherwise:

Click Here to Launch ReportMill 7

Deployment
For deployment or to run the design app from the command line, please download ReportMill7.jar.

Running the design app from the command line
It's also easy to launch the ReportMill layout application from the command line:
prompt> java -cp \Temp\ReportMill7.jar com.reportmill.App

WebObjects
For deployment with Apple WebObjects, you will also need RM7WebObjects.tgz.


Release Notes RM7

Overview
ReportMill 7 has numerous enhancements including our new "Clean and Simple" file format, native Excel generation, direct printing APIs, a new public Swing viewer component, performance optimizations and full support of our low level API (with complete JavaDoc).

Clean and Simple file format
ReportMill 7 introduces a much more efficient and human readable file format, in the style of XSL or SVG - only more readable and much more powerful. The best way to edit a template is still with the powerful layout application, but now a basic document file looks like this:

<document margins="36 36 540 720" >
<page width="612" height="792" >
<text x="200" y="200" width="200" height="100" >
<font name="Arial Bold" size="16" />
<string>Hello World!</string>
</text>
</page>
</document>

This makes it easy for developers to generate templates programmatically or edit them by hand. Additionally, the new file format is up to 10 times smaller than the previous file format, which makes it more memory efficient and faster to load.

Excel Generation
ReportMill now generates Excel files using the OpenSource Poi project. Simply download a copy of their jar (http://jakarta.apache.org/poi) and call the following API:

RMDocument template = new RMDocument(aSource);
RMDocument report = template.generateReport(myJavaDataSet);
byte xls[] = report.xlsBytes();

Direct Printing and Swing Viewing
ReportMill has a new publicly supported Swing Viewer, which also supports a simple direct printing API:

// Create Swing viewer component
RMViewer viewer = new RMViewer();
viewer.setDocument(myDocument);
myJPanel.add(new JScrollPane(viewer));

// Direct printing
new RMViewer(myDocument).print(); // or you can specify printer name

Full Support of Low-Level API
Because ReportMill has such a powerful design application, few developers need to use anything more than one line of code:

new RMDocument(aSource).generateReport(myObjects).writePDF("MyReport.pdf");

However, it's now easy to create templates programmatically:

RMDocument template = new RMDocument(612, 792);
RMTable table = new RMTable();
template.getPage(0).addChild(table);
table.setBounds(36, 36, 540, 720);
table.getRow(0).getColumn(0).setText("Title: @title@");