List of usage examples for com.itextpdf.text.pdf AcroFields setField
public boolean setField(String name, String value) throws IOException, DocumentException
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 ww . j a v a2 s . c om*/ 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 ww w .j a va 2 s .c om*/ 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: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 {/*from w w w . j a v a2s. 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();/* w w w. java 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;//ww w .j a va 2s . c om 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;/*from ww w .j a v a 2 s.c o m*/ 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); 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 {// ww w . j a va 2 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());/* ww w . j av a2 s . 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.stee.emer.util.PdfGenerator.java
License:Open Source License
public static byte[] generate(Map<String, String> map) throws IOException, DocumentException { URL classPath = PdfGenerator.class.getClassLoader().getResource(""); PdfReader pdfReader = new PdfReader(classPath + "com/stee/emer/model/model.pdf"); ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfStamper pdfStamper = new PdfStamper(pdfReader, os); AcroFields acroFields = pdfStamper.getAcroFields(); BaseFont baseFont = BaseFont.createFont(classPath + "MSYH.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); ArrayList<BaseFont> list = new ArrayList<BaseFont>(); list.add(baseFont);/*from w ww . ja v a 2 s .c om*/ acroFields.setSubstitutionFonts(list); Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Entry<String, String> next = iterator.next(); acroFields.setField(next.getKey(), next.getValue()); } pdfStamper.setFormFlattening(true); pdfStamper.close(); // File file = new File("e:/temp.pdf"); // FileOutputStream fileOutputStream = new FileOutputStream(file); // fileOutputStream.write(os.toByteArray()); // fileOutputStream.flush(); // fileOutputStream.close(); return os.toByteArray(); }
From source file:com.wabacus.system.assistant.PdfAssistant.java
License:Open Source License
private ByteArrayOutputStream showReportOneRowDataOnPdf(ReportRequest rrequest, Map<String, AbsReportType> mReportTypeObjs, IComponentConfigBean ccbean, PDFExportBean pdfbean, int rowidx) throws Exception { PdfReader pdfTplReader = null;/*from w w w.j a v a2 s . c o m*/ InputStream istream = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { istream = WabacusAssistant.getInstance().readFile(pdfbean.getPdftemplate()); if (istream == null) return null; pdfTplReader = new PdfReader(new BufferedInputStream(istream)); PdfStamper stamp = new PdfStamper(pdfTplReader, baos); /* ?? */ AcroFields form = stamp.getAcroFields(); form.addSubstitutionFont(bfChinese); boolean flag = true; if (pdfbean != null && pdfbean.getInterceptorObj() != null) { flag = pdfbean.getInterceptorObj().beforeDisplayPdfPageWithTemplate(ccbean, mReportTypeObjs, rowidx, stamp); } if (flag) { Map<String, Item> mFields = form.getFields(); if (mFields != null) { String fieldValueTmp = null; for (String fieldNameTmp : mFields.keySet()) { fieldValueTmp = getPdfFieldValueByName(rrequest, mReportTypeObjs, ccbean, fieldNameTmp, rowidx);//? if (pdfbean != null && pdfbean.getInterceptorObj() != null) { fieldValueTmp = pdfbean.getInterceptorObj().beforeDisplayFieldWithTemplate(ccbean, mReportTypeObjs, rowidx, stamp, fieldNameTmp, fieldValueTmp); } if (fieldValueTmp != null) form.setField(fieldNameTmp, fieldValueTmp); } } } if (pdfbean != null && pdfbean.getInterceptorObj() != null) { pdfbean.getInterceptorObj().afterDisplayPdfPageWithTemplate(ccbean, mReportTypeObjs, rowidx, stamp); } stamp.setFormFlattening(true); stamp.close(); } finally { try { if (istream != null) istream.close(); } catch (IOException e) { e.printStackTrace(); } if (pdfTplReader != null) pdfTplReader.close(); } return baos; }