List of usage examples for com.lowagie.text.pdf PdfStamper PdfStamper
public PdfStamper(PdfReader reader, OutputStream os) throws DocumentException, IOException
From source file:org.apache.ofbiz.content.survey.PdfSurveyServices.java
License:Apache License
/** *///from w ww .ja v a2 s . c om public static Map<String, Object> setAcroFields(DispatchContext dctx, Map<String, ? extends Object> context) { Map<String, Object> results = ServiceUtil.returnSuccess(); Delegator delegator = dctx.getDelegator(); try { Map<String, Object> acroFieldMap = UtilGenerics.checkMap(context.get("acroFieldMap")); ByteBuffer byteBuffer = getInputByteBuffer(context, delegator); PdfReader r = new PdfReader(byteBuffer.array()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfStamper s = new PdfStamper(r, baos); AcroFields fs = s.getAcroFields(); Map<String, Object> map = UtilGenerics.checkMap(fs.getFields()); s.setFormFlattening(true); for (String fieldName : map.keySet()) { String fieldValue = fs.getField(fieldName); Object obj = acroFieldMap.get(fieldName); if (obj instanceof Date) { Date d = (Date) obj; fieldValue = UtilDateTime.toDateString(d); } else if (obj instanceof Long) { Long lg = (Long) obj; fieldValue = lg.toString(); } else if (obj instanceof Integer) { Integer ii = (Integer) obj; fieldValue = ii.toString(); } else { fieldValue = (String) obj; } if (UtilValidate.isNotEmpty(fieldValue)) { fs.setField(fieldName, fieldValue); } } s.close(); baos.close(); ByteBuffer outByteBuffer = ByteBuffer.wrap(baos.toByteArray()); results.put("outByteBuffer", outByteBuffer); } catch (DocumentException e) { System.err.println(e.getMessage()); results = ServiceUtil.returnError(e.getMessage()); } catch (GeneralException e) { System.err.println(e.getMessage()); results = ServiceUtil.returnError(e.getMessage()); } catch (FileNotFoundException e) { System.err.println(e.getMessage()); results = ServiceUtil.returnError(e.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); results = ServiceUtil.returnError(ioe.getMessage()); } catch (Exception ioe) { System.err.println(ioe.getMessage()); results = ServiceUtil.returnError(ioe.getMessage()); } return results; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.BPIPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfBPICardAEIST(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(BPI_AEIST_CARD_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();/*from w w w . ja v a2 s . co m*/ setField("BI/CC", person.getDocumentIdNumber()); setField("Nome", person.getName()); setField("topmostSubform[0].Page1[0].Datavalidade[0]", person.getExpirationDateOfDocumentIdYearMonthDay() .toString(DateTimeFormat.forPattern("dd/MM/yyyy"))); setField("dia", String.format("%02d", person.getExpirationDateOfDocumentIdYearMonthDay().getDayOfMonth())); setField("Ms", String.format("%02d", person.getExpirationDateOfDocumentIdYearMonthDay().getMonthOfYear())); setField("Ano", String.valueOf(person.getExpirationDateOfDocumentIdYearMonthDay().getYear())); stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.BPIPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfBPIDigitalDoc(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(BPI_DIGITAL_DOCUMENTATION_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); //reader.selectPages("1"); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();/*from w w w . j a v a 2 s. c om*/ setField("Text1", person.getName()); stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.BPIPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfBPIPersonalInformation(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(BPI_PERSONAL_INFORMATION_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); reader.selectPages("1,2"); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();/*from w w w . j av a 2 s .c o m*/ setField("NomeCompleto_1", person.getName()); if (person.isFemale()) { setField("Sexo_F", "Yes"); // female } else { setField("Sexo_M", "Yes"); // male } setField("NIF", person.getSocialSecurityNumber()); setField("Numero", person.getDocumentIdNumber()); setField("Nacionalidade", person.getCountryOfBirth().getCountryNationality().toString()); setField("Naturalidade", person.getCountryOfBirth().getName()); setField("Distrito", person.getDistrictOfBirth()); setField("Concelho", person.getDistrictSubdivisionOfBirth()); setField("Freguesia", person.getParishOfBirth()); setField("NomedoPai", person.getNameOfFather()); setField("NomedaMae", person.getNameOfMother()); switch (person.getMaritalStatus()) { case CIVIL_UNION: setField("EstadoCivil_UniaodeFacto", "Yes"); break; case DIVORCED: setField("EstadoCivil_Divorciado", "Yes"); break; case MARRIED: setField("EstadoCivil_Casado", "Yes"); break; case SEPARATED: setField("EstadoCivil_Separado Judicialmente", "Yes"); break; case SINGLE: setField("EstadoCivil_Solteiro", "Yes"); break; case WIDOWER: setField("EstadoCivil_Viuvo", "Yes"); break; } setField("MoradadeResidenciaPermanente_1", person.getAddress()); setField("MoradadeResidenciaPermanente_Localidade", person.getAreaOfAreaCode()); setField("MoradadeResidenciaPermanente_DesignacaoPostal", person.getAreaOfAreaCode()); setField("MoradadeResidenciaPermanente_Pais", person.getCountryOfResidence().getName()); String postalCode = person.getPostalCode(); int dashIndex = postalCode.indexOf('-'); setField("CodigoPostal_1_1", postalCode.substring(0, 4)); String last3Numbers = postalCode.substring(dashIndex + 1, dashIndex + 4); setField("CodigoPostal_1_2", last3Numbers); setField("Contactos_Movel_Pessoal", person.getDefaultMobilePhoneNumber()); setField("Contactos_Email", getMail(person)); YearMonthDay emissionDate = person.getEmissionDateOfDocumentIdYearMonthDay(); if (emissionDate != null) { setField("DataEmissao_1", String.format("%02d", emissionDate.getDayOfMonth())); setField("DataEmissao_2", String.format("%02d", emissionDate.getMonthOfYear())); setField("DataEmissao_3", String.valueOf(emissionDate.getYear())); } YearMonthDay expirationDate = person.getExpirationDateOfDocumentIdYearMonthDay(); setField("Valido_1", String.format("%02d", expirationDate.getDayOfMonth())); setField("Valido_2", String.format("%02d", expirationDate.getMonthOfYear())); setField("Valido_3", String.valueOf(expirationDate.getYear())); YearMonthDay birthdayDate = person.getDateOfBirthYearMonthDay(); setField("DataNascimento_1", String.format("%02d", birthdayDate.getDayOfMonth())); setField("DataNascimento_2", String.format("%02d", birthdayDate.getMonthOfYear())); setField("DataNascimento_3", String.valueOf(birthdayDate.getYear())); stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.BPIPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfBPIProductsandServices(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(BPI_PRODUCTS_SERVICES_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); reader.selectPages("1"); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();/*from w w w . j av a 2 s . c om*/ setField("IdentificacaoIntervenientes_1Titular", person.getName()); stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.CGDPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfCGDPersonalInformation(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(CGD_PERSONAL_INFORMATION_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); reader.selectPages("1"); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();//from w w w. j a va2 s . c om setField("T_NomeComp", person.getName()); setField("T_Email", getMail(person)); if (person.isFemale()) { setField("CB_0_1", "Yes"); // female } else { setField("CB_0_0", "Yes"); // male } setField("Cod_data_1", person.getDateOfBirthYearMonthDay().toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); setField("NIF1", person.getSocialSecurityNumber()); setField("T_DocIdent", person.getDocumentIdNumber()); switch (person.getMaritalStatus()) { case CIVIL_UNION: setField("CB_EstCivil01", MARITAL_STATUS_CIVIL_UNION); break; case DIVORCED: setField("CB_EstCivil01", MARITAL_STATUS_DIVORCED); break; case MARRIED: setField("CB_EstCivil01", ""); break; case SEPARATED: setField("CB_EstCivil01", MARITAL_STATUS_SEPARATED); break; case SINGLE: setField("CB_EstCivil01", MARITAL_STATUS_SINGLE); break; case WIDOWER: setField("CB_EstCivil01", MARITAL_STATUS_WIDOWER); break; } YearMonthDay emissionDate = person.getEmissionDateOfDocumentIdYearMonthDay(); if (emissionDate != null) { setField("Cod_data_2", emissionDate.toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); } YearMonthDay expirationDate = person.getExpirationDateOfDocumentIdYearMonthDay(); if (expirationDate != null) { setField("Cod_data_3", expirationDate.toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); } setField("T_NomePai", person.getNameOfFather()); setField("T_NomeMae", person.getNameOfMother()); setField("T_NatPais", person.getCountryOfBirth().getName()); setField("T_Naturali", person.getDistrictOfBirth()); setField("T_NatConc", person.getDistrictSubdivisionOfBirth()); setField("T_NatFreg", person.getParishOfBirth()); setField("T_PaisRes", person.getCountryOfBirth().getCountryNationality().toString()); setField("T_Morada01", person.getAddress()); setField("T_Localid01", person.getAreaOfAreaCode()); setField("T_Telef", person.getDefaultMobilePhoneNumber()); String postalCode = person.getPostalCode(); int dashIndex = postalCode.indexOf('-'); setField("T_CodPos01", postalCode.substring(0, 4)); String last3Numbers = postalCode.substring(dashIndex + 1, dashIndex + 4); setField("T_CodPos03_1", last3Numbers); setField("T_Localid02_1", person.getAreaOfAreaCode()); setField("T_Distrito", person.getDistrictOfResidence()); setField("T_Conc", person.getDistrictSubdivisionOfResidence()); setField("T_Freguesia", person.getParishOfResidence()); setField("T_PaisResid", person.getCountryOfResidence().getName()); stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.idcards.ui.candidacydocfiller.SantanderPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfSantanderApplication(Person person) throws IOException, DocumentException { InputStream istream = getClass().getResourceAsStream(SANTANDER_APPLICATION_PDF_PATH); PdfReader reader = new PdfReader(istream); reader.getAcroForm().remove(PdfName.SIGFLAGS); reader.selectPages("1,2"); ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();//from www. j a va 2s . c o m setField("topmostSubform[0].Page1[0].Nomecompleto[0]", person.getName()); String documentIdNumber = person.getDocumentIdNumber(); if (person.getIdDocumentType().equals(IDDocumentType.CITIZEN_CARD) || person.getIdDocumentType().equals(IDDocumentType.IDENTITY_CARD)) { setField("topmostSubform[0].Page1[0].NumBICartaoCidadaooutro[0]", documentIdNumber); setField("topmostSubform[0].Page1[0].Checkdigit[0]", person.getIdentificationDocumentSeriesNumberValue()); } else { setField("topmostSubform[0].Page1[0].Outrotipodocidentificacao[0]", documentIdNumber); } YearMonthDay emissionDate = person.getEmissionDateOfDocumentIdYearMonthDay(); if (emissionDate != null) { setField("topmostSubform[0].Page1[0].Dataemissao[0]", emissionDate.toString(DateTimeFormat.forPattern("dd/MM/yyyy"))); } setField("topmostSubform[0].Page1[0].Datavalidade[0]", person.getExpirationDateOfDocumentIdYearMonthDay() .toString(DateTimeFormat.forPattern("dd/MM/yyyy"))); setField("topmostSubform[0].Page1[0].NIF[0]", person.getSocialSecurityNumber()); setField("topmostSubform[0].Page1[0].Datanascimento[0]", person.getDateOfBirthYearMonthDay().toString(DateTimeFormat.forPattern("dd/MM/yyyy"))); YearMonthDay dateOfBirthYearMonthDay = person.getDateOfBirthYearMonthDay(); Period periodBetween = new Period(dateOfBirthYearMonthDay, new YearMonthDay()); setField("topmostSubform[0].Page1[0].Idadeactual[0]", String.valueOf(periodBetween.get(DurationFieldType.years()))); if (person.isFemale()) { setField("topmostSubform[0].Page1[0].Sexo[0]", "F"); // female } else if (person.isMale()) { setField("topmostSubform[0].Page1[0].Sexo[0]", "M"); // male } switch (person.getMaritalStatus()) { case CIVIL_UNION: setField("topmostSubform[0].Page1[0].Uniaofacto[0]", "1"); break; case DIVORCED: setField("topmostSubform[0].Page1[0].Divorciado[0]", "1"); break; case MARRIED: setField("topmostSubform[0].Page1[0].Casado[0]", "1"); break; case SEPARATED: setField("topmostSubform[0].Page1[0].Separado[0]", "1"); break; case SINGLE: setField("topmostSubform[0].Page1[0].Solteiro[0]", "1"); break; case WIDOWER: setField("topmostSubform[0].Page1[0].Viuvo[0]", "1"); break; } setField("topmostSubform[0].Page1[0].Telemovel[0]", person.getDefaultMobilePhoneNumber()); setField("topmostSubform[0].Page1[0].E-mail[0]", getMail(person)); setField("topmostSubform[0].Page1[0].Moradaresidenciapermanente[0]", person.getAddress()); setField("topmostSubform[0].Page1[0].localidade[0]", person.getAreaOfAreaCode()); String postalCode = person.getPostalCode(); int dashIndex = postalCode.indexOf('-'); setField("topmostSubform[0].Page1[0].CodPostal[0]", postalCode.substring(0, 4)); String last3Numbers = person.getPostalCode().substring(dashIndex + 1, dashIndex + 4); setField("topmostSubform[0].Page1[0].ExtensaoCodPostal[0]", last3Numbers); setField("topmostSubform[0].Page1[0].Paisnacionalidade", person.getCountry().getCountryNationality().getPreferedContent()); setField("topmostSubform[0].Page1[0].Paisnascimento", person.getCountryOfBirth().getName()); setField("topmostSubform[0].Page1[0].Paisresidencia", person.getCountryOfResidence().getName()); setField("topmostSubform[0].Page2[0].InstituioEnsinoSuperior[0]", UniversityUnit.getInstitutionsUniversityUnit().getName()); setField("topmostSubform[0].Page2[0].FaculdadeEscola[0]", Bennu.getInstance().getInstitutionUnit().getName()); Registration registration = getRegistration(person); if (registration != null) { setField("topmostSubform[0].Page2[0].Curso[0]", registration.getDegree().getSigla()); setField("topmostSubform[0].Page2[0].AnoIncioCurso[0]", String.valueOf(registration.getStartDate().getYear())); } stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.fenixedu.ulisboa.specifications.ui.firstTimeCandidacy.util.CGDPdfFiller.java
License:Open Source License
private ByteArrayOutputStream getFilledPdfCGDPersonalInformation(Person person, InputStream pdfTemplateStream) throws IOException, DocumentException { PdfReader reader = new PdfReader(pdfTemplateStream); reader.getAcroForm().remove(PdfName.SIGFLAGS); reader.selectPages("1,3,4"); // The template we are using has a blank page after the front sheet. ByteArrayOutputStream output = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, output); form = stamper.getAcroFields();//from w w w . j a v a2 s. c om setField("T_NomeComp", person.getName()); setField("T_Email", getMail(person)); if (person.isFemale()) { setField("CB_0_1", "Yes"); // female } else { setField("CB_0_0", "Yes"); // male } if (person.getDateOfBirthYearMonthDay() != null) { setField("Cod_data_1", person.getDateOfBirthYearMonthDay().toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); } setField("NIF1", person.getSocialSecurityNumber()); setField("T_DocIdent", person.getDocumentIdNumber()); switch (person.getMaritalStatus()) { case CIVIL_UNION: setField("CB_EstCivil01", MARITAL_STATUS_CIVIL_UNION); break; case DIVORCED: setField("CB_EstCivil01", MARITAL_STATUS_DIVORCED); break; case MARRIED: setField("CB_EstCivil01", ""); break; case SEPARATED: setField("CB_EstCivil01", MARITAL_STATUS_SEPARATED); break; case SINGLE: setField("CB_EstCivil01", MARITAL_STATUS_SINGLE); break; case WIDOWER: setField("CB_EstCivil01", MARITAL_STATUS_WIDOWER); break; } YearMonthDay emissionDate = person.getEmissionDateOfDocumentIdYearMonthDay(); if (emissionDate != null) { setField("Cod_data_2", emissionDate.toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); } YearMonthDay expirationDate = person.getExpirationDateOfDocumentIdYearMonthDay(); if (expirationDate != null) { setField("Cod_data_3", expirationDate.toString(DateTimeFormat.forPattern("yyyy/MM/dd"))); } setField("T_NomePai", person.getNameOfFather()); setField("T_NomeMae", person.getNameOfMother()); if (person.getCountryOfBirth() != null) { setField("T_NatPais", person.getCountryOfBirth().getName()); setField("T_Naturali", person.getDistrictOfBirth()); setField("T_NatConc", person.getDistrictSubdivisionOfBirth()); setField("T_NatFreg", person.getParishOfBirth()); setField("T_PaisRes", person.getCountryOfBirth().getCountryNationality().toString()); } setField("T_Morada01", person.getAddress()); setField("T_Localid01", person.getAreaOfAreaCode()); setField("T_Telef", person.getDefaultMobilePhoneNumber()); String postalCode = person.getPostalCode(); int dashIndex = postalCode.indexOf('-'); if (postalCode != null && postalCode.length() >= dashIndex + 4) { setField("T_CodPos01", postalCode.substring(0, 4)); String last3Numbers = postalCode.substring(dashIndex + 1, dashIndex + 4); setField("T_CodPos03_1", last3Numbers); setField("T_Localid02_1", person.getAreaOfAreaCode()); } if (person.getCountryOfResidence() != null) { setField("T_Distrito", person.getDistrictOfResidence()); setField("T_Conc", person.getDistrictSubdivisionOfResidence()); setField("T_Freguesia", person.getParishOfResidence()); setField("T_PaisResid", person.getCountryOfResidence().getName()); } stamper.setFormFlattening(true); stamper.close(); return output; }
From source file:org.frameworkset.web.servlet.view.document.AbstractPdfStamperView.java
License:Apache License
@Override protected final void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { // IE workaround: write into byte array first. ByteArrayOutputStream baos = createTemporaryOutputStream(); PdfReader reader = readPdfResource(); PdfStamper stamper = new PdfStamper(reader, baos); mergePdfDocument(model, stamper, request, response); stamper.close();//from w ww .j a va 2s. c o m // Flush to HTTP response. writeToResponse(response, baos); }
From source file:org.jpedal.examples.simpleviewer.utils.ItextFunctions.java
License:Open Source License
/** uses itext to save out form data with any changes user has made */ public void saveFormsData(String file) { try {/* w w w . j a v a2 s . com*/ org.jpedal.objects.acroforms.AcroRenderer formRenderer = dPDF.getCurrentFormRenderer(); if (formRenderer == null) return; PdfReader reader = new PdfReader(selectedFile); PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(file)); AcroFields form = stamp.getAcroFields(); List names = formRenderer.getComponentNameList(); /** * work through all components writing out values */ for (int i = 0; i < names.size(); i++) { String name = (String) names.get(i); Component[] comps = formRenderer.getComponentsByName(name); int type = form.getFieldType(name); String value = ""; switch (type) { case AcroFields.FIELD_TYPE_CHECKBOX: if (comps.length == 1) { JCheckBox cb = (JCheckBox) comps[0]; value = cb.getName(); if (value != null) { int ptr = value.indexOf("-("); if (ptr != -1) { value = value.substring(ptr + 2, value.length() - 1); } } if (value.equals("")) value = "On"; if (cb.isSelected()) form.setField(name, value); else form.setField(name, "Off"); } else { for (int j = 0; j < comps.length; j++) { JCheckBox cb = (JCheckBox) comps[j]; if (cb.isSelected()) { value = cb.getName(); if (value != null) { int ptr = value.indexOf("-("); if (ptr != -1) { value = value.substring(ptr + 2, value.length() - 1); // name is wrong it should be the piece of field data that needs changing. //TODO itext form.setField(name, value); } } break; } } } break; case AcroFields.FIELD_TYPE_COMBO: JComboBox combobox = (JComboBox) comps[0]; value = (String) combobox.getSelectedItem(); /** * allow for user adding new value to Combo to emulate * Acrobat * String currentText = (String) * combobox.getEditor().getItem(); * * if(!currentText.equals("")) value = currentText; */ if (value == null) value = ""; form.setField(name, value); break; case AcroFields.FIELD_TYPE_LIST: JList list = (JList) comps[0]; value = (String) list.getSelectedValue(); if (value == null) value = ""; form.setField(name, value); break; case AcroFields.FIELD_TYPE_NONE: break; case AcroFields.FIELD_TYPE_PUSHBUTTON: break; case AcroFields.FIELD_TYPE_RADIOBUTTON: for (int j = 0; j < comps.length; j++) { JRadioButton radioButton = (JRadioButton) comps[j]; if (radioButton.isSelected()) { value = radioButton.getName(); if (value != null) { int ptr = value.indexOf("-("); if (ptr != -1) { value = value.substring(ptr + 2, value.length() - 1); form.setField(name, value); } } break; } } break; case AcroFields.FIELD_TYPE_SIGNATURE: break; case AcroFields.FIELD_TYPE_TEXT: JTextComponent tc = (JTextComponent) comps[0]; value = tc.getText(); form.setField(name, value); // ArrayList objArrayList = form.getFieldItem(name).widgets; // PdfDictionary dic = (PdfDictionary)objArrayList.get(0); // PdfDictionary action // =(PdfDictionary)PdfReader.getPdfObject(dic.get(PdfName.MK)); // // if (action == null) { // PdfDictionary d = new PdfDictionary(PdfName.MK); // dic.put(PdfName.MK, d); // // Color color = tc.getBackground(); // PdfArray f = new PdfArray(new int[] { color.getRed(), // color.getGreen(), color.getBlue() }); // d.put(PdfName.BG, f); // } // moderatly useful debug code // Item dd = form.getFieldItem(name); // // ArrayList objArrayList = dd.widgets; // Iterator iter1 = objArrayList.iterator(),iter2; // String strName; // PdfDictionary objPdfDict = null; // PdfName objName = null; // PdfObject objObject = null; // while(iter1.hasNext()) // { // objPdfDict = (PdfDictionary)iter1.next(); // System.out.println("PdfDictionary Object: " + // objPdfDict.toString()); // Set objSet = objPdfDict.getKeys(); // for(iter2 = objSet.iterator(); iter2.hasNext();) // { // objName = (PdfName)iter2.next(); // objObject = objPdfDict.get(objName); // if(objName.toString().indexOf("MK")!=-1) // System.out.println("here"); // System.out.println("objName: " + objName.toString() + " - // objObject:" + objObject.toString() + " - Type: " + // objObject.type()); // if(objObject.isDictionary()) // { // Set objSet2 = ((PdfDictionary)objObject).getKeys(); // PdfObject objObject2; // PdfName objName2; // for(Iterator iter3 = objSet2.iterator(); // iter3.hasNext();) // { // objName2 = (PdfName)iter3.next(); // objObject2 = ((PdfDictionary)objObject).get(objName2); // System.out.println("objName2: " + objName2.toString() + " // -objObject2: " + objObject2.toString() + " - Type: " + // objObject2.type()); // } // } // } // } break; default: break; } } stamp.close(); } catch (ClassCastException e1) { System.out.println("Expected component does not match actual component"); } catch (Exception e1) { e1.printStackTrace(); } }