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.JasperCompileManager; 34 import net.sf.jasperreports.engine.JasperExportManager; 35 import net.sf.jasperreports.engine.JasperFillManager; 36 import net.sf.jasperreports.engine.JasperPrint; 37 import net.sf.jasperreports.engine.JasperPrintManager; 38 import net.sf.jasperreports.engine.JasperRunManager; 39 import net.sf.jasperreports.engine.export.JExcelApiExporter; 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 HyperlinkApp 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 private static final String TASK_WRITE_XML = "writeXml"; 70 71 72 75 public static void main(String [] args) 76 { 77 String fileName = null; 78 String taskName = null; 79 80 if(args.length == 0) 81 { 82 usage(); 83 return; 84 } 85 86 int k = 0; 87 while ( args.length > k ) 88 { 89 if ( args[k].startsWith("-T") ) 90 taskName = args[k].substring(2); 91 if ( args[k].startsWith("-F") ) 92 fileName = args[k].substring(2); 93 94 k++; 95 } 96 97 try 98 { 99 long start = System.currentTimeMillis(); 100 if (TASK_FILL.equals(taskName)) 101 { 102 JasperFillManager.fillReportToFile(fileName, null, new JREmptyDataSource()); 103 System.err.println("Filling time : " + (System.currentTimeMillis() - start)); 104 System.exit(0); 105 } 106 else if (TASK_PRINT.equals(taskName)) 107 { 108 JasperPrintManager.printReport(fileName, true); 109 System.err.println("Printing time : " + (System.currentTimeMillis() - start)); 110 System.exit(0); 111 } 112 else if (TASK_PDF.equals(taskName)) 113 { 114 JasperExportManager.exportReportToPdfFile(fileName); 115 System.err.println("PDF creation time : " + (System.currentTimeMillis() - start)); 116 System.exit(0); 117 } 118 else if (TASK_XML.equals(taskName)) 119 { 120 JasperExportManager.exportReportToXmlFile(fileName, false); 121 System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); 122 System.exit(0); 123 } 124 else if (TASK_XML_EMBED.equals(taskName)) 125 { 126 JasperExportManager.exportReportToXmlFile(fileName, true); 127 System.err.println("XML creation time : " + (System.currentTimeMillis() - start)); 128 System.exit(0); 129 } 130 else if (TASK_HTML.equals(taskName)) 131 { 132 JasperExportManager.exportReportToHtmlFile(fileName); 133 System.err.println("HTML creation time : " + (System.currentTimeMillis() - start)); 134 System.exit(0); 135 } 136 else if (TASK_RTF.equals(taskName)) 137 { 138 File sourceFile = new File (fileName); 139 140 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 141 142 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".rtf"); 143 144 JRRtfExporter exporter = new JRRtfExporter(); 145 146 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 147 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 148 149 exporter.exportReport(); 150 151 System.err.println("RTF creation time : " + (System.currentTimeMillis() - start)); 152 System.exit(0); 153 } 154 else if (TASK_XLS.equals(taskName)) 155 { 156 File sourceFile = new File (fileName); 157 158 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 159 160 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".xls"); 161 162 JRXlsExporter exporter = new JRXlsExporter(); 163 164 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 165 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 166 exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE); 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 187 exporter.exportReport(); 188 189 System.err.println("XLS creation time : " + (System.currentTimeMillis() - start)); 190 System.exit(0); 191 } 192 else if (TASK_CSV.equals(taskName)) 193 { 194 File sourceFile = new File (fileName); 195 196 JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); 197 198 File destFile = new File (sourceFile.getParent(), jasperPrint.getName() + ".csv"); 199 200 JRCsvExporter exporter = new JRCsvExporter(); 201 202 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 203 exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString()); 204 205 exporter.exportReport(); 206 207 System.err.println("CSV creation time : " + (System.currentTimeMillis() - start)); 208 System.exit(0); 209 } 210 else if (TASK_RUN.equals(taskName)) 211 { 212 JasperRunManager.runReportToPdfFile(fileName, null, new JREmptyDataSource()); 213 System.err.println("PDF running time : " + (System.currentTimeMillis() - start)); 214 System.exit(0); 215 } 216 else if (TASK_WRITE_XML.equals(taskName)) 217 { 218 JasperCompileManager.writeReportToXmlFile(fileName); 219 System.err.println("XML design creation time : " + (System.currentTimeMillis() - start)); 220 System.exit(0); 221 } 222 else 223 { 224 usage(); 225 System.exit(0); 226 } 227 } 228 catch (JRException e) 229 { 230 e.printStackTrace(); 231 System.exit(1); 232 } 233 catch (Exception e) 234 { 235 e.printStackTrace(); 236 System.exit(1); 237 } 238 } 239 240 241 244 private static void usage() 245 { 246 System.out.println( "HyperlinkApp usage:" ); 247 System.out.println( "\tjava HyperlinkApp -Ttask -Ffile" ); 248 System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | rtf | xls | jxl | csv | run | writeXml" ); 249 } 250 251 252 } 253 | Popular Tags |