Sunday 29 November 2020

Display Base64 content as image in Jaspersoft Reports

Problem statement:
Display Base64 database field as an image in  Jasper Reports. 

As on writing this page , test results showed me that byte[] data type is supported in studio to display image but not in server and eventually ended up with byte[] unsupported errors messages on jasper console.  

Software's used: 
Studio professional 7.8, "PostgreSQL 9.3.20, compiled by Visual C++ build 1600, 64-bit"

Studio design:

Output in Studio: 


SQL for creating a sample table containing Base64 image data. 

CREATE TABLE public.base64image (
	id serial PRIMARY KEY,
	image_base64 varchar(5000000) NULL
);
INSERT INTO base64image
(id,image_base64)
VALUES(1, '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');
select * from base64image where id=1

Design Steps: 
1. Drag and drop image component from Palette. 
2. In the properties, open Expression Editor on Image tab and write below expression. 

net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))

3. Save the report and Preview in Studio or Publish and run the report in JasperServer. 


JRXML: Works in 7.8 Pro Studio or later
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.21.final using JasperReports Library version 6.4.1  -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Base64ImageSadakar" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="35e03267-2cbe-4840-a4ed-41342e5a701c">
	<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
	<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
	<property name="ireport.jasperserver.user" value="superuser"/>
	<property name="ireport.jasperserver.reportUnit" value="/Explore/Base64ImageSadakar"/>
	<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="420"/>
	<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="566"/>
	<property name="ireport.jasperserver.report.resource" value="/Explore/Base64ImageSadakar_files/main_jrxml"/>
	<queryString language="SQL">
		<![CDATA[select * from base64image where id=1]]>
	</queryString>
	<field name="id" class="java.lang.Integer"/>
	<field name="image_base64" class="java.lang.String"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<summary>
		<band height="288">
			<image scaleImage="FillFrame" isUsingCache="false" evaluationTime="Report">
				<reportElement x="0" y="0" width="230" height="250" uuid="66f3d413-a9e1-4510-986b-7b66e323355a"/>
				<box>
					<pen lineColor="#BBBFBD"/>
					<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
					<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
					<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
					<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
				</box>
				<graphicElement fill="Solid"/>
				<imageExpression><![CDATA[net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))]]></imageExpression>
			</image>
		</band>
	</summary>
</jasperReport>

References: 

Get Base64 encoding @ https://base64.guru/converter/encode/image


Monday 23 November 2020

Fusion Angular Gauge Chart example as ArcGauge in Jasper Reports | How to remove dial, pointer and show value with percentage for Angular Gauge Fusion widget in Jasper Reports

 In this post, you would learn how to implement a ArcGuage with value displayed with percentage (%) using Fusion Widget Pro - Angular Gauge chart. 

Problem Statement : 
Convert fusion widget "Angular Gauge" chart as "Arc Gauge" with percentage(%) value displayed OR say ArcGauge with progress from 1 to 100%. 

NOTE : Tap on to the images to get the original view of screenshots taken. 

Report Design:

Sample output


Key Implementations: 
1) Max and min values : 1 to 100 
    Once the color ranges applied the graph auto takes the range from 1 to 100 scale 
     


2) Remove Dial & Pointer 
Pointer : Give everything white colored as below to get rid of circular pointer
Dial: Give properties as shown below to get rid of Dial , Navigation : Widget Date > Anular Dials

3) Show Value ,  Font Size , Percentage Symbol 
Show value:  In the advaned properties add showValue=true (although you would have checkbox in the widget general properites. 
Font Size: As shown in below image , navigate to "Widget Configuration" > Common Options > Apply the size and color for value to be displayed as percentage


Percentage Symbol: 
In the advanced properties give numberSuffix="%"

All Advanced properties: 



JRXML : Developed using 7.8.0 professional version of Studio, it should work in same or higher versions. 

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Angular Gauge Fusion Widget New" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="dcd1c309-22a0-4406-a92a-fcadefb6187c"> <property name="com.jaspersoft.studio.data.sql.tables" value=""/> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/> <property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/> <property name="ireport.jasperserver.user" value="superuser"/> <property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New_files/main_jrxml"/> <property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New"/> <queryString language="SQL"> <![CDATA[select 75 as value from customer limit 1]]> </queryString> <field name="value" class="java.lang.Integer"> <property name="com.jaspersoft.studio.field.name" value="value"/> <property name="com.jaspersoft.studio.field.label" value="value"/> </field> <background> <band splitType="Stretch"/> </background> <summary> <band height="320" splitType="Stretch"> <componentElement> <reportElement x="0" y="50" width="268" height="270" uuid="88e7e1c6-5a3a-4830-849e-3b4632885f18"/> <fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd"> <dataset resetType="Report"/> <fw:dial> <fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression> </fw:dial> </fw:angularGauge> </componentElement> <componentElement> <reportElement x="290" y="50" width="268" height="270" uuid="8c9b13f3-f9ed-4c98-8962-d9583baac1dd"/> <fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd"> <fw:widgetProperty name="showShadow"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="setAdaptiveMin"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="showTickMarks"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="showLimits"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="showTickValues"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="pivotFillColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="pivotBorderColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="showGaugeBorder"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="pivotFillAlpha"> <fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="pivotFillAngle"> <fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="pivotBorderAlpha"> <fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="gaugeBorderColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="animation"> <fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="borderColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="baseFontSize"> <fw:propertyExpression><![CDATA[new Integer(35)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="baseFont"> <fw:propertyExpression><![CDATA["Arial Black"]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="baseFontColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-16777216)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="bgColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="showValue"> <fw:propertyExpression><![CDATA[true]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="numberSuffix"> <fw:propertyExpression><![CDATA["%"]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="gaugeInnerRadius"> <fw:propertyExpression><![CDATA[90]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="gaugeBorderAlpha"> <fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression> </fw:widgetProperty> <fw:widgetProperty name="paletteThemeColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:widgetProperty> <fw:colorRange color="#8CBD2A"> <fw:minValueExpression><![CDATA[new Integer(0)]]></fw:minValueExpression> <fw:maxValueExpression><![CDATA[$F{value}]]></fw:maxValueExpression> <fw:labelExpression><![CDATA["green"]]></fw:labelExpression> </fw:colorRange> <fw:colorRange color="#E6E6E6"> <fw:minValueExpression><![CDATA[$F{value}]]></fw:minValueExpression> <fw:maxValueExpression><![CDATA[new Integer(100)]]></fw:maxValueExpression> <fw:labelExpression><![CDATA["ash"]]></fw:labelExpression> </fw:colorRange> <dataset resetType="Report"/> <fw:dial> <fw:dialProperty name="borderColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:dialProperty> <fw:dialProperty name="bgColor"> <fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression> </fw:dialProperty> <fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression> </fw:dial> </fw:angularGauge> </componentElement> <textField> <reportElement x="0" y="10" width="270" height="30" uuid="086f3b75-085a-4088-9c29-5a0f7837ccc8"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font size="12" isBold="true"/> </textElement> <textFieldExpression><![CDATA["Default Angular Gauge"]]></textFieldExpression> </textField> <textField> <reportElement x="290" y="10" width="270" height="30" uuid="3db4bc99-9491-4f9e-b23e-5fcfb90038ac"/> <textElement textAlignment="Center" verticalAlignment="Middle"> <font size="12" isBold="true"/> </textElement> <textFieldExpression><![CDATA["Angular Gauge As Progress Guage"]]></textFieldExpression> </textField> </band> </summary> </jasperReport>

Sunday 22 November 2020

ArcGuage HTML-5 chart example in jaspersoft reports | How to format "DataLabel" for ArcGuage chart in Jaspersoft Design Studio ?

Hi, 
In this post, you would lean how to implement "ArcGuage" HTML-5 chart in jasper reports. 

1.  Drag and Drop "ArcGauge" from HTML-5 charts. 
2. Configure query value or modify existing value for "Measure". 
3. Apply advanced properties for the chart. 

Example Developed on :
7.8 TIBCO Jaspersoft Studio Professional and expect to work on same on higher versions. 
7.8 Enterprise JasperReports Server

Design: 


Output: 


Key implementations: (or Advanced Properties Applied on ArcGuage chart)

1. Format -->75%

plotOptions.solidgauge.dataLabels.format = "{point.y}%"  (Use Expression)



2. fontSize --> 20px
plotOptions.solidgauge.dataLabels.fontSize=20px (with out expression checked)


3.Datalabel.y --> 10
plotOptions.solidgauge.dataLabels.y=10 (with expression checked)


JRXML:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f  -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="GuagueCharts" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f27937b3-0ad1-4a1e-a658-f3719eeec5fa">
	<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
	<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
	<property name="ireport.jasperserver.user" value="superuser"/>
	<property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/GuagueCharts_files/main_jrxml"/>
	<property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/GuagueCharts"/>
	<queryString language="SQL">
		<![CDATA[select 1 as One]]>
	</queryString>
	<field name="one" class="java.lang.Integer">
		<property name="com.jaspersoft.studio.field.name" value="one"/>
		<property name="com.jaspersoft.studio.field.label" value="one"/>
	</field>
	<title>
		<band height="433" splitType="Stretch">
			<componentElement>
				<reportElement x="360" y="130" width="190" height="190" uuid="903e1a78-2f90-4af9-a8fa-5d005b912bc6"/>
				<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
					<hc:chartSetting name="default">
						<hc:chartProperty name="title.text" value=""/>
						<hc:chartProperty name="credits.enabled" value="false"/>
						<hc:chartProperty name="credits.href" value=""/>
						<hc:chartProperty name="credits.text" value=""/>
						<hc:chartProperty name="yAxis.title.text" value=""/>
						<hc:chartProperty name="chart.zoomType" value="xy"/>
						<hc:chartProperty name="yAxis.labels.y">
							<hc:propertyExpression><![CDATA[-45]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="colors_customSimpleMode" value="true"/>
						<hc:chartProperty name="colors">
							<hc:propertyExpression><![CDATA[Arrays.asList("#FFBA2C","#434348","#90ed7d","#f7a35c","#8085e9","#f15c80","#e4d354","#2b908f","#f45b5b","#91e8e1")]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="chart.borderRadius_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
						<hc:chartProperty name="chart.borderRadius_customSimpleMode" value="true"/>
						<hc:chartProperty name="chart.borderRadius">
							<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="chart.borderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
						<hc:chartProperty name="chart.borderWidth_customSimpleMode" value="true"/>
						<hc:chartProperty name="chart.borderWidth">
							<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="chart.plotBorderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
						<hc:chartProperty name="chart.plotBorderWidth_customSimpleMode" value="true"/>
						<hc:chartProperty name="chart.plotBorderWidth">
							<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="plotOptions.series.lineWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
						<hc:chartProperty name="plotOptions.series.lineWidth_customSimpleMode" value="true"/>
						<hc:chartProperty name="plotOptions.series.lineWidth">
							<hc:propertyExpression><![CDATA[2]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="plotOptions.solidgauge.rounded_customSimpleMode" value="true"/>
						<hc:chartProperty name="plotOptions.solidgauge.rounded">
							<hc:propertyExpression><![CDATA[true]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="plotOptions.solidgauge.dataLabels.style.fontSize" value="20px"/>
						<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y_customSimpleMode" value="true"/>
						<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y">
							<hc:propertyExpression><![CDATA[10]]></hc:propertyExpression>
						</hc:chartProperty>
						<hc:chartProperty name="plotOptions.solidgauge.dataLabels.format">
							<hc:propertyExpression><![CDATA[" {point.y} % "]]></hc:propertyExpression>
						</hc:chartProperty>
					</hc:chartSetting>
					<multiAxisData>
						<multiAxisDataset>
							<dataset resetType="Report"/>
						</multiAxisDataset>
						<dataAxis axis="Rows">
							<axisLevel name="Level1">
								<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
								<axisLevelBucket class="java.lang.Comparable">
									<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
								</axisLevelBucket>
							</axisLevel>
						</dataAxis>
						<dataAxis axis="Columns"/>
						<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
							<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
							<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
						</multiAxisMeasure>
					</multiAxisData>
					<hc:series name="Measure1"/>
				</hc:chart>
			</componentElement>
			<componentElement>
				<reportElement x="20" y="130" width="190" height="190" uuid="4e9d2f6d-3ed7-432f-b03f-692decdd6abf"/>
				<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
					<hc:chartSetting name="default">
						<hc:chartProperty name="title.text" value=""/>
						<hc:chartProperty name="credits.enabled" value="false"/>
						<hc:chartProperty name="credits.href" value=""/>
						<hc:chartProperty name="credits.text" value=""/>
						<hc:chartProperty name="yAxis.title.text" value=""/>
						<hc:chartProperty name="chart.zoomType" value="xy"/>
						<hc:chartProperty name="com.jaspersoft.studio.highcharts.dataconfiguration.simple" value="true"/>
					</hc:chartSetting>
					<multiAxisData>
						<multiAxisDataset>
							<dataset resetType="Report"/>
						</multiAxisDataset>
						<dataAxis axis="Rows">
							<axisLevel name="Level1">
								<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
								<axisLevelBucket class="java.lang.Comparable">
									<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
								</axisLevelBucket>
							</axisLevel>
						</dataAxis>
						<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
							<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
							<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
						</multiAxisMeasure>
					</multiAxisData>
				</hc:chart>
			</componentElement>
			<textField>
				<reportElement x="20" y="25" width="524" height="30" uuid="f7ce943c-5507-4840-b765-50dda242be63"/>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font size="14" isBold="true"/>
				</textElement>
				<textFieldExpression><![CDATA["ArcGauge Example in Jaspersoft Reports"]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="20" y="100" width="190" height="30" uuid="0a91f891-9ee2-40c0-8922-777a80a66441"/>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font size="14" isBold="true"/>
				</textElement>
				<textFieldExpression><![CDATA["From"]]></textFieldExpression>
			</textField>
			<textField>
				<reportElement x="354" y="100" width="190" height="30" uuid="889ebff8-e786-427d-ac3f-33ae603875b2"/>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font size="14" isBold="true"/>
				</textElement>
				<textFieldExpression><![CDATA["TO"]]></textFieldExpression>
			</textField>
		</band>
	</title>
</jasperReport>