รายงานแบบอักษร

รายงานประกอบด้วยองค์ประกอบข้อความและแต่ละองค์ประกอบสามารถมีการตั้งค่าแบบอักษรของตัวเอง การตั้งค่าเหล่านี้สามารถระบุได้โดยใช้ปุ่ม <font> มีอยู่ในแท็ก <textElement> รายงานสามารถกำหนดฟอนต์ได้หลายแบบ เมื่อกำหนดแล้วสามารถใช้เป็นการตั้งค่าแบบอักษรเริ่มต้นหรือฐานสำหรับคำจำกัดความแบบอักษรอื่น ๆ ได้ตลอดทั้งรายงาน

รายงานแบบอักษร

แบบอักษรรายงานคือชุดของการตั้งค่าแบบอักษรซึ่งประกาศในระดับรายงาน แบบอักษรรายงานสามารถใช้ซ้ำได้ตลอดทั้งเทมเพลตรายงานเมื่อตั้งค่าคุณสมบัติแบบอักษรขององค์ประกอบข้อความ

แบบอักษรรายงานเลิกใช้งานแล้ว อย่าใช้องค์ประกอบ <reportFont /> ที่ประกาศภายในเอกสารเอง ใช้องค์ประกอบ <style /> แทน

แอตทริบิวต์แบบอักษร

ตารางด้านล่างสรุปคุณสมบัติหลักของ <font> องค์ประกอบ -

ส. อบจ คุณสมบัติและคำอธิบาย
1

fontName

ชื่อฟอนต์ซึ่งอาจเป็นชื่อของฟอนต์ทางกายภาพโลจิคัลหรือชื่อของตระกูลฟอนต์จากนามสกุลฟอนต์ JasperReports ที่ลงทะเบียน

2

size

ขนาดของแบบอักษรที่วัดเป็นจุด ค่าเริ่มต้นคือ 10

3

isBold

แฟล็กที่ระบุว่าต้องใช้ฟอนต์ตัวหนาหรือไม่ ค่าเริ่มต้นเป็นเท็จ

4

isItalic

แฟล็กที่ระบุว่าต้องใช้ฟอนต์ตัวเอียงหรือไม่ ค่าเริ่มต้นเป็นเท็จ

5

isUnderline

แฟล็กที่ระบุว่าจำเป็นต้องมีการตกแต่งข้อความขีดเส้นใต้หรือไม่ ค่าเริ่มต้นเป็นเท็จ

6

isStrikeThrough

แฟล็กที่ระบุว่าจำเป็นต้องมีการตกแต่งข้อความขีดทับหรือไม่ ค่าเริ่มต้นเป็นเท็จ

7

pdfFontName

ชื่อของแบบอักษร PDF ที่เทียบเท่าที่ไลบรารี iText ต้องการเมื่อส่งออกเอกสารเป็นรูปแบบ PDF

8

pdfEncoding

การเข้ารหัสอักขระ PDF ที่เทียบเท่ากันซึ่งจำเป็นสำหรับไลบรารี iText

9

isPdfEmbedded

แฟล็กที่ระบุว่าควรฝังฟอนต์ลงในเอกสารหรือไม่ ค่าเริ่มต้นเป็นเท็จ หากตั้งค่าเป็นจริงจะช่วยให้ดูเอกสาร PDF ได้โดยไม่มีปัญหา

ประเภทตัวอักษร

ในแบบอักษร JasperReports สามารถแบ่งประเภทเป็น -

  • Logical Fonts- แบบอักษรห้าแบบซึ่งได้รับการยอมรับจากแพลตฟอร์ม Java ตั้งแต่เวอร์ชัน 1.0 เรียกว่าแบบอักษรแบบลอจิคัล เหล่านี้คือ -Serif, SansSerif, Monospaced, Dialog, and DialogInput. ฟอนต์ตรรกะเหล่านี้ไม่ใช่ไลบรารีฟอนต์จริงที่ติดตั้งที่ใดก็ได้บนระบบ เป็นเพียงชื่อชนิดฟอนต์ที่รันไทม์ Java รู้จัก สิ่งเหล่านี้ต้องถูกแมปกับฟอนต์ฟิสิคัลบางตัวที่ติดตั้งบนระบบ

  • Physical Fonts- ฟอนต์เหล่านี้คือไลบรารีฟอนต์จริงซึ่งประกอบด้วยฟอนต์ TrueType หรือ PostScript Type 1 ฟอนต์ทางกายภาพอาจเป็น Arial, Time, Helvetica, Courier หรือฟอนต์อื่น ๆ รวมถึงฟอนต์สากล

  • Font Extensions- ไลบรารี JasperReports สามารถใช้ฟอนต์ที่ลงทะเบียนได้ทันทีที่รันไทม์ผ่านการรองรับส่วนขยายฟอนต์ในตัว รายการตระกูลฟอนต์สามารถใช้ได้กับ JasperReports โดยใช้นามสกุลฟอนต์ สิ่งเหล่านี้สร้างขึ้นจากหน้าตาแบบอักษรที่ดูคล้ายกันและรองรับภาษาที่เฉพาะเจาะจง

ตามที่อธิบายไว้ในตารางด้านบนเราจำเป็นต้องระบุในแอตทริบิวต์fontNameชื่อของแบบอักษรทางกายภาพชื่อของแบบอักษรตรรกะหรือชื่อของตระกูลแบบอักษรจากส่วนขยายแบบอักษร JasperReports ที่ลงทะเบียน

ชื่อแบบอักษร PDF

ไลบรารี JasperReports ใช้ไลบรารี iText เมื่อส่งออกรายงานเป็น PDF (Portable Document Format) ไฟล์ PDF สามารถดูได้บนแพลตฟอร์มต่างๆและจะมีลักษณะเหมือนกันเสมอ นี่เป็นบางส่วนเนื่องจากในรูปแบบนี้มีวิธีพิเศษในการจัดการกับฟอนต์ แอตทริบิวต์fontNameไม่มีประโยชน์เมื่อส่งออกเป็น PDF แอตทริบิวต์pdfFontNameมีอยู่ที่เราต้องระบุการตั้งค่าแบบอักษร

ไลบรารี iText รู้วิธีจัดการกับฟอนต์ในตัวและไฟล์ TTF และจดจำชื่อฟอนต์ในตัวต่อไปนี้ -

  • Courier
  • Courier-Bold
  • Courier-BoldOblique
  • Courier-Oblique
  • Helvetica
  • Helvetica-Bold
  • Helvetica-BoldOblique
  • Helvetica-Oblique
  • Symbol
  • Times-Roman
  • Times-Bold
  • Times-BoldItalic
  • Times-Italic
  • ZapfDingbats

ตามข้อกำหนดเบื้องต้นของไลบรารี iText ในการทำงานกับฟอนต์เราจำเป็นต้องระบุสิ่งใดสิ่งหนึ่งต่อไปนี้เป็นชื่อฟอนต์ -

  • ชื่อแบบอักษรในตัวจากรายการด้านบน

  • ชื่อของไฟล์ TTF (True Type Font) ซึ่งสามารถค้นหาได้บนดิสก์

  • ชื่อจริงของแบบอักษรโดยมีเงื่อนไขว่าไฟล์ TTF ที่มีแบบอักษรได้รับการลงทะเบียนก่อนหน้านี้กับ iText หรือมีการกำหนดนามแฝงเมื่อลงทะเบียนแบบอักษร

ตามข้อกำหนดเบื้องต้นข้างต้นแอตทริบิวต์pdfFontNameสามารถมีค่าใดค่าหนึ่งต่อไปนี้ -

  • ชื่อของแบบอักษร PDF ในตัวจากรายการด้านบน

  • ชื่อของไฟล์ TTF ที่สามารถอยู่บนดิสก์ขณะรันไทม์เมื่อส่งออกเป็น PDF

  • ชื่อจริงของแบบอักษรที่ลงทะเบียน

  • คำต่อท้ายของคีย์ (ส่วนหลังnet.sf.jasperreports.export.pdf.font ) สำหรับฟอนต์ที่ลงทะเบียนด้วย iText เป็นไฟล์ฟอนต์

แบบอักษรเริ่มต้นและการสืบทอด

องค์ประกอบข้อความแต่ละรายการจะสืบทอดแอตทริบิวต์แบบอักษรและสไตล์จากองค์ประกอบหลักซึ่งจะสืบทอดแอตทริบิวต์เหล่านี้จากพาเรนต์ หากไม่มีการกำหนดสไตล์และ / หรือฟอนต์สำหรับองค์ประกอบจะใช้สไตล์เริ่มต้น (และ / หรือฟอนต์ - แต่ตอนนี้เลิกใช้แล้ว) ที่ประกาศในอิลิเมนต์ราก <jasperReport /> จะถูกนำไปใช้

การกำหนดสไตล์หรือฟอนต์เริ่มต้นใน JasperReports ไม่บังคับ หากไม่มีการกำหนดฟอนต์สำหรับองค์ประกอบที่กำหนดเอ็นจินจะค้นหาแอตทริบิวต์ฟอนต์ที่สืบทอดมาหรือหากไม่พบแอ็ตทริบิวต์ด้วยวิธีนี้ก็จะค้นหาคุณสมบัติnet.sf.jasperreports.default.font.nameใน/ src / default.jasperreports.propertiesไฟล์ ค่าของมันกำหนดชื่อของตระกูลฟอนต์ที่จะใช้เมื่อคุณสมบัติฟอนต์ไม่ได้กำหนดไว้อย่างชัดเจนสำหรับองค์ประกอบข้อความหรือสืบทอดมาจากพาเรนต์

คุณสมบัติฟอนต์เริ่มต้นหลักและค่าที่กำหนดในไฟล์/src/default.jasperreports.propertiesอยู่ในตารางด้านล่าง -

ทรัพย์สิน คำอธิบาย
net.sf.jasperreports.default.font.name = SansSerif ชื่อแบบอักษรเริ่มต้น
net.sf.jasperreports.default.font.size = 10 ขนาดตัวอักษรเริ่มต้น
net.sf.jasperreports.default.pdf.font.name = Helvetica แบบอักษร PDF เริ่มต้น
net.sf.jasperreports.default.pdf.encoding = Cp1252 การเข้ารหัสอักขระ PDF เริ่มต้น
net.sf.jasperreports.default.pdf.embedded = false โดยค่าเริ่มต้นจะไม่ฝังฟอนต์ PDF

ตัวอย่าง

เพื่อสาธิตการใช้ฟอนต์และแอ็ตทริบิวต์แบบอักษรเพื่อให้ได้ลักษณะเฉพาะของข้อความเรามาเขียนเทมเพลตรายงานใหม่ (jasper_report_template.jrxml) เนื้อหาของ JRXML มีดังต่อไปนี้ บันทึกลงในไดเร็กทอรี C: \ tools \ jasperreports-5.0.1 \ test ที่นี่เราจะแสดงข้อความในชื่อของรายงานในรูปแบบอักษรต่างๆ

<?xml version = "1.0" encoding = "UTF-8"?>

<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 = "jasper_report_template" pageWidth = "595" pageHeight = "842"
   columnWidth = "555" leftMargin = "20" rightMargin = "20" topMargin = "30"
   bottomMargin = "30">

   <title>
      <band height = "682">
      
      <staticText>
         <reportElement x = "0" y = "50" width = "150" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[Welcome to TutorialsPoint!]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "50" width = "390" height = "40"/>
         <textElement/>
         
         <text>
           <![CDATA[<staticText>
           <reportElement x = "0" y = "50" width = "150" height = "40"/>
           <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "100" width = "150" height = "40"/>
         
         <textElement>
            <font size = "12"/>
         </textElement>
         
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "100" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "100" width = "150" height = "40"/>
            
            <textElement>
               <font size = "14"/>
            </textElement>
				
            <text> Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "150" width = "150" height = "40"/>
         
         <textElement>
            <font fontName = "DejaVu Serif" size = "12" isBold = "false"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "150" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "250" width = "150" height = "40"/>
            
            <textElement>
               <font fontName = "DejaVu Serif" size = "12" isBold = "false"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "200" width = "150" height = "40"/>
         
         <textElement>
            <font fontName = "DejaVu Serif" size = "12" isBold = "true"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "200" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "300" width = "150" height = "40"/>
            
            <textElement>
               <font fontName = "DejaVu Serif" size = "12" isBold = "true"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "250" width = "150" height = "40"/>
         
         <textElement>
            <font fontName = "Monospaced" size = "12" isItalic = "true" 
               isUnderline = "true" pdfFontName = "Courier-Oblique"/>
         </textElement>
         
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "250" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "350" width = "150" height = "40"/>
            
            <textElement>
               <font fontName = "Monospaced" size = "12" isItalic = "true"
                  isUnderline = "true" pdfFontName = "Courier-Oblique"/>
            </textElement>
            
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "300" width = "150" height = "40"/>
         
         <textElement>
            <font fontName = "Monospaced" size = "12" isBold = "true"
               isStrikeThrough = "true" pdfFontName = "Courier-Bold"/>
         </textElement>
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "300" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "400" width = "150" height = "40"/>
            
            <textElement>
               <font fontName = "Monospaced" size = "12" isBold = "true"
                  isStrikeThrough = "true" pdfFontName = "Courier-Bold"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "350" width = "150" height = "40" 
            forecolor = "#FF0000"/>
         
         <textElement>
            <font size = "14"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "350" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "450" width = "150" height = "40"
               forecolor = "red"/>
            
            <textElement><font size = "14"/></textElement>
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "400" width = "150" height = "40" mode = "Opaque"
            forecolor = "#00FF00" backcolor = "#FFFF00"/>
         
         <textElement>
            <font fontName = "Serif" size = "12" isBold = "true" 
               pdfFontName = "Times-Bold"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "400" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "500" width = "150" height = "40"
               forecolor = "green" backcolor = "#FFFF00" mode = "Opaque"/>
            
            <textElement>
               <font fontName = "Serif" size = "12" isBold = "true"
                  pdfFontName = "Times-Bold"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement x = "0" y = "450" width = "150" height = "40" mode = "Opaque"
            forecolor = "#0000FF" backcolor = "#FFDD99"/>
         
         <textElement textAlignment = "Center" verticalAlignment = "Middle">
            <font fontName = "SansSerif" size = "12" isBold = "false"
            isItalic = "true" pdfFontName = "Sans.Slanted" isPdfEmbedded = "true"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "450" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "550" width = "150" height = "90"
               forecolor = "blue" backcolor = "#FFDD99" mode = "Opaque"/>
            
            <textElement textAlignment = "Center" verticalAlignment = "Middle">
               <font fontName = "SansSerif" size = "12" isBold = "false"
                  pdfFontName = "Sans.Slanted" isPdfEmbedded = "true"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      </staticText>
      
      <staticText>
         <reportElement mode = "Opaque" x = "0" y = "500" width = "150" height = "40"
            forecolor = "#FF0000" backcolor = "#99DDFF"/>
         
         <textElement textAlignment = "Right" verticalAlignment = "Bottom">
            <font fontName = "SansSerif" size = "12" isBold = "true"
               pdfFontName = "DejaVu Sans Bold" isPdfEmbedded = "true"/>
         </textElement>
			
         <text><![CDATA[Welcome to TutorialsPoint!]]></text>
      </staticText>
      
      <staticText>
         <reportElement x = "160" y = "500" width = "390" height = "40"/>
         <textElement/>
         
         <text>
            <![CDATA[<staticText>
            <reportElement x = "0" y = "650" width = "150" height = "90"    forecolor = "red"
               backcolor = "#99DDFF" mode = "Opaque"/>
            
            <textElement textAlignment = "Right" verticalAlignment = "Bottom">
               <font fontName = "SansSerif" size = "12" isBold = "true"
                  pdfFontName = "DejaVu Sans Bold" isPdfEmbedded = "true"/>
            </textElement>
				
            <text>Welcome to TutorialsPoint!</text></staticText>]]>
         </text>
      
      </staticText>
   
   </band>
</title>

</jasperReport>

รหัส java สำหรับกรอกและสร้างรายงานมีดังที่ระบุด้านล่าง มาบันทึกไฟล์นี้กันJasperFontsReportFill.java ไปยังไดเร็กทอรี C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint

package com.tutorialspoint;

import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;

public class JasperFontsReportFill {
   public static void main(String[] args) {
      String sourceFileName = "C://tools/jasperreports-5.0.1/test/" + 
         "jasper_report_template.jasper";

      try {
         JasperFillManager.fillReportToFile(sourceFileName, null,
            new JREmptyDataSource());
      } catch (JRException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }

   }
}

ที่นี่เราจะใช้ตัวอย่างของJREmptyDataSourceเมื่อกรอกรายงานเพื่อจำลองแหล่งข้อมูลที่มีระเบียนหนึ่งในนั้น แต่มีเขตข้อมูลทั้งหมดเป็นโมฆะ

การสร้างรายงาน

เราจะรวบรวมและเรียกใช้ไฟล์ข้างต้นโดยใช้กระบวนการสร้าง ANT ปกติของเรา เนื้อหาของไฟล์ build.xml (บันทึกภายใต้ไดเร็กทอรี C: \ tools \ jasperreports-5.0.1 \ test) มีดังต่อไปนี้

ไฟล์นำเข้า - baseBuild.xml ถูกเลือกจากบทEnvironment Setupและควรอยู่ในไดเร็กทอรีเดียวกับ build.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<project name = "JasperReportTest" default = "viewFillReport" basedir = ".">
   <import file = "baseBuild.xml" />
   
   <target name = "viewFillReport" depends = "compile,compilereportdesing,run"
      description = "Launches the report viewer to preview the report 
      stored in the .JRprint file.">
      
      <java classname = "net.sf.jasperreports.view.JasperViewer" fork = "true">
         <arg value = "-F${file.name}.JRprint" />
         <classpath refid = "classpath" />
      </java>
		
   </target>
   
   <target name = "compilereportdesing" description = "Compiles the JXML file and
      produces the .jasper file.">
      
      <taskdef name = "jrc" classname = "net.sf.jasperreports.ant.JRAntCompileTask">
         <classpath refid = "classpath" />
      </taskdef>
      
      <jrc destdir = ".">
         <src>
            <fileset dir = ".">
               <include name = "*.jrxml" />
            </fileset>
         </src>
         <classpath refid = "classpath" />
      </jrc>
   
   </target>
	
</project>

ต่อไปให้เปิดหน้าต่างบรรทัดคำสั่งและไปที่ไดเร็กทอรีที่วาง build.xml สุดท้ายรันคำสั่งant -Dmain-class=com.tutorialspoint.JasperFontsReportFill (viewFullReport เป็นเป้าหมายเริ่มต้น) เป็น -

C:\tools\jasperreports-5.0.1\test>ant -Dmain-class=com.tutorialspoint.JasperFontsReportFill
Buildfile: C:\tools\jasperreports-5.0.1\test\build.xml

clean-sample:
   [delete] Deleting directory C:\tools\jasperreports-5.0.1\test\classes
   [delete] Deleting: C:\tools\jasperreports-5.0.1\test\jasper_report_template.jasper
   [delete] Deleting: C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrprint

compile:
   [mkdir] Created dir: C:\tools\jasperreports-5.0.1\test\classes
   [javac] C:\tools\jasperreports-5.0.1\test\baseBuild.xml:28:
   warning: 'includeantruntime' was not set, defaulting to build.
   [javac] Compiling 5 source files to C:\tools\jasperreports-5.0.1\test\classes

compilereportdesing:
   [jrc] Compiling 1 report design files.
   [jrc] log4j:WARN No appenders could be found for logger
   (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
   [jrc] log4j:WARN Please initialize the log4j system properly.
   [jrc] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
   [jrc] File : C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrxml ... OK.

run:
   [echo] Runnin class : com.tutorialspoint.JasperFontsReportFill
   [java] log4j:WARN No appenders could be found for logger
   (net.sf.jasperreports.extensions.ExtensionsEnvironment).
   [java] log4j:WARN Please initialize the log4j system properly.

viewFillReport:
   [java] log4j:WARN No appenders could be found for logger
   (net.sf.jasperreports.extensions.ExtensionsEnvironment).
   [java] log4j:WARN Please initialize the log4j system properly.

BUILD SUCCESSFUL
Total time: 45 minutes 3 seconds

จากการรวบรวมข้างต้นหน้าต่าง JasperViewer จะเปิดขึ้นตามที่แสดงในหน้าจอด้านล่าง -

ที่นี่เราจะเห็นว่าข้อความ "ยินดีต้อนรับสู่ TutorialsPoint" แสดงในรูปแบบอักษรที่แตกต่างกัน