Book Image

Pentaho 8 Reporting for Java Developers

By : Jasmine Kaur, Francesco Corti
Book Image

Pentaho 8 Reporting for Java Developers

By: Jasmine Kaur, Francesco Corti

Overview of this book

This hands-on tutorial, filled with exercises and examples, introduces the reader to a variety of concepts within Pentaho Reporting. With screenshots that show you how reports look at design time as well as how they should look when rendered as PDF, Excel, HTML, Text, Rich-Text-File, XML, and CSV, this book also contains complete example source code that you can copy and paste into your environment to get up-and-running quickly. Updated to cover the features of Pentaho 8, this book will teach you everything you need to know to build fast, efficient reports using Pentaho. If your interest lies in the technical details of creating reports and you want to see how to solve common reporting problems with a minimum of fuss, this is the book for you.
Table of Contents (25 chapters)
Title Page
Credits
About the Author
About the Reviewers
www.PacktPub.com
Customer Feedback
Dedication
Preface

Understanding the serialized report format


In the previous chapters, you have already seen the format of Pentaho reports, saved as .prpt bundle files. The .prpt format is a ZIP file format that includes all the necessary resources to render a report, also referred to as a bundle. The .prpt bundle file contains a set of XML files that are crucial to render a report, as well as additional resources, such as embedded images and subreports. This format is based on the OpenDocument format.

This section goes into detail about each of the primary files that make up a report, along with providing a simple example of a report written by hand. With the knowledge of the underlying file format, it is possible to generate reports outside of the Java environment.

Anatomy of a .prpt bundle file

To share the exact details of a .prpt bundle file, let's start with a concrete example. Feel free to choose a Pentaho report, randomly chosen from the ones that you already have in your development environment, or...