Jump to content

BIRT Developer Center Download

Most Liked Content

#25701 Welcome to the Deploying and Integrating BIRT Report Engine Forum

Posted by Virgil on 10 August 2007 - 02:30 PM

As one of the moderators for this forum, I would like to extend a warm welcome to all the subscribers of this forum.This forum is for questions about deploying your BIRT reports and charts or integrating the BIRT Runtime within your applications. This is also the place for questions about the Report Engine API, customizing or extending BIRT and other application integration topics.If you're here to learn, hit the back button to get to the previous page (when you're done reading, of course) and select "Watch Forum". You can choose to get daily or weekly emails on the topics in this forum.If you want to ask a question, select the "Start New Topic" button.Virgil DodsonBIRT EvangelistActuate Corporation
  • BGee, avalencia, Channamari and 2 others like this

#25697 Welcome to the Designing BIRT Reports Forum

Posted by Virgil on 10 August 2007 - 02:11 PM

As one of the moderators for this forum, I would like to extend a warm welcome to all the subscribers of this forum. This forum is for your questions about designing BIRT reports. This includes questions on accessing data, using report controls, report layout, properties, scripting, templates, libraries, and using the Design Engine API and anything else related to the report design process.If you're here to learn, hit the back button to get to the previous page (when you're done reading, of course) and select "Watch Forum". You can choose to get daily or weekly emails on the topics in this forum.If you want to ask a question, select the "Start New Topic" button.Virgil DodsonBIRT EvangelistActuate Corporation
  • nidhisheel and SLawley like this

#130732 Adding Data Sources to BIRT iHub F-Type

Posted by uvmowl on 12 September 2014 - 07:46 AM

I have successfully been able to upload and display my own reports in BIRT iHub F-Type.   When I try to create a new report it only has the sample data available.   I have searched all the documentation and I can't see how I can add a new Datasource to the iHub F-Type.   Thanks

  • Xiaoquan Wu, coolcgp and Qingnan Zhao like this

#129099 BIRT Runtime and Excel data sources

Posted by pricher on 02 July 2014 - 04:57 AM



When you define your Data Source and you point to your Excel file, are you using a Relative or an Absolute path? If you use an Absolute path, it will work. To define the source as an absolute path, click on the little down arrow on the Browse button. By default, if you click only on the browse button, the path is relative to your BIRT project. There might be a way to configure the runtime engine to use a relative path, but I have not found it. Using Absolute path is your best bet!


Hope this helps,



  • Thirumal, redgatormc and thbritz like this

#126623 BIRT support for Rich text format

Posted by Dharmendra on 05 March 2014 - 05:46 PM

Hi All, We are designing a report in which we need to display data in a field. This data comes from database and has RTF tags embedded. When the data is rendered RTF tags are not converted by BIRT and are displayed as it is. Please let us know if BIRT supports displaying RTF data and if it does, what changes we need to make.

  • balconsult likes this

#125340 optional parameter

Posted by sumathra on 29 January 2014 - 03:52 AM

k fine 

  • if i select "Country" and product line "Classic cars", press "Run Report" and the report data well --1 screenshot
  • if i  select "State" and product line "Classic cars", press "Run Report" and the report the report data well --2 screenshot
  • if i  select "city" and product line "Classic cars", press "Run Report" and the report the report data well --3 screenshot

but again 

  • if i again select "country" and product line "Classic cars", press "Run Report" and the report data appear for city only not for country --4 screenshot ...thats my problem so previous value is not clear ...

Look at the Screenshot..

Attached Files

  • Attached File  1.png   386.66KB   1 downloads
  • Attached File  2.png   434.44KB   0 downloads
  • Attached File  3.png   376.39KB   0 downloads
  • Attached File  4.png   376.81KB   0 downloads

  • 404040, fmakwsi and SyN like this

#120083 Populatind report library elements using DEAPI from beforeFactory method

Posted by apaine on 10 September 2013 - 04:57 AM

Regarding your code, I would put it in onPrepare rather than beforeFactory. If you have it in onPrepare you can then put other code in the onPrepare script of your library elements to dynamically configure them before they are generated.

Also, I recommend writing as a Java event handler rather than javascript as you can quickly find the quantity of code you need is difficult to manage and debug in javascript.


Getting this sort of code working is pretty easy. The challenge is building a flexible, reusable framework that can be used for different types of content. e.g., what if you want to adjust the size of the components so that one of them spans two columns?  


The application I built is a rich framework of UI components to let users configure custom reports via a web interface. Users drag and drop  prebuilt library components from a palette to build new designs. They can resize them, change component settings, choose master pages, choose themes etc before saving the result either as metadata to create the report or as the finished report itself.




There are 100s of hours of work in building such a framework and we could help save you a lot of work if you want to use our help to get started.



  • mblock, Shasha and actuser9 like this

#57770 Generate Tiltle1, Title2, Title3 in Word

Posted by xmoulin on 08 December 2009 - 07:59 AM

My goal is to generate a word document with BIRT. I just look how to translate my sentence in others words: Iím talking about Outline Numbered (Heading Numbering) in Microsoft Word, there is different heading style (Heading 1 through 9) -> Is it possible to generate a WORD BIRT report using heading style? Why? - Because my word application use custom style for Heading 1 through 9 -> So I don't have to duplicate those style - Because if my word document used Heading 1 to 9, I'll be able to generate a Table Of Contents easily. - I want to merge 2 documents in 1, the first one used Heading 1 to 9 so if the second one should used same style, it will be wonderful.

Attached Files

  • Draven Braylon Noel and aanglade like this

#40265 Linking the Parameters to the Reports

Posted by minawi on 11 December 2008 - 03:30 PM

Reading this article gave me what I want for a parameter page
BIRT World: 2.2 BIRT Tag Library: Building a Custom Parameter Page
But what was missing in the article is how to link the parameters we collect to the report.

I appreciate any example or link to explain this issue
  • ippbxOa and tr15Mn like this

#146267 Infographics using BIRT

Posted by Clement Wong on 12 December 2016 - 04:13 PM

I just posted a DevShare example of an infographic report using OS BIRT 4.6.0 that showcases the capabilities of BIRT in a non-traditional 'report':


The report design is self contained for ease of demo purposes. It uses the sample Classic Models database, and has the images embedded in the report.  It should work in previous versions, but I didn't test out.


Here are some notes about the techniques used:

-- Grids were used to align report items such as images, text and data items. Image elements were split in two, into a top and bottom segments, in a photo editing program.

-- The first chart utilizes a technique to illustrate the use of DIV tags to display the bar chart.

-- The second chart is a Open Source BIRT chart with its beforeGeneration event modified similar to this DevShare:


C ommercial BIRT provides even more features not available in Open Source BIRT such HTML5 Charts and Maps, and Custom Visualizations that can include other JavaScript Visualization packages such as D3.js or Google Maps. See this DevShare for commercial BIRT Infographic (aka InfographiX) examples:


And you can download the commercial Designer for free without any trial limits:



Attached File  BIRT Happy Holidays 2016 Infographic Elements Preview.png   262.38KB   0 downloads


  • mblock and Matthew L. like this

#143917 Rotate text 90 degrees

Posted by Matthew L. on 18 May 2016 - 05:51 AM

Hello Tim,


I found the following pre-compiled jar files based on the 2.5.2 version:



I am unsure what the "birt.functions.lib_2.6.1.11.jar" is for however downloading the following jars worked for me:




Just drop the 2 jar files in your /eclipse/plugins/ folder and launch BIRT.

You should then see two new items in your Palette, DotBar and RotatedText.


Also for reference, here is some API you can use with the RotateText plugin:

elementFactory = reportContext.getReportRunnable().designHandle.getElementFactory();  //get a reference to the ElementFactory

rotatedText=elementFactory.newExtendedItem("ex1", "RotatedText");  //Create new RotatedText element
rotatedText.setProperty("rotationAngle", "90");
rotatedText.setProperty("text", "\"Test\"");
rotatedText.setProperty("wrapPoint", "0in");
rotatedText.setProperty("linkURL", "\"http://www.Actuate.com\"");  //You can also use a relative path
rotatedText.setProperty("fontFamily", "sans-serif");
rotatedText.setProperty("fontSize", "30pt");
rotatedText.setProperty("fontStyle", "italic");  //Options:  "normal" or "italic"
rotatedText.setProperty("fontWeight", "bold");  //Options:  "normal" or "bold"
rotatedText.setProperty("color", "#FF0000");

reportContext.getReportRunnable().designHandle.getBody().add(rotatedText);  //Add rotatedText element to report body

  • Clement Wong and Shasha like this


Posted by Clement Wong on 31 July 2015 - 08:58 PM

Attached is a sample using commercial BIRT (iHub 3.1) that shows two x-axis or grouped x-axis using HTML5 charts.


1. Changed the Category X Axis to:  row["COUNTRY"] +":"+ row["STATE"]

We will later parse out the two levels using JavaScript's split function.


2. Modified beforeDrawAxis event to change height of chart to make room for 2nd x-axis.  Parsed out the subgroup (in example it is STATE) and change the labels.


3. Added a script in the Chart Area > Load event to build out the new parent group for the 2nd x-axis, built out the tick marks to separate the parent group, added the 2nd x-axis and then formated the labels by centering them.


Attached File  Two Level X AXis.png   21.58KB   9 downloads

  • Clement Wong and RRK like this

#130839 ISSUE: Network DNS resolution / URL rewrite issue with F-Type - Problem And S...

Posted by mharfeld on 19 September 2014 - 10:37 AM

Description of the issue:
We are using IIS on an Azure Windows 2012 server and an index.html page with embedded JavaScript to render the report within a web page.
Client machine is running Chrome.
The web page looks fine when run on the server itself.  
When the web page is opened from an external client, one of the charts and one image is not able to be resolved.
In looking at the issue using Chrome developer tools, we see that the URL is being rewritten incorrectly.
The machine name is appended to the front of the URL and a "b1.internal" is injected into the DNS name.
The BIRT server turns the URL mymachinename.cloudapp.net into mymachinename.mymachinename.b1.internal.cloudapp.net at runtime, 
which of course means we get "object not found" errors on the web page.
Here is the HTML page we are using -->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<div id="viewer1">
<script type='text/javascript' language='JavaScript' src='http://mymachinename...iportal/jsapi'>
<script type="text/javascript" language="JavaScript">
var reqOps = new actuate.RequestOptions( );
reqOps.setVolume('Default Volume');
actuate.initialize( 'http://mymachinename...ned?null:reqOps, null,null,myInit );
function myInit(){viewer1 = new actuate.Viewer( 'container1' );
var options = new actuate.viewer.UIOptions( );
viewer1.setUIOptions( options );
<div id='container1' style='border-width: 0px; border-style: solid;'>
Go to
edit the file named web.xml
add a parameter value for the parameter named PROXY_BASEURL
Problem solved!!!!
Special thanks to Mica Block from the F-Type Team for this solution!!

  • mblock and bjenkins like this

#129938 google maps/ openstreet maps in BIRT

Posted by Clement Wong on 05 August 2014 - 04:34 PM



Is there any feature/extension/script available for mapit library that can take the advantage of marker clustering in google maps? For example, if there are too many icons to be plotted which become hard to read and instead we put some cluster showing the number of icons/value in that area and then we can zoom into it. Something similar to the attached image?





Yes, the library does not support clustering, but it is possible to extend the BIRT Online Maps to allow for clustering.


Attached is very basic sample of using the MarkerClusterer method of Google Map clustering (https://developers.g...markerclusterer).  The example is only a prototype and doesn't extend, but overwrites existing functionality.


Two modifications in BIRT Online Maps library were made:


1. Stylized the map

var mapStyle = [
                            featureType: "poi.park",
                            stylers: [
                              { hue: "#00d4ff" },
                              { visibility: "simplified" },
                              { lightness: 22 }
                            featureType: "administrative.country",
                            stylers: [
                              { visibility: "simplified" }
                            featureType: "administrative.province",
                            stylers: [
                              { visibility: "simplified" }
                            featureType: "administrative.locality",
                            stylers: [
                              { visibility: "off" }
                            featureType: "water",
                            stylers: [
                              { saturation: 43 },
                              { hue: "#00e5ff" },
                              { lightness: 84 }
                            featureType: "landscape",
                            elementType: "geometry",
                            stylers: [
                              { hue: "#00d4ff" },
                              { lightness: -2 },
                              { saturation: 36 }
                            featureType: "road",
                            stylers: [
                              { hue: "#00c3ff" },
                              { lightness: 34 },
                              { saturation: -41 }
                            featureType: "administrative.country",
                            stylers: [
                              { hue: "#00aaff" },
                              { saturation: 18 },
                              { lightness: 30 }
                            featureType: "poi.attraction",
                            stylers: [
                              { hue: "#00bbff" }
                            featureType: "administrative.province",
                            stylers: [
                              { visibility: "off" }
                            featureType: "road",
                            elementType: "labels",
                            stylers: [
                              { visibility: "off" }
                            featureType: "road",
                            elementType: "geometry",
                            stylers: [
                              { visibility: "simplified" }
                            featureType: "transit.station.airport",
                            stylers: [
                              { hue: "#00c3ff" },
                              { saturation: 31 },
                              { lightness: 39 }
                            featureType: "poi",
                            stylers: [
                              { hue: "#00bbff" },
                              { saturation: 9 },
                              { visibility: "on" },
                              { lightness: 55 }
                            featureType: "landscape.man_made",
                            stylers: [
                              { lightness: 32 }
                            featureType: "road",
                            stylers: [
                              { lightness: 13 }
                            featureType: "transit.line",
                            stylers: [
                              { visibility: "off" }
                            featureType: "transit.station",
                            stylers: [
                              { visibility: "off" }
                            featureType: "administrative.neighborhood",
                            stylers: [
                              { saturation: 17 },
                              { lightness: 26 },
                              { hue: "#00b2ff" }
                            featureType: "landscape.natural",
                            elementType: "labels",
                            stylers: [
                              { visibility: "off" }

2. Loaded additional MarkerCluster Javascript API @ http://google-maps-u...rer_compiled.js


And changed the original funciton this.loadLocation(actuate.birt.maps.locations[i]) to insert into a marker array for use in a MarkerClusterer constructor (reference @ http://google-maps-u.../reference.html).

        if (actuate.birt.maps.locations != null && actuate.birt.maps.locations.length > 0) {
            var markers = [];
            for (i = 0; i < actuate.birt.maps.locations.length; i++) {
                // this.loadLocation(actuate.birt.maps.locations[i]);

                var latLng = new google.maps.LatLng(actuate.birt.maps.locations[i].lat,actuate.birt.maps.locations[i].lon);
                var marker = new google.maps.Marker({
                    position: latLng

            var markerCluster = new MarkerClusterer(this.map, markers);             


This prototype example has been tested in BIRT Designer Professional versions 11 SP4 Fix1 and iHub3, and will not work in OS BIRT 3.7x or 4.x.

Attached File  GoogleMap_MarkerClusterer.png   76.75KB   5 downloads

Attached Files

  • mblock and Cheesus Crust like this

#129365 Gantt Chart - alternate usage with multiple appearances per task label?

Posted by kclark on 14 July 2014 - 05:51 AM

Attached File  gantt.png   46.75KB   6 downloads


Take a look at the example I posted.  I had to use optional Y series grouping.  I used my start date for the grouping.  Then changed the type to "DateTime", Unit of "Hours" and "interval" of 1.  Let me know if this helps :)

Attached Files

  • hubba900 and SyN like this

#129085 BIRT and Google Maps - what am I doing wrong?

Posted by Clement Wong on 01 July 2014 - 03:26 PM

Hi All,

  I tried to follow the sample Green index, but in my case the map is rendered with default colors only, just the standard one, not green, yellow and red the way Puck Puck's Green Index example works. What am I missing. I have the pin address and I do an addAddress and also at the time I do an addAddress, I do know what the color of the pin should be. How can I fix it?




Hi Ravi,


The Pin color takes the color of the pin report item.  In the Green Index example, you'll notice that the [Pin] Data item has highlights based on various values.


To define a Pin, you'll need to set a Bookmark.  Looking at the Green Index example, select the [Pin] Data item and go to its Bookmark.  The definition is:

"Pin_" + row.__rownum

The BIRT Online Maps library searches for an HTML elements with prefix of IDs of "Pin_" when it builds the Google Maps Pins.


So it might be that your design is missing that step.

  • kclark and rveeraraghav like this

#128751 How to: Keep Headers Visible When Scrolling?

Posted by sachindhus on 19 June 2014 - 11:27 PM



I have developed report & integrated it in jsp. I want to fix header of report table when user scroll to down like excel sheet. Means header should always visible to user only table data will scroll. Is there any standard way to do this in birt? I am using BIRT 3.7. Please share necessary info to do this.




  • sachindhus and GauriB like this

#126662 Histogram support in BIRT

Posted by SyN on 11 March 2014 - 03:41 AM

Hi sirajm,


sorry i can't give you an example, but try setting your chart to type "bar chart" on the first tab of the "Edit chart" dialogue.

The rest depends on your provision of the data.

  • Jenkinsj5 and sirajm like this

#116378 How do i use word wrap in report design?

Posted by deepakrkgi on 30 April 2013 - 02:01 AM

hi myl for word wrap in birt .. double click on data (data in table like email_Id).. on popup window ckick on fx of expression column. Copy and paste following code change EMAIL_ID to ur dataSetRow name function wrap(longStr,width){ length = longStr.length; if(length <= width) return longStr; return (longStr.substring(0, width) + "\n" + wrap(longStr.substring(width, length), width)); } wrap( dataSetRow["EMAIL_ID"], 15 );
  • A.ASIKRAJA and aziela like this

#111434 Your Opinion Counts!

Posted by mmihaylov on 12 November 2012 - 11:33 AM

Help us help you. By filling out this survey, you provide us with valuable information on how you use BIRT and how you would like to see BIRT evolve.

Survey should take less than 3 minutes of your time.

2012 BIRT Survey

Mihail Mihaylov
BIRT Product Manager
  • Stephan Lau likes this