Example usage for com.itextpdf.text.pdf PdfStamper getAcroFields

List of usage examples for com.itextpdf.text.pdf PdfStamper getAcroFields

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfStamper getAcroFields.

Prototype

public AcroFields getAcroFields() 

Source Link

Document

Gets the AcroFields object that allows to get and set field values and to merge FDF forms.

Usage

From source file:TwoCustPDF.java

public static void createfile(File inputfile, Customer myCust, String SecondCust, Inverter myInvert,
        ExtraData mydata, Preparer myPrep, Module myMod) throws DocumentException, IOException {
    String[] LastFirst;//from   w  w  w  . j  a v  a2 s .c o m
    LastFirst = myCust.getName().split(" ");
    String homeDir = System.getProperty("user.home");
    String separator = System.getProperty("file.separator");
    String INPUTFILENAME = inputfile.getPath();
    String inputFileNameShort = inputfile.getName();
    inputFileNameShort = inputFileNameShort.substring(0, inputFileNameShort.lastIndexOf('.'));
    String OUTPUTFILENAME = homeDir + separator + "Dropbox" + separator + "Utility and Permiting" + separator
            + "1 Utility Submissions" + separator + LastFirst[LastFirst.length - 1] + ", " + LastFirst[0] + " "
            + "(" + myCust.getState() + ")" + separator + inputFileNameShort + "-" + myCust.getName() + ".pdf";
    File outfile = new File(OUTPUTFILENAME);
    outfile.getParentFile().mkdirs();
    if (!outfile.getParentFile().exists()) {
        boolean mkdirSts = outfile.getParentFile().mkdirs();
        GUI.instructions.setText(
                String.format("%s creating Files for %s", mkdirSts ? "Success" : "Failure", myCust.getName()));
    }

    PdfReader reader = new PdfReader(INPUTFILENAME);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUTFILENAME));
    AcroFields fields = stamper.getAcroFields();
    fields.setGenerateAppearances(true);
    fields.setField("Customer Name", SecondCust);
    fields.setField("Second Customer Name", myCust.getName());
    fields.setField("Account Number", mydata.getAccountNumber());
    fields.setField("Customer Street Address", myCust.getStreetAddress());
    fields.setField("Customer City", myCust.getCity());
    fields.setField("Customer Zip Code", myCust.getZipCode());
    fields.setField("Customer Phone", myCust.getCellNumber());
    fields.setField("Customer E-mail", myCust.getEmail());
    fields.setField("Preparer Name", myPrep.getName());
    fields.setField("License Number", myPrep.getLicencenum());
    fields.setField("Preparer Street Address", myPrep.getStreetAddress());
    fields.setField("Preparer City", myPrep.getCity());
    fields.setField("Preparer Zip Code", myPrep.getZipCode());
    fields.setField("Preparer Phone#", myPrep.getWorkPhoneNumber());
    fields.setField("Preparer E-mail", myPrep.getEmail());
    fields.setField("Module Brand", myMod.getBrand());
    fields.setField("Module Number", myMod.getNumber());
    fields.setField("Module qty", myMod.getQuantityString());
    fields.setField("ptc rating", myMod.getptcRating());
    fields.setField("Array Azimuth", myMod.getArrayAzimuth());
    fields.setField("Inverter Brand", myInvert.getBrand());
    fields.setField("Inverter Number", myInvert.getNumber());
    fields.setField("Inverter Efficiency", myInvert.getefficiencyString());
    fields.setField("DC kiloWatts", myMod.getDCkiloWatts() + "kW DC");
    fields.setField("Complete Date", mydata.getCompleteDate());
    fields.setField("Rebate Amount", mydata.getRebateAmount());
    fields.setField("Customer Address", myCust.getFullAddress());
    fields.setField("Array Tilt degrees", myMod.getArrayTilt());
    fields.setField("Customer + Customer Address", SecondCust + " " + myCust.getFullAddress());
    fields.setField("Preparer Address", myPrep.getFullAddress());
    fields.setField("AC kiloWatt", myInvert.getACKiloWatts());
    fields.setField("AC Export", mydata.getACExport());
    fields.setField("Amperage Rating", myInvert.getAmperage());
    fields.setField("Customer City, State, Zip", myCust.getCityStateZip());
    fields.setField("Inverter Name + Brand + Quantity", myInvert.getInverterNameBrandQty());
    fields.setField("Module Name + Brand + Quantity", myMod.getNumberBrandQty());
    fields.setField("Racking", myMod.getRacking());
    fields.setField("System Production", mydata.getProduction());
    fields.setField("System Cost", mydata.getCost());
    fields.setField("Date", mydata.getTodayDate());
    fields.setField("Module Watts", myMod.getWatts() + " " + "Watts");
    fields.setField("Price Per Watt", mydata.getPricePerWatt());
    stamper.close();
}

From source file:PDFHandler.java

public static void createfile(File inputfile, Customer myCust, Inverter myInvert, ExtraData mydata,
        Preparer myPrep, Module myMod) throws DocumentException, IOException {
    String[] LastFirst;//from w w w.  java 2s .com
    LastFirst = myCust.getName().split(" ");
    String homeDir = System.getProperty("user.home");
    String separator = System.getProperty("file.separator");
    String INPUTFILENAME = inputfile.getPath();
    String inputFileNameShort = inputfile.getName();
    String OUTPUTFILENAME;
    inputFileNameShort = inputFileNameShort.substring(0, inputFileNameShort.lastIndexOf('.'));
    if (myCust.getName().contains("Offer"))//some error handling for offerpad customers.
    {
        OUTPUTFILENAME = homeDir + separator + "Dropbox" + separator + "Utility and Permiting" + separator
                + "Multi File" + separator + myCust.getStreetAddress() + " " + "(" + myCust.getState() + ")"
                + separator + inputFileNameShort + ".pdf";
    } else {
        OUTPUTFILENAME = homeDir + separator + "Dropbox (Elevation Solar)" + separator + "Utility and Permiting"
                + separator + "1 Utility Submissions" + separator + LastFirst[(LastFirst.length - 1)] + ", "
                + LastFirst[0] + " " + "(" + myCust.getState() + ")" + separator + inputFileNameShort + "-"
                + myCust.getName() + ".pdf";
    }
    File outfile = new File(OUTPUTFILENAME);
    if (!outfile.getParentFile().exists())//make sure the directories exist.
    {
        boolean mkdirSts = outfile.getParentFile().mkdirs();
        GUI.instructions.setText(
                String.format("%s creating Files for %s", mkdirSts ? "Success" : "Failure", myCust.getName()));
    }

    //The stamper basically copies the reader's contents into a new pdf. 
    //then, thanks to itext, I can easily fill the formfields with what i need.
    //The string literals are all the names in the pdf forms that need filled.
    PdfReader reader = new PdfReader(INPUTFILENAME);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUTFILENAME));
    AcroFields fields = stamper.getAcroFields();
    fields.setGenerateAppearances(true);
    fields.setField("Customer Name", myCust.getName());
    fields.setField("Account Number", mydata.getAccountNumber());
    fields.setField("Customer Street Address", myCust.getStreetAddress());
    fields.setField("Customer City", myCust.getCity());
    fields.setField("Customer Zip Code", myCust.getZipCode());
    fields.setField("Customer Phone", myCust.getCellNumber());
    fields.setField("Customer E-mail", myCust.getEmail());
    fields.setField("Preparer Name", myPrep.getName());
    fields.setField("License Number", myPrep.getLicencenum());
    fields.setField("Preparer Street Address", myPrep.getStreetAddress());
    fields.setField("Preparer City", myPrep.getCity());
    fields.setField("Preparer Zip Code", myPrep.getZipCode());
    fields.setField("Preparer Phone#", myPrep.getWorkPhoneNumber());
    fields.setField("Preparer E-mail", myPrep.getEmail());
    fields.setField("Module Brand", myMod.getBrand());
    fields.setField("Module Number", myMod.getNumber());
    fields.setField("Module qty", myMod.getQuantityString());
    fields.setField("ptc rating", myMod.getptcRating());
    fields.setField("Array Azimuth", myMod.getArrayAzimuth());
    fields.setField("Inverter Brand", myInvert.getBrand());
    fields.setField("Inverter Number", myInvert.getNumber());
    fields.setField("Inverter Efficiency", myInvert.getefficiencyString());
    fields.setField("DC kiloWatts", myMod.getDCkiloWatts() + "kW DC");
    fields.setField("Complete Date", mydata.getCompleteDate());
    fields.setField("Rebate Amount", mydata.getRebateAmount());
    fields.setField("Customer Address", myCust.getFullAddress());
    fields.setField("Array Tilt degrees", myMod.getArrayTilt());
    fields.setField("Customer + Customer Address", myCust.getCustomerAdd());
    fields.setField("Preparer Address", myPrep.getFullAddress());
    fields.setField("AC kiloWatt", myInvert.getACKiloWatts());
    fields.setField("AC Export", mydata.getACExport());
    fields.setField("Amperage Rating", myInvert.getAmperage());
    fields.setField("Customer City, State, Zip", myCust.getCityStateZip());
    fields.setField("Inverter Name + Brand + Quantity", myInvert.getInverterNameBrandQty());
    fields.setField("Module Name + Brand + Quantity", myMod.getNumberBrandQty());
    fields.setField("Racking", myMod.getRacking());
    fields.setField("System Production", mydata.getProduction());
    fields.setField("System Cost", mydata.getCost());
    fields.setField("Date", mydata.getTodayDate());
    fields.setField("Module Watts", myMod.getWatts() + " " + "Watts");
    fields.setField("Price Per Watt", mydata.getPricePerWatt());
    stamper.close();
}

From source file:aero.m_click.mcpdf.Main.java

License:Open Source License

public static void execute(Config config) throws IOException, DocumentException {
    PdfReader reader = new PdfReader(config.pdfInputStream);
    PdfStamper stamper = new PdfStamper(reader, config.pdfOutputStream, '\0');
    if (config.formInputStream != null) {
        if (config.isFdf) {
            stamper.getAcroFields().setFields(new FdfReader(config.formInputStream));
        } else {//from w ww . j a v  a2 s  .c o m
            stamper.getAcroFields().setFields(new XfdfReader(config.formInputStream));
        }
    }
    stamper.setFormFlattening(config.flatten);
    stamper.close();
}

From source file:Almacen.Responsiva.java

private void b_imprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_imprimirActionPerformed
    // TODO add your handling code here:
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {// w  w w  .ja  va 2 s  . c  o  m
        String empleado = "";
        String puesto = "";
        if (t_datos.getRowCount() > 0) {
            //consulta
            Query q = session.createSQLQuery(
                    "select empleado.nombre as empleado, puestos.nombre as puesto from empleado inner join puestos on puestos.id_puestos=empleado.id_puesto where empleado.id_empleado="
                            + t_id_empleado.getText() + ";");
            q.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
            List lista = q.list();

            for (int i = 0; i < lista.size(); i++) {
                java.util.HashMap map = (java.util.HashMap) lista.get(i);
                empleado = (String) map.get("empleado");
                puesto = (String) map.get("puesto");
            }

            Date fecha = new Date();
            DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
            String Mes[] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto",
                    "Septiembre", "Octubre", "Noviembre", "Diciembre" };
            Calendar fecha1 = new GregorianCalendar();
            int anio = fecha1.get(Calendar.YEAR);
            int mes = fecha1.get(Calendar.MONTH);
            int dia = fecha1.get(Calendar.DAY_OF_MONTH);
            //DateFormat dateFormat1 = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS
            String valor = dateFormat.format(fecha);
            File folder = new File("reportes/Responsivas");
            folder.mkdirs();
            PdfReader reader = new PdfReader("imagenes/CartaResponsiva.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/Responsivas/" + valor + "CartaResponsiva.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            PdfContentByte cb2 = stamp.getUnderContent(2);
            AcroFields fdfDoc = stamp.getAcroFields();
            // Creo una fuente
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //dia
            try {
                if (dia < 9)
                    fdfDoc.setField("Dia", "0" + String.valueOf(dia));
                else
                    fdfDoc.setField("Dia", String.valueOf(dia));
            } catch (Exception e) {
                fdfDoc.setField("Dia", "error");
            }
            //mes
            try {
                fdfDoc.setField("Mes", Mes[mes]);
            } catch (Exception e) {
                fdfDoc.setField("Mes", "");
            }
            //ao
            try {
                fdfDoc.setField("Anio", String.valueOf(anio));
            } catch (Exception e) {
                fdfDoc.setField("Anio", "");
            }
            //nombre
            try {
                fdfDoc.setField("Nombre", empleado);
            } catch (Exception e) {
                fdfDoc.setField("Nombre", "");
            }
            //puesto
            try {
                fdfDoc.setField("Puesto", puesto);
            } catch (Exception e) {
                fdfDoc.setField("Puesto", "");
            }

            //tabla de herramientas
            float tam[] = new float[] { 250, 50, 180 };
            Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD);
            PDF reporte = new PDF();
            PdfPTable tabla = reporte.crearTabla(3, tam, 100, Element.ALIGN_LEFT);
            tabla.setTotalWidth(tam);
            BaseColor cabecera = BaseColor.GRAY;
            BaseColor contenido = BaseColor.WHITE;
            int centro = Element.ALIGN_CENTER;
            int izquierda = Element.ALIGN_LEFT;
            int derecha = Element.ALIGN_RIGHT;

            tabla.addCell(reporte.celda("HERRAMIENTA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("CANTIDAD", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NOTAS", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

            for (int i = 0; i < t_datos.getRowCount(); i++) {
                tabla.addCell(reporte.celda(t_datos.getValueAt(i, 1).toString(), font, contenido, izquierda, 0,
                        1, Rectangle.RECTANGLE));

                tabla.addCell(reporte.celda(String.valueOf((double) t_datos.getValueAt(i, 2)), font, contenido,
                        centro, 0, 1, Rectangle.RECTANGLE));
                if (t_datos.getValueAt(i, 3) != null)
                    tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda,
                            0, 1, Rectangle.RECTANGLE));
                else
                    tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            }

            tabla.completeRow();
            tabla.writeSelectedRows(0, -1, 70, 720, cb2);
            cb.endText();
            stamp.close();
            reporte.cerrar();
            reporte.visualizar("reportes/Responsivas/" + valor + "CartaResponsiva.pdf");
        } else {
            JOptionPane.showMessageDialog(this, "No Existe Ninguna Responsiva");
        }
    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null) {
        if (session.isOpen()) {
            session.close();
        }
    }
}

From source file:com.cts.ptms.carrier.ups.UPSHTTPClient.java

public String createInvoicePDF(String imagePath, String OUTPUT_FILEPATH)
        throws FileNotFoundException, IOException, DocumentException, InterruptedException, URISyntaxException {

    float currPosition = 0;
    String sFilepath = OUTPUT_FILEPATH;
    Image image = Image.getInstance(imagePath);
    //create a paragraph
    Paragraph paragraph = new Paragraph();
    Document d = new Document(PageSize.A4_LANDSCAPE.rotate());
    PdfWriter w = PdfWriter.getInstance(d, new FileOutputStream(sFilepath));
    d.open();/*from  w  ww  .  j  a  v  a 2 s  .c  o m*/
    PdfContentByte cb = w.getDirectContent();
    ByteArrayOutputStream stampedBuffer;
    URL resource = this.getClass().getClassLoader().getResource(ShippingConstants.INVOICE_TEMPLATE);
    File file = new File(resource.toURI());
    PdfReader templateReader = new PdfReader(new FileInputStream(file));
    stampedBuffer = new ByteArrayOutputStream();
    PdfStamper stamper = new PdfStamper(templateReader, stampedBuffer);
    stamper.setFormFlattening(true);
    AcroFields form = stamper.getAcroFields();
    float[] columnWidths = { 1f, 1f, 1f, 3f };
    //create PDF table with the given widths
    PdfPTable table = new PdfPTable(columnWidths);
    // form.setField("field1", String.format("Form Text %d", i+1));
    form.setField("OBName", "Ragav");
    form.setField("OBCompany", "Ragav");
    form.setField("OBAddress", "2002 SW Sarazen Cr");
    form.setField("OBCity", "Bentonville");
    form.setField("OBPhone", "1234567890");
    form.setField("STName", "Ragav");
    form.setField("STCompany", "Ragav");
    form.setField("STAddress", "2002 SW Sarazen Cr");
    form.setField("STCity", "Bentonville");
    form.setField("STPhone", "1234567890");
    form.setField("itemNo", "12334535");
    form.setField("itemDesc", "Laundry Bag");
    stamper.close();
    templateReader.close();
    form = null;
    stamper.close();
    templateReader.close();
    PdfReader stampedReader = new PdfReader(stampedBuffer.toByteArray());
    PdfImportedPage page = w.getImportedPage(stampedReader, 1);
    cb.addTemplate(page, 0, currPosition);
    image.scaleAbsoluteHeight(325);
    image.scaleAbsoluteWidth(550);
    image.setRotationDegrees(270);
    image.setAbsolutePosition(450, 20);
    d.add(image);
    d.close();
    w.close();

    return sFilepath;
}

From source file:com.education.freelancer.MainActivity.java

private void doSaveToPdf() {
    PdfReader reader = null;/*from w ww  .  j a  v a2 s  .  c o m*/
    SharedPreferences sharedpreferences = getSharedPreferences("my_shared", Context.MODE_PRIVATE);
    //  SharedPreferences prefs = this.getSharedPreferences("general_settings", Context.MODE_PRIVATE);
    String count = sharedpreferences.getString("count", "1");
    String pdfPath1 = Environment.getExternalStorageDirectory().getPath() + "/DigitSign/abc" + count + ".pdf";
    try {
        reader = new PdfReader(getAssets().open("abc.pdf"));
        // reader = new PdfReader(getResources().openRawResource(R.raw.abc));
        //  reader = new PdfReader( pdfPath );
    } catch (IOException e) {
        e.printStackTrace();
    }
    AcroFields fields = reader.getAcroFields();

    try {
        OutputStream output = null;
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(pdfPath1));
        AcroFields acroFields = stamper.getAcroFields();
        acroFields.setField("page2_1", getUserdetails(0));
        acroFields.setField("page3_2", getUserdetails(1));
        acroFields.setField("page3_3", getUserdetails(2));
        acroFields.setField("page3_4", getUserdetails(3));
        acroFields.setField("page3_6", getUserdetails(4));
        acroFields.setField("page6_1", getUserdetails(5));
        acroFields.setField("page6_2", getUserdetails(6));
        acroFields.setField("page6_4", getUserdetails(7));
        setSignatureStamp(stamper, acroFields, "page3_1");
        setSignatureStamp(stamper, acroFields, "page3_5");
        setSignatureStamp(stamper, acroFields, "page6_3");
        stamper.setFormFlattening(true);
        stamper.close();
        int cou = Integer.parseInt(count);

        String newCount = Integer.toString(++cou);
        SharedPreferences.Editor editor = sharedpreferences.edit();
        editor.putString("count", newCount);
        editor.commit();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }

}

From source file:com.iei.web.businesscard.business.businesscard.boundary.EmailService.java

public byte[] writePdf(ByteArrayOutputStream outputStream, BusinessCard businessCard)
        throws IOException, DocumentException {
    PdfStamper stamper = null;
    ByteArrayOutputStream byteStream = null;
    String template = getTemplate(businessCard);
    String email = convertEmail(businessCard);
    InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(template);
    PdfReader outReader = new PdfReader(is);
    byteStream = new ByteArrayOutputStream();
    stamper = new PdfStamper(outReader, byteStream);
    AcroFields acroField = stamper.getAcroFields();
    acroField.setFieldProperty("Name", "textsize", new Float(6), null);
    acroField.setField("Name", businessCard.getName());
    acroField.setField("Title", businessCard.getDesignation());
    acroField.setField("Cell", businessCard.getCell());
    acroField.setField("Phone", businessCard.getCompany().getPhone() + "  Ext." + businessCard.getExtension());
    acroField.setField("Web", businessCard.getCompany().getCompanyURL());
    acroField.setField("Email", email);

    stamper.setFormFlattening(true);//from   w  ww .jav a  2s .c  o m
    FdfWriter fdfWriter = new FdfWriter();
    acroField.exportAsFdf(fdfWriter);
    stamper.close();
    return byteStream.toByteArray();
}

From source file:com.kentcommunications.paf.StampFields.java

License:Apache License

public void stampPdf(String dest, HashMap<String, String> fields) throws Exception {
    PdfReader reader = new PdfReader(getClass().getResource("/Form.pdf"));
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
    AcroFields form = stamper.getAcroFields();

    fields.forEach((field, value) -> {
        try {/*w  ww .  j a  va2  s .  c o  m*/
            form.setField(field, value);
        } catch (Exception e) {
            e.printStackTrace();
        }
    });

    stamper.close();
}

From source file:com.mui.certificate.core.HalalCertification.java

License:Apache License

@Override
public void exportCertificate(Certificate cert, File outputPdf) throws Exception {
    ByteMatrix matrix = generateQRCode(cert.getCertificateURL().toString());
    int scale = sMagicNumber / matrix.getWidth();
    BufferedImage buffImage = convertToImage(matrix, scale);
    File tempOutput = new File("tmp-qrcode.png");
    ImageIO.write(buffImage, "png", tempOutput);
    Image itImage = Image.getInstance(tempOutput.getCanonicalPath());
    PdfReader reader = new PdfReader("doc/template_certificate_halal.pdf");
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputPdf));
    int centerY = 715;
    int centerX = 135;
    itImage.setAbsolutePosition(centerX - (itImage.getWidth() / 2), centerY - (itImage.getHeight() / 2));
    stamper.getOverContent(1).addImage(itImage);
    AcroFields form1 = stamper.getAcroFields();
    String nameHeader = "topmostSubform[0].Page1[0].";
    form1.setField(nameHeader + "no_certificate[0]", cert.getCertificateNumber().toString());
    form1.setField(nameHeader + "name_product[0]", cert.getProductName());
    form1.setField(nameHeader + "type_product[0]", cert.getProductType());
    form1.setField(nameHeader + "name_company[0]", cert.getCompanyName());
    form1.setField(nameHeader + "company_address[0]", cert.getCompanyAddress());
    Calendar cal = Calendar.getInstance(new Locale("id"));
    Locale idLocale = new Locale("id");
    cal.setTime(cert.getIssuedDate());//from w w w  .ja va2s.  co m
    form1.setField(nameHeader + "issued_date[0]", String.format(idLocale, "%1$tA, %1$te %1$tB %1$tY", cal));
    cal.setTime(cert.getValidDate());
    form1.setField(nameHeader + "expired_date[0]", String.format(idLocale, "%1$tA, %1$te %1$tB %1$tY", cal));
    stamper.setFormFlattening(true);
    stamper.close();
    tempOutput.delete();
}

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

public void extractFromPdf(String src, String dest) throws DocumentException, IOException {

    PdfReader reader = new PdfReader(src);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));

    PushbuttonField button = new PushbuttonField(stamper.getWriter(), new Rectangle(36, 700, 112, 730), "get");

    //stamper.getWriter().addJavaScript(Utilities.readFileToString(RESOURCE));
    button.setText("SAVE My INFO");
    button.setBackgroundColor(new GrayColor(0.7f));
    button.setVisibility(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT);
    PdfFormField submit = button.getField();

    /*//from www  .  j ava 2s.c o m
          button.setBackgroundColor(new GrayColor(0.7f));
          button.setVisibility(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT);
     */

    //PdfFormField pull_data = upload_info.getField();
    //  pull_data.setAction(PdfAction.javaScript(Utilities.readFileToString(submit_button_script), stamper.getWriter()));
    stamper.getWriter().addJavaScript(Utilities.readFileToString(checkbox));
    stamper.getWriter().addJavaScript(Utilities.readFileToString(upload_info));
    //PushbuttonField submitButton=stamper.getAcroFields().getNewPushbuttonFromField("UseSavedInfo");
    //PdfFormField field=submitButton.getField();
    //field.setAction(PdfAction.javaScript("app.alert('hello')" ,stamper.getWriter()));
    /*
     PushbuttonField useMySavedInfo = new PushbuttonField(
      stamper.getWriter(), new Rectangle(36, 1000, 559, 806), "MySavedInfo" );
      useMySavedInfo.setText("Upload info");
      useMySavedInfo.setBackgroundColor(new GrayColor(0.7f));
      useMySavedInfo.setVisibility(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT);
       PdfFormField  extractInfo=useMySavedInfo.getField();
    */
    //  extractInfo.setAction(PdfAction.javaScript("alert('hello')", stamper.getWriter()));
    //  extractInfo.setAction(PdfAction.);
    //stamper.

    /*
    AcroFields fields = stamper.getAcroFields();
     PushbuttonField submitButton=fields.getNewPushbuttonFromField("SubmitForm");
    */
    //System.out.println(submitButton.getAppearance().getHeight());
    //System.out.println(submitButton.getAppearance().getWidth());
    //System.out.println(submitButton.getAppearance());
    //submitButton
    //submitButton.getField().get
    //submitButton.getWriter().setAdditionalAction(, PdfAction.javaScript("app.alert('os')",stamper.getWriter()));
    //submitButton.getWriter().setAdditionalAction(PdfName., action);
    //PdfFormField sb=submitButton.getField();
    //sb.setAction(PdfAction.javaScript("app.alert('test')", stamper.getWriter()));

    // sumbitInfo.setAction(PdfAction.javaScript("app.alert('test')", stamper.getWriter()));
    //submit.setAction(PdfAction.javaScript("app.alert('test')", stamper.getWriter()));

    //PushbuttonField useInfo = fields.getNewPushbuttonFromField("UseSavedInfo");
    //PdfAnnotation getInfo=useInfo.getField();
    //getInfo.setAction(PdfAction.javaScript("app.alert('action!')", stamper.getWriter()));

    // ffield.SetAdditionalActions(PdfName.E, PdfAction("app.alert('action!')"));

    AcroFields fields = stamper.getAcroFields();

    // PushbuttonField saveInfo = fields.getNewPushbuttonFromField("SaveInfo");
    //   PdfFormField fd=saveInfo.getField();
    //fd.setAction(PdfAction.createSubmitForm("http://127.0.0.1/index.php",null,PdfAction.SUBMIT_HTML_FORMAT));
    //PdfAppearance pa =saveInfo.getAppearance();
    // pa.setAction(PdfAction.createSubmitForm("http://127.0.0.1/index.php",null,PdfAction.SUBMIT_HTML_FORMAT), 0, 0, 0, 0);
    Set<String> fldNames = fields.getFields().keySet();

    //AcroFields fields = stamper.getAcroFields();
    for (String fldName : fldNames) {
        System.out.println(fldName + ": " + fields.getField(fldName));
    }
    //submit.setAdditionalAction(PdfAction.javaScript(Utilities.readFileToString(submit_button_script), stamper.getWriter()));
    //http://www.mycrewid.com/Alexander/index.php
    //submit.setAction(PdfAction.createSubmitForm(
    //       "http://127.0.0.1/index.php", null,
    //     PdfAction.SUBMIT_HTML_FORMAT));
    submit.setAction(
            PdfAction.javaScript(Utilities.readFileToString(submit_button_script), stamper.getWriter()));
    stamper.addAnnotation(submit, 1);
    stamper.close();
    //PdfAction.javaScript("this.getField('FirstName').value=util.printd(\"dd mmmm yyyy\",new Date())",stamper.getWriter());

    //stamper.addAnnotation(submitButton, 1);
    //stamper.addAnnotation(sb,1);
    // submit.setAdditionalActions(PdfName.E, PdfAction.javaScript(Utilities.readFileToString(submit_button_script),stamper.getWriter()));

}