Example usage for com.itextpdf.text Document close

List of usage examples for com.itextpdf.text Document close

Introduction

In this page you can find the example usage for com.itextpdf.text Document close.

Prototype

boolean close

To view the source code for com.itextpdf.text Document close.

Click Source Link

Document

Has the document already been closed?

Usage

From source file:com.incosyz.sms.pdfcontroller.OrderPDF.java

public void generateOrderPdf(ArrayList<GETOrderModel> gETOrderModels, String filepath, String orderDescription)
        throws FileNotFoundException, DocumentException {
    try {/*www . j  a  v a2s.  c  o  m*/
        String html = getHTML(gETOrderModels, orderDescription);

        Document document = new Document(PageSize.A4.rotate());

        File f = new File(filepath);
        FileOutputStream fileOutputStream = new FileOutputStream(f);
        PdfWriter pdfWriter = PdfWriter.getInstance(document, fileOutputStream);

        document.open();

        StringReader fileReader = new StringReader(html);
        XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, document, fileReader);

        document.close();
        fileOutputStream.close();
    } catch (IOException ex) {
        Logger.getLogger(OrderPDF.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.incosyz.sms.pdfcontroller.SalePdf.java

public String createPdf(String pathTo) throws FileNotFoundException, DocumentException, IOException {
    String html = getHtml();/*from w  w  w.  ja  va  2  s .  com*/
    Document document = new Document(PageSize.A3.rotate());

    String path = pathTo;
    f = new File(path);
    FileOutputStream fileOutputStream = new FileOutputStream(f);
    PdfWriter pdfWriter = PdfWriter.getInstance(document, fileOutputStream);

    document.open();

    StringReader fileReader = new StringReader(html);
    XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, document, fileReader);

    document.close();
    fileOutputStream.close();
    return path;
}

From source file:com.innoq.iQpdfutil.Main.java

License:Open Source License

/**
 * This method produces a new pdf that is written to the output stream.
 *
 * <p>/*from  ww w .  j ava  2 s .c  o m*/
 *     The newly created pdf contains all the pages of all the provided
 *     input pdf files in the right order. Where necessary empty pages
 *     ensure that the pages of every input pdf begin on an odd page.
 * </p>
 * */
public static void concatPDFs(Readers readers, OutputStream os) throws DocumentException, IOException {
    Document document = new Document();

    PdfCopy copy = new PdfCopy(document, os);
    document.open();

    for (PdfReader reader : readers) {
        copyPages(reader, copy);
    }

    document.close();
}

From source file:com.insider.kontrollactive.QualityReportActivity.java

public void create(View view) throws Exception {
    try {/*from  w  ww  .ja  v a 2s  .c om*/
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(file));
        document.open();
        addMetaData(document);
        addTitlePage(document);
        addContent(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    EmailGenerator gen = new EmailGenerator(this, cust, date, msg, emailList, attachement, type,
            Globals.user.getId());
    gen.sendEmail();
}

From source file:com.insider.kontrollkunde.QualityReportActivity.java

public void create(View view) throws Exception {

    Log.d("!!pdf", dir.getAbsolutePath());
    try {//from  w  ww .  j a v  a 2  s  . c o m
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(file));
        document.open();
        addMetaData(document);
        addTitlePage(document);
        addContent(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    EmailGenerator gen = new EmailGenerator(this, cust, date, msg, emailList, attachement);
    gen.sendEmail();
}

From source file:com.iox.rms.mbean.UserBean.java

@SuppressWarnings("deprecation")
private byte[] generateInvoiceForCustomerPurchase(CustomerProduct cp) {
    byte[] data = null;

    if (cp != null) {
        Document document = new Document();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {//from  w w w  . j  a va 2 s .c om
            PdfWriter writer = PdfWriter.getInstance(document, baos);
            writer.setPageEvent(new HeaderFooter());
            writer.setBoxSize("footer", new Rectangle(36, 54, 559, 788));
            if (!document.isOpen()) {
                document.open();
            }
            document.setPageSize(PageSize.A4);
            document.addAuthor("AutoLife");
            document.addCreationDate();
            document.addCreator("AutoLife");
            document.addSubject("Invoice");
            document.addTitle("Purchase Invoice");

            PdfPTable headerTable = new PdfPTable(3);

            ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance()
                    .getExternalContext().getContext();
            String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator
                    + "sattrak-logo.png";
            PdfPCell c = new PdfPCell(Image.getInstance(logo));
            c.setBorder(0);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            headerTable.addCell(c);

            BaseFont helvetica = null;
            try {
                helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
            } catch (Exception e) {
            }
            Font font = new Font(helvetica, 16, Font.NORMAL | Font.BOLD);
            c = new PdfPCell(new Paragraph("INVOICE", font));
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            c.setBorder(0);
            headerTable.addCell(c);

            font = new Font(helvetica, 10, Font.NORMAL | Font.BOLD);
            c = new PdfPCell(new Paragraph("TRANSACTION REF. NO.: " + cp.getPurchaseTranRef(), font));
            c.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
            c.setBorder(0);
            headerTable.addCell(c);

            document.add(headerTable);

            font = new Font(helvetica, 12, Font.NORMAL | Font.BOLD);
            Paragraph p = new Paragraph("DETAILS", font);
            p.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(p);

            PdfPTable pdfTable = new PdfPTable(3);

            font = new Font(helvetica, 8, Font.BOLDITALIC);
            pdfTable.addCell(new Paragraph("INITIATED DATE", font));
            pdfTable.addCell(new Paragraph("PRODUCT", font));
            pdfTable.addCell(new Paragraph("AMOUNT", font));
            font = new Font(helvetica, 8, Font.NORMAL);
            pdfTable.addCell(
                    new Paragraph(cp.getPurchaseTransaction().getTranInitDate().toLocaleString(), font));
            pdfTable.addCell(new Paragraph(cp.getProductBooked().getDetails(), font));
            pdfTable.addCell(new Paragraph("" + cp.getPurchasedAmount(), font));
            document.add(pdfTable);

            document.close();

            data = baos.toByteArray();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    return data;
}

From source file:com.isdemu.controller.BarCode128.java

public static void main(String[] args) throws FileNotFoundException, DocumentException {

    Document document = new Document(new Rectangle(PageSize.A4));
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("c:/Java4s_BarCode_128.pdf"));

    document.open();//from  w  w w. j a v  a  2 s .  com
    document.add(new Paragraph("Code_128 Format_Java4s.com"));

    Barcode128 code128 = new Barcode128();
    code128.setGenerateChecksum(true);
    code128.setCode("1234554321");

    document.add(code128.createImageWithBarcode(writer.getDirectContent(), null, null));
    document.close();

    System.out.println("Document Generated...!!!!!!");
}

From source file:com.iucosoft.eavertizare.util.Export.java

public static void toPdf(JFrame frame, JTable jTableClients, String firma) {

    Document document = new Document(PageSize.A4.rotate());
    try {//from   w w w.jav  a  2 s .c  o  m
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setDialogTitle("Specify a file to save");

        int userSelection = fileChooser.showSaveDialog(frame);

        if (userSelection == JFileChooser.APPROVE_OPTION) {

            File fileToSave = fileChooser.getSelectedFile();
            System.out.println("Save as file: " + fileToSave.getAbsolutePath());
            PdfWriter.getInstance(document, new FileOutputStream(fileToSave.getAbsolutePath() + ".pdf"));

        }

        document.open();
        DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        Date date = new Date();

        if (firma.equals("All firms")) {

            addTitle(document, "Raport pentru toate firmele cu toti clienti \n din " + dateFormat.format(date));
        } else {

            addTitle(document, "Raport pentru " + firma + " \n din " + dateFormat.format(date));
        }

        addEmptyLine(document, new Paragraph(), 2);

        PdfPTable table = new PdfPTable(jTableClients.getColumnCount());
        table.setTotalWidth(jTableClients.getColumnCount() + 780);
        table.setLockedWidth(true);
        table.setHorizontalAlignment(Element.ALIGN_LEFT);

        for (int i = 0; i < table.getNumberOfColumns(); i++) {

            if (jTableClients.getColumnName(i).equals("")) {
                table.addCell("Trimis");
            } else {
                table.addCell(jTableClients.getColumnName(i));
            }
        }
        Object value;
        for (int i = 0; i < jTableClients.getRowCount(); i++) {
            for (int j = 0; j < table.getNumberOfColumns(); j++) {
                value = jTableClients.getValueAt(i, j);
                table.addCell(value.toString());
            }
        }
        document.add(table);
        document.close();

    } catch (DocumentException ex) {
        Logger.getLogger(MainJFrame.class.getName()).log(Level.SEVERE, null, ex);
    } catch (FileNotFoundException ex) {
        Logger.getLogger(MainJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
}

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 {/*  w  w w.ja v  a2 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.jpsycn.print.util.PDFUtils.java

/**
 * ?????/*w ww.j a va2  s .com*/
 * 
 * @param mContext
 * @param file
 *            ?pdf
 * @param map
 *            ???
 * @return
 */
public static boolean createSamplingPdf(Context mContext, File file, Map<String, String> map) {
    try {

        Font simfang12 = FontUtil.getFont(mContext, 12, "simfang.ttf");
        Font bf = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.BOLD, null);

        Document document = setHeader(file, mContext, simfang12, bf,
                "?????",
                map.get("sno") == null ? "   " : map.get("sno"));

        // ?100
        int cols = 100;
        // ????5
        // ?5
        // ?5?
        int m = 7;
        int n = 28;
        int o = 27;
        int p = 10;
        int q = 28;

        PdfPTable table1 = new PdfPTable(cols);
        // ???80%100%
        table1.setWidthPercentage(100);
        table1.setSpacingBefore(3f);

        table1.addCell(ItextUtil.getCell(simfang12, "?", m + n));
        table1.addCell(ItextUtil.getCell(simfang12,
                ItextUtil.checked(
                        new String[] { "", "", "???", "??", "??", "" },
                        map.get("sample_type")),
                o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "", m + n));

        table1.addCell(
                ItextUtil.getCell(simfang12,
                        ItextUtil.checked(
                                new String[] { "", "", "???", "",
                                        "??", "", "?", "", "" },
                                map.get("sampling_address")),
                        o + p + q, false));

        table1.addCell(ItextUtil.getCell(simfang12, "", m, 3));

        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("name"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "??", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("address"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("contact_and_phone"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "??", m, 8));

        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_name"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "?", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_type"), o));
        table1.addCell(ItextUtil.getCell(simfang12, "?", p));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_level"), q));

        table1.addCell(ItextUtil.getCell(simfang12, "", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_brand"), o));
        table1.addCell(ItextUtil.getCell(simfang12, "", p));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_standard"), q));

        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_sno"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "/?", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_date"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "?", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("product_expired"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "?", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("number"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("date"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12,
                "???"
                        + ItextUtil.checked(new String[] { "", "?" },
                                map.get("company_equal_sampling_ground"))
                        + "????",
                cols));

        table1.addCell(ItextUtil.getCell(simfang12, "?", m, 3));

        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("company_name"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "??", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("company_address"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "???", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("company_linkman_and_phone"), o + p + q));

        table1.addCell(ItextUtil.getCell(simfang12, "", m, 4));

        table1.addCell(ItextUtil.getCell(simfang12, "??", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("depart_name"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "?", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("depart_people"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "??", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("depart_phone"), o + p + q));
        table1.addCell(ItextUtil.getCell(simfang12, "/Email", n));
        table1.addCell(ItextUtil.getCell(bf, map.get("depart_email"), o + p + q));

        // ?
        Font blackFont = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.NORMAL, BaseColor.WHITE);

        String remark = map.get("remark") == null ? "" : map.get("remark");
        int nn = 25 + 43 * 6;
        if (remark != null && remark.length() < 25 + 43 * 4) {
            nn = nn - remark.length();
        }

        table1.addCell(ItextUtil.getRemarkCell(simfang12, blackFont, "?",
                bf, remark, cols, nn));

        table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??",
                "?", "    ", 35, 7, 6 + 14 * 4 + 14));
        table1.addCell(ItextUtil.getMultiCell2(simfang12, blackFont, "",
                "    ", 33, 5 + 14 * 5 + 9));
        table1.addCell(ItextUtil.getMultiCell2(simfang12, blackFont, "??",
                "    ", 32, 5 + 13 * 5 + 8));
        document.add(table1);

        Font simfang8 = FontUtil.getFont(mContext, 8, "simfang.ttf");
        Paragraph r1 = new Paragraph(
                ":1.?,???,????",
                simfang8);
        document.add(r1);
        Paragraph r2 = new Paragraph(
                "2.???3.????", simfang8);
        document.add(r2);

        zxing(map.get("zxing"), mContext, document);

        stmp(mContext, document, 220, 40);

        Paragraph bbb = new Paragraph(ItextUtil.getBlackStr(88), blackFont);
        document.add(bbb);
        // 
        document.close();
        return true;
    } catch (Exception e) {
        Log.e(TAG, "", e);
        return false;
    }
}