Informační systém pro cestovní kanceláře

  • Upload
    guri

  • View
    26

  • Download
    5

Embed Size (px)

DESCRIPTION

Informační systém pro cestovní kanceláře. Aleš Tryml. Obsah prezentace. představení informačního systému účel produktu použité programové prostředky výsledek zajímavé pasáže z implementace komunikace s MS Office tiskové sestavy. Informační systém Skisoft. Účel produktu: - PowerPoint PPT Presentation

Citation preview

  • Ale Tryml

  • pedstaven informanho systmuel produktupouit programov prostedkyvsledekzajmav pase z implementacekomunikace s MS Officetiskov sestavy

  • el produktu:software na zakzkuzasteen vech provoznch dat CKtiskov sestavy vouchery, zasedac podky, pojitn, vemon seznamyVsledek:tlust klient + monost propojit s WWWjazyk Javadatabze PosgreSQL

  • vytven dokument itelnch v MS Officetextov soubory bez styl (Word), data oddlen stednkem (Excel)formty XML se stylyprava ji vytvoench dokumentApache POI POIFS - OLE 2 Compound Document formatHWPF, HSSF, HSLF, HPSF, HDGFpm komunikace s MS OfficeJava native interface (JNI)

  • ...EUROSKI.CZ, Resslova 3Seznam pojitn pro zjezd .: XX/012345slo pojistn smlouvyPjmen...

  • nzko-rovov APIzpstupuje data uloen v OLE 2 Compound Document formatzklad pro HWPF, HSSF, ...mono srovnat s zip knihovnou

  • Horrible (Word, Spreadsheet, ) Processor FormatJava API pro zpracovn MS Excel souborPodpora Office 97-2003Office 2007 nen OLE2 formtOmezen monosti pouit

  • zaloen seituHSSFWorkbook wb = new HSSFWorkbook();FileOutputStream fileOut = new FileOutputStream("workbook.xls");wb.write(fileOut); fileOut.close();zaloen novho listuHSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet1 = wb.createSheet("new sheet");HSSFSheet sheet2 = wb.createSheet("second sheet");FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();

  • JNI dovoluje vyuit knihoven napsanch v jinch jazycchnutno vytvoit wrapper pro ob stranypomrn zdlouhav a tkopdnzvit, zda nen jednodu pout extern C# program, kter bude Java pes parametry pouze spoutt

  • vyvoln tiskovho dialogu a tisk na libovolnou tiskrnujava.awt.print (JDK 1.1) PrinterJob zajiuje samotn tiskPrintable, Pageable popisuj obsah

    podprn tdy:PageFormat popisuje tisknutelnou oblastGraphics, Graphics2D zajiuje vlastn vykreslovn obsahu - stejn jako kreslen na obrazovku

  • try {// fetch a PrinterJobPrinterJob job = PrinterJob.getPrinterJob();

    //ziskani printableVoucherPrintable voucherPrintable= new VoucherPrintable(parametry, data);

    job.setPrintable(voucherPrintable);

    // create an attribute set to store attributes from the print dialogPrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();attr.add(new MediaPrintableArea(10, 7, 190, 283, MediaPrintableArea.MM));

    // display a print dialog and record whether or not the user cancels itboolean printAccepted = job.printDialog(attr);

    if (printAccepted) {// if the user didn't cancel the dialog// do the printing (may need to handle PrinterException)job.print(attr);}} catch (PrinterException pe) {System.err.println("Error printing: " + pe.getMessage());}

  • public int print(Graphics g, PageFormat pf, int page) throws PrinterException {

    if (page > 0) { /* We have only one page, and 'page' is zero-based */ return NO_SUCH_PAGE;}

    /* User (0,0) is typically outside the imageable area, so we must * translate by the X and Y values in the PageFormat to avoid clipping */Graphics2D g2d = (Graphics2D)g;g2d.translate(pf.getImageableX(), pf.getImageableY());

    /* Now we perform our rendering */g.drawString("Hello world!", 100, 100);

    /* tell the caller that this page is part of the printed document */return PAGE_EXISTS;}

  • int getNumberOfPages()PageFormat getPageFormat(int pageIndex)Printable getPrintable(int pageIndex)

  • klasick print vech Swingproblm strnkovnrozezn vs konkrtn implementace print Java 1.6problm doplujcch daj

  • dkuji za pozornost

    ***************