1 28 import java.io.File ; 29 30 import net.sf.jasperreports.engine.JREmptyDataSource; 31 import net.sf.jasperreports.engine.JRException; 32 import net.sf.jasperreports.engine.JRExporterParameter; 33 import net.sf.jasperreports.engine.JasperExportManager; 34 import net.sf.jasperreports.engine.JasperFillManager; 35 import net.sf.jasperreports.engine.JasperPrint; 36 import net.sf.jasperreports.engine.JasperPrintManager; 37 import net.sf.jasperreports.engine.JasperRunManager; 38 import net.sf.jasperreports.engine.export.JExcelApiExporter; 39 import net.sf.jasperreports.engine.export.JExcelApiExporterParameter; 40 import net.sf.jasperreports.engine.export.JRCsvExporter; 41 import net.sf.jasperreports.engine.export.JRRtfExporter; 42 import net.sf.jasperreports.engine.export.JRXlsExporter; 43 import net.sf.jasperreports.engine.export.JRXlsExporterParameter; 44 import net.sf.jasperreports.engine.util.JRLoader; 45 46 47 51 public class StretchApp 52 { 53 54 55 58 private static final String TASK_FILL = "fill"; 59 private static final String TASK_PRINT = "print"; 60 private static final String TASK_PDF = "pdf"; 61 private static final String TASK_XML = "xml"; 62 private static final String TASK_XML_EMBED = "xmlEmbed"; 63 private static final String TASK_HTML = "html"; 64 private static final String TASK_RTF = "rtf"; 65 private static final String TASK_XLS = "xls"; 66 private static final String TASK_JXL = "jxl"; 67 private static final String TASK_CSV = "csv"; 68 private static final String TASK_RUN = "run"; 69 70 71 74 public static void main(String [] args) 75 { 76 String fileName = null; 77 String taskName = null; 78 79 if(args.length == 0) 80 { 81 usage(); 82 return; 83 } 84 85 int k = 0; 86 while ( args.length > k ) 87 { 88 if ( args[k].startsWith("-T") ) 89 taskName = args[k].substring(2); 90 if ( args[k].startsWith("-F") ) 91 fileName = args[k].substring(2); 92 93 k++; 94 } 95 96 try 97 { 98 long start = System.currentTimeMillis(); 99 if (TASK_FILL.equals(taskName)) 100 { 101 JasperFillManager.fillReportToFile(fileName, null, new JREmptyDataSource(20)); 102 System.err.println("Filling time : " + (System.currentTimeMillis() - start)); 103 System.exit(0); 104 } 105 else if (TASK_PRINT.equals(taskName)) 106 { 107 JasperPrintManager.printReport(fileName, true); 108 System.err.println("Printing time : " + (System.currentTimeMillis() - start)); 109 System.exit(0); 110 } 111 else if (TASK_PDF.equals(taskName)) 112 { 113 JasperExportManager.exportReportToPdfFile(fileName); 114 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start)); 115 System.exit(0); 116 } 117 else if (TASK_RTF.equals(taskName)) 118 { 119 File sourceFile = new File (fileName); 120 121 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 122 123 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".rtf"); 124 125 JRRtfExporter exporter = new JRRtfExporter(); 126 127 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 128 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 129 130 exporter.exportReport(); 131 132 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start)); 133 System.exit(0); 134 } 135 else if (TASK_XML.equals(taskName)) 136 { 137 JasperExportManager.exportReportToXmlFile(fileName, false); 138 System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); 139 System.exit(0); 140 } 141 else if (TASK_XML_EMBED.equals(taskName)) 142 { 143 JasperExportManager.exportReportToXmlFile(fileName, true); 144 System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); 145 System.exit(0); 146 } 147 else if (TASK_HTML.equals(taskName)) 148 { 149 JasperExportManager.exportReportToHtmlFile(fileName); 150 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start)); 151 System.exit(0); 152 } 153 else if (TASK_XLS.equals(taskName)) 154 { 155 File sourceFile = new File (fileName); 156 157 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 158 159 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".xls"); 160 161 JRXlsExporter exporter = new JRXlsExporter(); 162 163 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 164 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 165 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); 166 exporter.setParameter(JRXlsExporterParameter.IS_FONT_SIZE_FIX_ENABLED, Boolean.TRUE); 167 168 exporter.exportReport(); 169 170 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); 171 System.exit(0); 172 } 173 else if (TASK_JXL.equals(taskName)) 174 { 175 File sourceFile = new File (fileName); 176 177 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 178 179 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".jxl.xls"); 180 181 JExcelApiExporter exporter = new JExcelApiExporter(); 182 183 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 184 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 185 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE); 186 exporter.setParameter(JRXlsExporterParameter.IS_FONT_SIZE_FIX_ENABLED, Boolean.TRUE); 187 188 exporter.exportReport(); 189 190 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); 191 System.exit(0); 192 } 193 else if (TASK_CSV.equals(taskName)) 194 { 195 File sourceFile = new File (fileName); 196 197 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 198 199 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".csv"); 200 201 JRCsvExporter exporter = new JRCsvExporter(); 202 203 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 204 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 205 206 exporter.exportReport(); 207 208 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start)); 209 System.exit(0); 210 } 211 else if (TASK_RUN.equals(taskName)) 212 { 213 JasperRunManager.runReportToPdfFile(fileName, null, new JREmptyDataSource(20)); 214 System.err.println("PDF running time : " + (System.currentTimeMillis() - start)); 215 System.exit(0); 216 } 217 else 218 { 219 usage(); 220 System.exit(0); 221 } 222 } 223 catch (JRException e) 224 { 225 e.printStackTrace(); 226 System.exit(1); 227 } 228 catch (Exception e) 229 { 230 e.printStackTrace(); 231 System.exit(1); 232 } 233 } 234 235 236 239 private static void usage() 240 { 241 System.out.println( "StretchApp usage:" ); 242 System.out.println( "\tjava StretchApp -Ttask -Ffile" ); 243 System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run" ); 244 } 245 246 247 } 248 | Popular Tags |