I have created a jasper report(Invoice) file and run it through JButton
. when I click on button it shows preview as expected but when I click print button in Jasper Viewer to print with a dot matrix printer (TVS 240 star) the font on the page (hard copy) is overlapping to each other and size also changed.
How can I solve this problem?
(page size 5 inch width 6 inch height/font Arial Unicode MS, 9)
public void bill(){
if(textField_10.getText().equals(""))
{
JOptionPane.showMessageDialog(null,"Enter Bill no. !","Invoice", getDefaultCloseOperation());
textField_10.grabFocus();
}
else{
try{
String para=textField_7.getText();
String para1=textField_8.getText();
String para2=textField_9.getText();
String para3=textField_10.getText();
String sourceName="/DBcon/new.jrxml";
//String sourceName="/DBcon/Invoice.jrxml";
java.io.InputStream in=null;
HashMap<String, Object> hm=new HashMap<String,Object>();
hm.put("Retailer_Name",para); //jasper report parameter passing
hm.put("Address",para1);
hm.put("Contact",para2);
hm.put("Billno",para3);
in=getClass().getResourceAsStream(sourceName);
JasperReport jr=JasperCompileManager.compileReport(in);
JasperPrint jp=JasperFillManager.fillReport(jr,hm,con);
JasperViewer.viewReport(jp,false);
// JasperPrintManager.printReport(jp,true);
//JasperExportManager.exportReportToPdfFile(jp, destinationFile);
Exporter exp = new JRDocxExporter();
exp.setExporterInput(new SimpleExporterInput(jp));
File exportReportFile = new File("C:\\Users\\Public\\Documents\\invoice.docx");
exp.setExporterOutput(new SimpleOutputStreamExporterOutput(exportReportFile));
exp.exportReport();
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null,"Close previous invoice");
}
}
}