Example usage for com.itextpdf.text PageSize LETTER

List of usage examples for com.itextpdf.text PageSize LETTER

Introduction

In this page you can find the example usage for com.itextpdf.text PageSize LETTER.

Prototype

Rectangle LETTER

To view the source code for com.itextpdf.text PageSize LETTER.

Click Source Link

Document

This is the letter format

Usage

From source file:com.etest.pdfgenerator.InventoryItemsReportPDF.java

public InventoryItemsReportPDF() {
    Document document = null;/*  w  w  w  .j av a 2 s .c om*/
    Date date = new Date();

    try {
        document = new Document(PageSize.LETTER.rotate(), 50, 50, 50, 50);
        PdfWriter.getInstance(document, outputStream);
        document.open();

        Font header = FontFactory.getFont("Times-Roman", 12, Font.BOLD);
        Font content = FontFactory.getFont("Times-Roman", 10);
        Font dateFont = FontFactory.getFont("Times-Roman", 8);

        Image img = null;
        try {
            img = Image.getInstance("C:\\eTest-images\\SUCN_seal.png");
            img.scaleToFit(60, 60);
            img.setAbsolutePosition(650, 500);
        } catch (BadElementException | IOException ex) {
            Logger.getLogger(TQCoveragePDF.class.getName()).log(Level.SEVERE, null, ex);
        }
        document.add(img);

        Paragraph title1 = new Paragraph();
        title1.setAlignment(Element.ALIGN_CENTER);
        title1.add(new Phrase("Inventory of Items Report"));
        document.add(title1);

        Paragraph title2 = new Paragraph();
        title2.setAlignment(Element.ALIGN_CENTER);
        title2.add(new Phrase("Grouped According to the Revised Bloom's Taxonomy"));
        document.add(title2);

        Paragraph datePrinted = new Paragraph();
        datePrinted.setSpacingAfter(20f);
        datePrinted.setAlignment(Element.ALIGN_CENTER);
        datePrinted
                .add(new Phrase("Date printed: " + new SimpleDateFormat("dd MMMM yyyy").format(date), content));
        document.add(datePrinted);

        PdfPTable table = new PdfPTable(8);
        table.setWidthPercentage(100);
        table.setSpacingAfter(5f);

        for (int i = 0; i < tableHeader.length; i++) {
            PdfPCell cell = new PdfPCell(new Phrase(tableHeader[i], header));
            cell.setBorder(Rectangle.NO_BORDER);
            cell.setPaddingLeft(10);
            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
            if (tableHeader[i].equals("Subject")) {
                cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
            } else {
                cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            }
            table.addCell(cell);
        }

        document.add(table);

        for (InventoryOfCasesReport report : service.getInventoryOfCases()) {
            PdfPTable table2 = new PdfPTable(8);
            table2.setWidthPercentage(100);
            table2.setSpacingBefore(3f);
            table2.setSpacingAfter(3f);

            if (!service.getListOfSyllabusIdByCurriculumId(report.getCurriculumId()).isEmpty()) {
                if (!service
                        .getListOfCellCaseIdBySyllabusId(
                                service.getListOfSyllabusIdByCurriculumId(report.getCurriculumId()))
                        .isEmpty()) {
                    PdfPCell cell1 = new PdfPCell(new Paragraph(report.getSubject(), content));
                    cell1.setBorder(0);
                    cell1.setPaddingLeft(10);
                    cell1.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
                    cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell2 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Remember.toString()))), content));
                    cell2.setBorder(0);
                    cell2.setPaddingLeft(10);
                    cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell3 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Understand.toString()))), content));
                    cell3.setBorder(0);
                    cell3.setPaddingLeft(10);
                    cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell4 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Apply.toString()))), content));
                    cell4.setBorder(0);
                    cell4.setPaddingLeft(10);
                    cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell5 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Analyze.toString()))), content));
                    cell5.setBorder(0);
                    cell5.setPaddingLeft(10);
                    cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell6 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Evaluate.toString()))), content));
                    cell6.setBorder(0);
                    cell6.setPaddingLeft(10);
                    cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell7 = new PdfPCell(
                            new Paragraph(String.valueOf(service.getTotalItemsByBloomsTaxonomy(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())),
                                    tq.getBloomsClassId(BloomsClass.Create.toString()))), content));
                    cell7.setBorder(0);
                    cell7.setPaddingLeft(10);
                    cell7.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    PdfPCell cell8 = new PdfPCell(new Paragraph(
                            String.valueOf(service.getTotalCellItemsByCellCaseId(
                                    service.getListOfCellCaseIdBySyllabusId(service
                                            .getListOfSyllabusIdByCurriculumId(report.getCurriculumId())))),
                            content));
                    cell8.setBorder(0);
                    cell8.setPaddingLeft(10);
                    cell8.setHorizontalAlignment(Element.ALIGN_CENTER);
                    cell8.setVerticalAlignment(Element.ALIGN_MIDDLE);

                    table2.addCell(cell1);
                    table2.addCell(cell2);
                    table2.addCell(cell3);
                    table2.addCell(cell4);
                    table2.addCell(cell5);
                    table2.addCell(cell6);
                    table2.addCell(cell7);
                    table2.addCell(cell8);
                    document.add(table2);
                }
            }
        }
    } catch (DocumentException ex) {
        Logger.getLogger(InventoryItemsReportPDF.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        document.close();
    }
}

From source file:com.handpoint.headstart.client.ui.ReceiptActivity.java

License:Apache License

private File createPdfFromReceipt(String html, String fileNamePrefix) {
    //We cannot trust that the html is well formed
    org.jsoup.nodes.Document doc = Jsoup.parse(html);
    html = doc.toString();/*from ww  w . ja v a  2s . com*/

    File file = null;
    try {
        Document document = new Document(PageSize.LETTER);
        file = getOutputMediaFile(fileNamePrefix);
        PdfWriter instance = PdfWriter.getInstance(document, new FileOutputStream(file));
        document.open();
        InputStream is = new ByteArrayInputStream(html.getBytes());
        XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
        worker.parseXHtml(instance, document, is);
        document.close();

    } catch (Exception e) {
        logger.log(Level.SEVERE, TAG + " :Failed to create .pdf document from receipt.", e);
        Toast.makeText(ReceiptActivity.this, getString(R.string.create_pdf), Toast.LENGTH_LONG).show();
    }
    return file;
}

From source file:com.ideationdesignservices.txtbook.pdf.TxtBookPdf.java

public void createPDF(Context context) throws DocumentException, IOException {
    LicenseKey.loadLicenseFile(context.getAssets().open("itextkey.xml"));
    this.mContext = context;
    Map<String, String> pdfParams = new HashMap();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_Hmmss", Locale.US);
    dateFormat.setTimeZone(TimeZone.getDefault());
    this.filename = "txtbook_" + dateFormat.format(new Date()) + ".pdf";
    float leftMargin = Txtbook.RIGHT_MARGIN_EVEN;
    float rightMargin = Txtbook.RIGHT_MARGIN_ODD;
    if (this.settings.addFrontCover.booleanValue()) {
        leftMargin = Txtbook.RIGHT_MARGIN_ODD;
        rightMargin = Txtbook.RIGHT_MARGIN_EVEN;
    }/* ww w  . jav  a  2s .  c  o  m*/
    Document document = new Document(PageSize.LETTER, leftMargin, rightMargin, Txtbook.TOP_MARGIN,
            Txtbook.TOP_MARGIN);
    File file = new File(Environment.getExternalStorageDirectory(), this.filename);
    if (!(file.exists() && file.canRead())) {
        file.createNewFile();
    }
    this.writer = PdfWriter.getInstance(document, new FileOutputStream(file));
    this.writer.setCompressionLevel(this.settings.compressionLevel);
    this.writer.setStrictImageSequence(true);
    FontFactory.register("assets/fonts/DroidSans.ttf");
    this.sansFont6Gray = FontFactory.getFont("DroidSans", BaseFont.WINANSI, true, 6.0f, 0,
            new BaseColor(152, 152, 152));
    this.sansFont9 = FontFactory.getFont("DroidSans", BaseFont.WINANSI, true, 9.0f);
    this.sansFont9Gray = FontFactory.getFont("DroidSans", BaseFont.WINANSI, true, 9.0f, 0,
            new BaseColor(103, 103, 103));
    this.sansFont11Gray = FontFactory.getFont("DroidSans", BaseFont.WINANSI, true, 11.0f, 0,
            new BaseColor(152, 152, 152));
    FontFactory.register("assets/fonts/CourierNew.ttf");
    this.serifFont8Gray = FontFactory.getFont("Courier New", BaseFont.WINANSI, true, 8.0f, 0,
            new BaseColor(103, 103, 103));
    this.serifFont11 = FontFactory.getFont("Courier New", BaseFont.WINANSI, true, 11.0f);
    this.serifFont14 = FontFactory.getFont("Courier New", BaseFont.WINANSI, true, 14.0f);
    this.serifFont24 = FontFactory.getFont("Courier New", BaseFont.WINANSI, true, 24.0f);
    document.open();
    document.setMarginMirroring(true);
    document.addCreationDate();
    document.addCreator("Created with txt-book for Android www.txt-book.com");
    document.addTitle("txt-book for Android");
    if (this.settings.bookStyle == 1) {
        ConversationHeaderFooter hf = new ConversationHeaderFooter();
        hf.footerFont = this.sansFont9;
        hf.hasFrontCover = this.settings.addFrontCover;
        this.writer.setPageEvent(hf);
    } else {
        StorybookHeaderFooter hf2 = new StorybookHeaderFooter();
        hf2.title = this.settings.bookCoverTitle;
        hf2.headerFont = this.serifFont8Gray;
        hf2.hasFrontCover = this.settings.addFrontCover;
        this.writer.setPageEvent(hf2);
    }
    if (this.settings.addFrontCover.booleanValue()) {
        createFrontCoverPage(document, this.settings.bookCoverTitle,
                this.settings.addFrontCoverImage.booleanValue() ? this.settings.coverPhoto : null);
        pdfParams.put("PDF Front Cover", "YES");
    } else {
        pdfParams.put("PDF Front Cover", "NO");
    }
    if (this.settings.addFrontCoverImage.booleanValue()) {
        pdfParams.put("PDF Front Cover Image", "YES");
    } else {
        pdfParams.put("PDF Front Cover Image", "NO");
    }
    if (this.settings.bookStyle == 1) {
        createContentPagesConversation(document);
    } else {
        createContentPagesStorybook(document, this.settings.bookCoverTitle);
    }
    int pages = this.writer.getPageNumber();
    if (this.settings.bookStyle == 2) {
        ((StorybookHeaderFooter) this.writer.getPageEvent()).reachedEndOfContent = Boolean.valueOf(true);
    } else {
        ((ConversationHeaderFooter) this.writer.getPageEvent()).reachedEndOfContent = Boolean.valueOf(true);
    }
    if (this.settings.addBackCover.booleanValue()) {
        pages++;
        pdfParams.put("PDF Back Cover", "YES");
        if (pages % 2 == 1) {
            createBlankSpacerPage(document);
        }
        createBackCoverPage(document, this.settings.backCoverNote);
    } else {
        pdfParams.put("PDF Back Cover", "NO");
        if (pages % 2 == 1) {
            createBlankSpacerPage(document);
        }
    }
    if (this.settings.bookStyle == 2) {
        pdfParams.put("PDF Style", "Storybook");
    } else {
        pdfParams.put("PDF Style", "Conversation");
    }
    pdfParams.put("PDF Num Pages", Integer.valueOf(this.writer.getPageNumber()).toString());
    document.close();
    FlurryAgent.logEvent("PDF_CREATED", (Map) pdfParams);
}

From source file:com.javaPdf.app.GeneradorContrato.java

public static void writePDF() {

    //        Document document = new Document() ;
    Document document = new Document(PageSize.LETTER, 65, 65, 60, 60);

    try {//ww w .j a  v a  2 s .  c  o  m

        /*Font que usaran las palabras destacadas con NEGRITA*/

        Font font_negrita = FontFactory.getFont("Times New Roman");
        font_negrita.setSize(11);
        font_negrita.setStyle(Font.BOLD);
        font_negrita.setFamily(Font.FontFamily.TIMES_ROMAN.toString());

        Scanner sc = new Scanner(System.in);

        Calendar calendarioGragoriano = new GregorianCalendar(12, Calendar.MONTH, 2017);

        /*Inicializar un objeto de tipo Calendar con un metodo de clase (Static) el cual
        obtiene una onstancia de la clase puede ser mas sencillo*/
        Calendar calendario = Calendar.getInstance();

        System.out.println(Calendar.DAY_OF_MONTH);
        System.out.println(calendario.getTime());

        /*Datos ingresados por teclado*/

        System.out.println("Ingrese el NOMBRE DEL EMPLEADOR: ");

        Chunk nombreEmpleador = new Chunk("[EMPLEADOR]", font_negrita);

        System.out.println("Ingrese el RUT DEL EMPLEADOR: ");

        Chunk rutEmpleador = new Chunk("xx.xxx.xxx-x", font_negrita);
        System.out.println("Ingrese el NOMBRE DEL TRABAJADOR: ");
        //            Chunk nombreTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk nombreTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese el RUT DEL TRABAJADOR: ");
        //            Chunk rutTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk rutTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese la DIRECCIN DEL TRABAJADOR: ");
        //            Chunk direccionTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk direccionTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese la COMUNA DEL TRABAJADOR: ");
        //            Chunk comunaTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk comunaTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese la FECHA DE NACIMIENTO DEL TRABAJADOR: ");
        //            Chunk fechaNacimientoTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk fechaNacimientoTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese el SUELDO QUE TENDRA EL TRABAJADOR: ");
        //            Chunk sueldoTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk sueldoTrabajador = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese la FUNCION QUE TENDRA EL TRABAJADOR: ");
        //            Chunk funcionTrabajador = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk funcionTrabajador = new Chunk(sc.nextLine().toUpperCase(), font_negrita);

        System.out.println("Ingrese la FECHA DE INICIO DE CONTRATO DEL TRABAJADOR: ");
        //            Chunk fechaInicioContrato = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk fechaInicioContrato = new Chunk(sc.nextLine(), font_negrita);

        System.out.println("Ingrese la FECHA DE TERMINO DE CONTRATO DEL TRABAJADOR: ");
        //            Chunk fechaTerminoContrato = new Chunk ("DATO DE PRUEBA", font_negrita);
        Chunk fechaTerminoContrato = new Chunk(sc.nextLine(), font_negrita);

        /*Clausulas*/
        Chunk primero = new Chunk(TEXTOPRIMERO, font_negrita);
        Chunk segundo = new Chunk(TEXTOSEGUNDO, font_negrita);
        Chunk tercero = new Chunk(TEXTOTERCERO, font_negrita);
        Chunk cuarto = new Chunk(TEXTOCUARTO, font_negrita);
        Chunk quinto = new Chunk(TEXTOQUINTO, font_negrita);
        Chunk sexto = new Chunk(TEXTOSEXTO, font_negrita);
        Chunk septimo = new Chunk(TEXTOSEPTIMO, font_negrita);
        Chunk octavo = new Chunk(TEXTOOCTAVO, font_negrita);
        Chunk noveno = new Chunk(TEXTONOVENO, font_negrita);
        //            Chunk afp = new Chunk (TEXTONOVENO2, font_negrita);
        //            Chunk salud = new Chunk (TEXTONOVENO4, font_negrita);
        //            Chunk cesantia = new Chunk (TEXTONOVENO6, font_negrita);
        Chunk decimo = new Chunk(TEXTODECIMO, font_negrita);
        Chunk undecimo = new Chunk(TEXTOUNDECIMO, font_negrita);

        //            Calendar calendario = Calendar.getInstance();
        SimpleDateFormat formateador = new SimpleDateFormat("dd 'de' MMMM 'de' yyyy", new Locale("es"));
        Date fechaDate = new Date();
        Chunk fecha = new Chunk(formateador.format(fechaDate), font_negrita);

        String path = new File(".").getCanonicalPath();
        String FILE_NAME = path + "/CONTRATO " + nombreTrabajador + " RUT " + rutTrabajador + ".pdf";

        PdfWriter.getInstance(document, new FileOutputStream(new File(FILE_NAME)));

        //            Image firmaEmpleador = Image.getInstance(path + "/img/firmaEmpleador.png");
        //            firmaEmpleador.scaleAbsoluteWidth(150f);
        //            firmaEmpleador.scaleAbsoluteHeight(70f);
        //            firmaEmpleador.setAbsolutePosition(70f, 200f);
        //            
        Image timbreGerencia = Image.getInstance(path + "/img/timbreGerencia.png");
        timbreGerencia.scaleAbsoluteWidth(90f);
        timbreGerencia.scaleAbsoluteHeight(75f);
        timbreGerencia.setAbsolutePosition(230, 200f);
        //            
        Image firmaTrabajador = Image.getInstance(path + "/img/firmaTrabajador.png");
        firmaTrabajador.scaleAbsoluteWidth(160f);
        firmaTrabajador.scaleAbsoluteHeight(70f);
        firmaTrabajador.setAbsolutePosition(350, 175f);
        //            
        //            Image todoEnUno = Image.getInstance(path + "/img/todoEnUno.png");
        //            todoEnUno.scaleAbsoluteWidth(550);
        //            todoEnUno.scaleAbsoluteHeight(150);
        //            todoEnUno.setAbsolutePosition(15, 120f);

        document.open();
        FontFactory.registerDirectories();

        /*Parrafo de Titulo*/

        String tituloContrato_texto = "CONTRATO DE TRABAJO:\n";

        Font font_titulo = FontFactory.getFont("Times New Roman");
        font_titulo.setSize(14);
        font_titulo.setStyle(Font.BOLD | Font.UNDERLINE);
        font_titulo.setFamily(Font.FontFamily.TIMES_ROMAN.toString());
        Paragraph parrafoTitulo = new Paragraph(tituloContrato_texto, font_titulo);
        parrafoTitulo.setAlignment(Element.ALIGN_CENTER);

        document.add(parrafoTitulo);

        Font font_primer_parrafo = FontFactory.getFont("Times New Roman");
        font_primer_parrafo.setSize(11);
        //            font_primer_parrafo.setStyle(Font.BOLD | Font.UNDERLINE);
        font_primer_parrafo.setFamily(Font.FontFamily.TIMES_ROMAN.toString());

        Paragraph primer_parrafo = new Paragraph();

        /*Agregar CHunks a el parrafo*/
        /*PRIMER PARRAFO*/
        primer_parrafo.setAlignment(Element.ALIGN_JUSTIFIED);
        primer_parrafo.setLeading(15);
        primer_parrafo.setFont(font_primer_parrafo);
        primer_parrafo.add(TEXTO1);
        primer_parrafo.add(fecha);
        primer_parrafo.add(TEXTO2);
        primer_parrafo.add(nombreEmpleador);
        primer_parrafo.add(TEXTO3);
        primer_parrafo.add(rutEmpleador);
        primer_parrafo.add(TEXTO4);
        primer_parrafo.add(nombreTrabajador);
        primer_parrafo.add(TEXTO5);
        primer_parrafo.add(rutTrabajador);
        primer_parrafo.add(TEXTO6);
        primer_parrafo.add(direccionTrabajador);
        primer_parrafo.add(TEXTO7);
        primer_parrafo.add(comunaTrabajador);
        primer_parrafo.add(TEXTO8);
        primer_parrafo.add(fechaNacimientoTrabajador);
        primer_parrafo.add(TEXTO9);

        /*PRIMERA CLAUSULA*/
        primer_parrafo.add(primero);
        primer_parrafo.add(TEXTOPRIMERO1);
        primer_parrafo.add(funcionTrabajador);
        primer_parrafo.add(TEXTOPRIMERO2);

        /*SEGUNDA CLAUSULA*/
        primer_parrafo.add(segundo);
        //            primer_parrafo.add(TEXTOSEGUNDO1);

        /*TERCERA CLAUSULA*/
        primer_parrafo.add(tercero);
        primer_parrafo.add(TEXTOTERCERO1);
        primer_parrafo.add(Chunk.TABBING);
        primer_parrafo.add(TEXTOTERCERO2A);
        primer_parrafo.add(sueldoTrabajador);
        primer_parrafo.add(TEXTOTERCERO3A);
        primer_parrafo.add(Chunk.TABBING);
        primer_parrafo.add(TEXTOTERCERO4B);

        /*CUARTA CLAUSULA*/
        primer_parrafo.add(cuarto);
        //            primer_parrafo.add(TEXTOCUARTO1);

        /*QUINTA CLAUSULA*/
        primer_parrafo.add(quinto);
        //            primer_parrafo.add(TEXTOQUINTO1);

        /*SEXTA CLAUSULA*/
        primer_parrafo.add(sexto);
        //            primer_parrafo.add(TEXTOSEXTO1);

        /*SEPTIMA CLAUSULA*/
        primer_parrafo.add(septimo);
        //            primer_parrafo.add(TEXTOSEPTIMO1);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO2A);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO3B);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO4C);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO5D);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO6E);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO7F);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO8G);
        primer_parrafo.add(Chunk.TABBING);
        //            primer_parrafo.add(TEXTOSEPTIMO9H);

        /*OCTAVA CLAUSULA*/
        primer_parrafo.add(octavo);
        //            primer_parrafo.add(TEXTOOCTAVO1);

        /*NOVENA CLAUSULA*/
        primer_parrafo.add(noveno);
        //            primer_parrafo.add(TEXTONOVENO1);
        //            primer_parrafo.add(afp);
        //            primer_parrafo.add(TEXTONOVENO3);
        //            primer_parrafo.add(salud);
        //            primer_parrafo.add(TEXTONOVENO5);
        //            primer_parrafo.add(cesantia);

        /*public static final String TEXTONOVENO2 = " PROVIDA";
        public static final String TEXTONOVENO3 = "  Salud:";
        public static final String TEXTONOVENO4 = "FONASA";
        public static final String TEXTONOVENO5 = ", y las de cesanta en:";
        public static final String TEXTONOVENO6 = " AFC. \n\n";*/

        /*DCIMA CLAUSULA*/
        primer_parrafo.add(decimo);
        primer_parrafo.add(TEXTODECIMO1);
        primer_parrafo.add(fechaInicioContrato);
        primer_parrafo.add(TEXTODECIMO2);
        primer_parrafo.add(fechaTerminoContrato);
        primer_parrafo.add(TEXTODECIMO3);

        /*UNDECIMA CLAUSULA*/
        primer_parrafo.add(undecimo);
        //            primer_parrafo.add(TEXTOUNDECIMO1);

        document.add(primer_parrafo);

        //            document.add(todoEnUno);
        document.add(timbreGerencia);
        document.add(firmaTrabajador);
        document.addAuthor("IGVI");
        document.addTitle("CONTRATO DE TRABAJO IGVI");
        document.close();

    } catch (DocumentException e) {
        e.getMessage();
    } catch (IOException e) {
        e.getMessage();
    }

}

From source file:com.mstoyanov.music_lessons.pdf.CreatePDF.java

License:Open Source License

public boolean exportPDF() {
    // Checks if external storage is available:
    if (!isExternalStorageWritable()) {
        Toast.makeText(context, "External storage not accessible!", Toast.LENGTH_SHORT).show();
        return false;
    }/*from  w w w . j  a va2 s  .c o  m*/
    // Get the path to the user's public downloads directory:
    String fileName = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString()
            + "/Schedule.pdf";
    try {
        Document document = new Document(PageSize.LETTER.rotate());
        PdfWriter.getInstance(document, new FileOutputStream(fileName));
        // Create a new letter sized document in landscape mode:
        document.setPageSize(PageSize.LETTER.rotate());
        document.setMargins(72, 36, 36, 36);
        document.open();
        addMetaData(document);
        addContent(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    Toast.makeText(context, "Schedule exported to external storage/Download", Toast.LENGTH_LONG).show();
    return true;
}

From source file:com.mycompany.mavenproject1.Createpdf.java

public void createPDF(String pdfFilename) {

    Document doc = new Document();
    PdfWriter docWriter = null;/*  w w  w.  j a  va2s .co m*/
    initializeFonts();

    try {
        String path = "C:\\Users\\Thaskioglu\\Downloads\\" + pdfFilename;
        docWriter = PdfWriter.getInstance(doc, new FileOutputStream(path));
        doc.addAuthor("FabulousCar");
        doc.addCreationDate();
        doc.addProducer();
        doc.addCreator("FabulousCar");
        doc.addTitle("Invoice");
        doc.setPageSize(PageSize.LETTER);

        doc.open();
        PdfContentByte cb = docWriter.getDirectContent();

        boolean beginPage = true;
        int y = 0;

        for (int i = 0; i < 100; i++) {
            if (beginPage) {
                beginPage = false;
                generateLayout(doc, cb);
                generateHeader(doc, cb);
                y = 615;
            }
            generateDetail(doc, cb, i, y);
            y = y - 15;
            if (y < 50) {
                printPageNumber(cb);
                doc.newPage();
                beginPage = true;
            }
        }
        printPageNumber(cb);

    } catch (DocumentException dex) {
        dex.printStackTrace();
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (doc != null) {
            doc.close();
        }
        if (docWriter != null) {
            docWriter.close();
        }
    }
}

From source file:com.northcoders.controller.BookingReportsController.java

@FXML
private void generatePdf() throws Exception {
    BaseFont bf;/*ww w. j  ava2 s  .  c  om*/
    Font font;
    try {
        conditions = "Filtered by: Start Date:2017-03-15 End Date:2017-03-28";

        /* Step-2: Initialize PDF documents - logical objects */
        Document my_pdf_report = new Document(PageSize.LETTER.rotate());
        PdfWriter.getInstance(my_pdf_report, new FileOutputStream("pdf_booking_report.pdf"));
        my_pdf_report.open();
        //we have four columns in our table
        PdfPTable my_report_table = new PdfPTable(6);
        //create a cell object
        PdfPCell table_cell;

        bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
        font = new Font(bf, 16);
        my_pdf_report.add(new Paragraph("Administration Report", font));
        font = new Font(bf, 12);
        my_pdf_report.add(new Paragraph("Filter applied:" + conditions, font));
        my_pdf_report.add(new Paragraph(" "));

        table_cell = new PdfPCell(new Phrase("Customer"));
        my_report_table.addCell(table_cell);
        table_cell = new PdfPCell(new Phrase("Start Date"));
        my_report_table.addCell(table_cell);
        table_cell = new PdfPCell(new Phrase("End Date"));
        my_report_table.addCell(table_cell);
        table_cell = new PdfPCell(new Phrase("Room"));
        my_report_table.addCell(table_cell);
        table_cell = new PdfPCell(new Phrase("Amount"));
        my_report_table.addCell(table_cell);
        table_cell = new PdfPCell(new Phrase("Transactions"));
        my_report_table.addCell(table_cell);

        for (Booking item : bookings) {
            String customer_b = item.getCustomerId().getId() + " " + item.getCustomerId().getFirstName() + " "
                    + item.getCustomerId().getLastName();
            table_cell = new PdfPCell(new Phrase(customer_b));
            my_report_table.addCell(table_cell);

            String date_start_b = dateToStr(item.getStartDate());
            table_cell = new PdfPCell(new Phrase(date_start_b));
            my_report_table.addCell(table_cell);

            String date_end_b = dateToStr(item.getEndDate());
            table_cell = new PdfPCell(new Phrase(date_end_b));
            my_report_table.addCell(table_cell);

            String room_b = String.valueOf(item.getRoomId().getRoomNumber());
            table_cell = new PdfPCell(new Phrase(room_b));
            my_report_table.addCell(table_cell);

            String price_b = String.format("%1$,.2f", item.getTotalPrice());
            table_cell = new PdfPCell(new Phrase(price_b));
            my_report_table.addCell(table_cell);

            String transaction_b = "";
            for (PaymentTransaction trans : item.getPaymentTransactionList()) {
                transaction_b += String.format("%1$,.2f", trans.getAmount()) + " "
                        + trans.getPaymentTypeId().getDescription() + "\n";
            }
            table_cell = new PdfPCell(new Phrase(transaction_b));
            my_report_table.addCell(table_cell);
        }

        /* Attach report table to PDF */
        my_pdf_report.add(my_report_table);
        my_pdf_report.add(new Paragraph(" "));
        font = new Font(bf, 6);
        my_pdf_report.add(new Paragraph("Report Time:" + dateTimeToStr(new Date())));
        my_pdf_report.close();

    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

From source file:com.pablog178.pdfcreator.android.PdfcreatorModule.java

License:Open Source License

private void generateiTextPDFfunction(HashMap args) {
    if (args.containsKey("fileName")) {
        Object fileName = args.get("fileName");
        if (fileName instanceof String) {
            this.fileName = (String) fileName;
            Log.i(PROXY_NAME, "fileName: " + this.fileName);
        }//from  w  w  w .ja va 2  s . co m
    } else
        return;

    if (args.containsKey("view")) {
        Object viewObject = args.get("view");
        if (viewObject instanceof TiViewProxy) {
            TiViewProxy viewProxy = (TiViewProxy) viewObject;
            this.view = viewProxy.getOrCreateView();
            if (this.view == null) {
                Log.e(PROXY_NAME, "NO VIEW was created!!");
                return;
            }
            Log.i(PROXY_NAME, "view: " + this.view.toString());
        }
    } else
        return;

    if (args.containsKey("quality")) {
        this.quality = TiConvert.toInt(args.get("quality"));
    }

    if (args.containsKey("pageSize")) {
        Object pageSize = args.get("pageSize");
        if (pageSize instanceof String) {
            if (pageSize.equals("letter")) {
                this.pageSize = PageSize.LETTER;
            } else if (pageSize.equals("A4")) {
                this.pageSize = PageSize.A4;
            } else {
                this.pageSize = PageSize.LETTER;
            }
        }
    }

    TiBaseFile file = TiFileFactory.createTitaniumFile(this.fileName, true);
    Log.i(PROXY_NAME, "file full path: " + file.nativePath());
    try {

        Resources appResources = app.getResources();
        OutputStream outputStream = file.getOutputStream();
        final int MARGIN = 0;
        final float PDF_WIDTH = this.pageSize.getWidth() - MARGIN * 2; // A4: 595 //Letter: 612
        final float PDF_HEIGHT = this.pageSize.getHeight() - MARGIN * 2; // A4: 842 //Letter: 792
        final int DEFAULT_VIEW_WIDTH = 980;
        final int DEFAULT_VIEW_HEIGHT = 1384;
        int viewWidth = DEFAULT_VIEW_WIDTH;
        int viewHeight = DEFAULT_VIEW_HEIGHT;

        Document pdfDocument = new Document(this.pageSize, MARGIN, MARGIN, MARGIN, MARGIN);
        PdfWriter docWriter = PdfWriter.getInstance(pdfDocument, outputStream);

        Log.i(PROXY_NAME, "PDF_WIDTH: " + PDF_WIDTH);
        Log.i(PROXY_NAME, "PDF_HEIGHT: " + PDF_HEIGHT);

        WebView view = (WebView) this.view.getNativeView();

        if (TiApplication.isUIThread()) {

            viewWidth = view.capturePicture().getWidth();
            viewHeight = view.capturePicture().getHeight();

            if (viewWidth <= 0) {
                viewWidth = DEFAULT_VIEW_WIDTH;
            }

            if (viewHeight <= 0) {
                viewHeight = DEFAULT_VIEW_HEIGHT;
            }

        } else {
            Log.e(PROXY_NAME, "NO UI THREAD");
            viewWidth = DEFAULT_VIEW_WIDTH;
            viewHeight = DEFAULT_VIEW_HEIGHT;
        }

        view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        Log.i(PROXY_NAME, "viewWidth: " + viewWidth);
        Log.i(PROXY_NAME, "viewHeight: " + viewHeight);

        float scaleFactorWidth = 1 / ((float) viewWidth / PDF_WIDTH);
        float scaleFactorHeight = 1 / ((float) viewHeight / PDF_HEIGHT);

        Log.i(PROXY_NAME, "scaleFactorWidth: " + scaleFactorWidth);
        Log.i(PROXY_NAME, "scaleFactorHeight: " + scaleFactorHeight);

        Bitmap viewBitmap = Bitmap.createBitmap(viewWidth, viewHeight, Bitmap.Config.ARGB_8888);
        Canvas viewCanvas = new Canvas(viewBitmap);

        // Paint paintAntialias = new Paint();
        // paintAntialias.setAntiAlias(true);
        // paintAntialias.setFilterBitmap(true);

        Drawable bgDrawable = view.getBackground();
        if (bgDrawable != null) {
            bgDrawable.draw(viewCanvas);
        } else {
            viewCanvas.drawColor(Color.WHITE);
        }
        view.draw(viewCanvas);

        TiBaseFile pdfImg = createTempFile();

        // ByteArrayOutputStream stream = new ByteArrayOutputStream(32);
        // viewBitmap.compress(Bitmap.CompressFormat.JPEG, this.quality, stream);
        viewBitmap.compress(Bitmap.CompressFormat.JPEG, this.quality, pdfImg.getOutputStream());

        FileInputStream pdfImgInputStream = new FileInputStream(pdfImg.getNativeFile());
        byte[] pdfImgBytes = IOUtils.toByteArray(pdfImgInputStream);
        pdfImgInputStream.close();

        // ByteBuffer      buffer         = ByteBuffer.allocate(viewBitmap.getByteCount());
        // viewBitmap.copyPixelsToBuffer(buffer);

        pdfDocument.open();
        float yFactor = viewHeight * scaleFactorWidth;
        int pageNumber = 1;

        do {
            if (pageNumber > 1) {
                pdfDocument.newPage();
            }
            pageNumber++;
            yFactor -= PDF_HEIGHT;

            Image pageImage = Image.getInstance(pdfImgBytes, true);
            // Image pageImage = Image.getInstance(buffer.array());
            pageImage.scalePercent(scaleFactorWidth * 100);
            pageImage.setAbsolutePosition(0f, -yFactor);
            pdfDocument.add(pageImage);

            Log.i(PROXY_NAME, "yFactor: " + yFactor);
        } while (yFactor > 0);

        pdfDocument.close();

        sendCompleteEvent();

    } catch (Exception exception) {
        Log.e(PROXY_NAME, "Error: " + exception.toString());
        sendErrorEvent(exception.toString());
    }
}

From source file:com.pdfwriter.PrintInventoryReport.java

public void create(ObservableList list, String totalSales) {
    try {//ww  w  .j ava 2 s.co m
        Document document = new Document(PageSize.LETTER);
        document.setMargins(1, 1, 1, 1);

        PdfWriter.getInstance(document, new FileOutputStream(filename));
        document.open();
        Font font2 = new Font(Font.FontFamily.UNDEFINED, 10, Font.BOLD);
        PdfPTable table = new PdfPTable(5);
        table.setWidthPercentage(95);
        table.setWidths(new int[] { 40, 40, 40, 40, 40 });
        PdfPCell cell;

        cell = new PdfPCell(new Phrase("", font2));
        cell.setBorder(0);
        cell.setColspan(8);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setVerticalAlignment(Element.ALIGN_CENTER);
        cell.setBorderWidthTop(0);

        cell.setBorderWidthBottom(0);
        table.addCell(cell);

        cell = new PdfPCell(
                new Phrase("KELNOVI SHOPPING BOTIQUE", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(
                new Phrase("Pondol,Loon, Bohol", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(
                new Phrase("Phone/Fax#:000-000-000", new Font(Font.FontFamily.UNDEFINED, 9, Font.UNDERLINE)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setRowspan(3);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("SALES REPORT", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("NO."));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(14);
        cell.setBackgroundColor(BaseColor.GRAY);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("PRODUCT NAME"));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(14);
        cell.setBackgroundColor(BaseColor.GRAY);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("PRICE"));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(14);
        cell.setBackgroundColor(BaseColor.GRAY);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("QUANTITY"));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(14);
        cell.setBackgroundColor(BaseColor.GRAY);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("AMOUNT PAYABLE"));
        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell.setBorder(14);
        cell.setBackgroundColor(BaseColor.GRAY);
        table.addCell(cell);

        for (int i = 0; i < list.size(); i++) {
            it = (ProductClass) list.get(i);

            cell = new PdfPCell(new Phrase("" + it.idProperty().get()));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(14);
            table.addCell(cell);

            cell = new PdfPCell(new Phrase("" + it.productDescriptionProperty().get()));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(14);
            table.addCell(cell);

            cell = new PdfPCell(new Phrase("" + it.productPriceProperty().get()));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(14);
            table.addCell(cell);

            cell = new PdfPCell(new Phrase("" + it.productQtyProperty().get()));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(14);
            table.addCell(cell);
            //totalSales.setText(String.format("%,.2f",globalSales));

            cell = new PdfPCell(new Phrase(
                    String.format("%,.2f", Double.parseDouble(it.productTotalSalesProperty().get()))));
            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
            cell.setBorder(14);
            table.addCell(cell);

        }

        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("TOTAL AMOUNT PAYABLE:"));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(
                new Phrase("Php " + totalSales, new Font(Font.FontFamily.UNDEFINED, 14, Font.UNDERLINE)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("Approved by:"));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase("MICHAEL NOVI MALUENDA II",
                new Font(Font.FontFamily.UNDEFINED, 14, Font.UNDERLINE)));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);
        cell = new PdfPCell(new Phrase("General Manager"));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        cell = new PdfPCell(new Phrase(" "));
        cell.setColspan(10);
        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell.setBorder(0);
        table.addCell(cell);

        document.add(table);
        document.close();
        openFile();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:com.propelics.pdfcreator.PdfcreatorModule.java

License:Open Source License

/**
 * @method generatePDFWithHTML/*  w ww .  j a va  2 s  . co  m*/
 * Generates a PDF with the given file name, based on a HTML file
 * @param {String} filename Name of the PDF file
 * @param {String} html String with the HTML
 * @param {String} [author] Author for metadata
 * Fires a "complete" event when the PDF is generated
 * Fires a "error" event when a error is presented
 */
@Kroll.method(runOnUiThread = true)
public void generatePDFWithHTML(final HashMap args) {
    Log.d(PROXY_NAME, "generatePDFWithHTML()");

    String html = "";
    String author = "";
    String filename = "";
    final float marginPt = 28.35f;//1cm == 28.35pt

    try {
        if (args.containsKey("filename")) {
            filename = (String) args.get("filename");
            Log.d(PROXY_NAME, "filename: " + filename);
        } else
            return;

        if (args.containsKey("html")) {
            html = (String) args.get("html");
            Log.d(PROXY_NAME, "html: " + html);
        } else
            return;

        if (args.containsKey("author")) {
            author = (String) args.get("author");
            Log.d(PROXY_NAME, "author: " + author);
        }

        //create a new document
        Document document = new Document(PageSize.LETTER, marginPt, marginPt, marginPt, 0);
        TiBaseFile file = TiFileFactory.createTitaniumFile(filename, true);

        // Parse to XHTML
        StringWriter xhtmlWriter = new StringWriter();
        Tidy tidy = new Tidy();

        // tidy.setXHTML(true);
        tidy.setXmlOut(true);
        tidy.parse(new StringReader(html), xhtmlWriter);
        String xhtml = xhtmlWriter.toString();

        //get Instance of the PDFWriter
        PdfWriter pdfWriter = PdfWriter.getInstance(document, file.getOutputStream());

        //document header attributes
        document.addAuthor(author);
        document.addCreationDate();
        document.setPageSize(PageSize.LETTER);

        //open document
        document.open();

        // From Stack Overflow lol

        MyFontFactory fontFactory = new MyFontFactory();
        FontFactory.setFontImp(fontFactory);

        // HtmlPipelineContext htmlContext = new HtmlPipelineContext(new CssAppliersImpl(fontFactory));
        HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
        htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(true);
        Pipeline<?> pipeline = new CssResolverPipeline(cssResolver,
                new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, pdfWriter)));
        XMLWorker worker = new XMLWorker(pipeline, true);
        XMLParser p = new XMLParser(worker);
        p.parse(new StringReader(xhtml));

        // Finish SO c&P

        // Older code
        /*
        // Font Provider creation
        MyFontFactory fontProvider = new MyFontFactory();
        // fontProvider.register("/DroidSans.ttf");
                
        //get the XMLWorkerHelper Instance
        XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
        //convert to PDF
        worker.parseXHtml(pdfWriter, document, new ByteArrayInputStream(xhtml.getBytes("UTF-8")), null, fontProvider); //Load xhtml
        */

        //close the document
        document.close();
        //close the writer
        pdfWriter.close();

        sendCompleteEvent(filename);

    } catch (Exception e) {
        sendErrorEvent(e);
    }
}