/** Sets all the fields from this <CODE>PdfReader</CODE> * @param pdf the <CODE>PdfReader</CODE> */ public void setFields(PdfReader pdf) { setFields(pdf.getAcroFields()); }
/** Sets all the fields from this <CODE>PdfReader</CODE> * @param pdf the <CODE>PdfReader</CODE> */ public void setFields(PdfReader pdf) { setFields(pdf.getAcroFields()); }
/** Sets all the fields from this <CODE>PdfReader</CODE> * @param pdf the <CODE>PdfReader</CODE> */ public void setFields(PdfReader pdf) { setFields(pdf.getAcroFields()); }
public static void scanFields(String path) throws IOException { PdfReader pdfReader = new PdfReader(path); AcroFields acroFields = pdfReader.getAcroFields(); HashMap<String,AcroFields.Item> fields = acroFields.getFields(); Set<Entry<String, Item>> entrySet = fields.entrySet(); for (Entry<String, Item> entry : entrySet) { String key = entry.getKey(); } }
PdfReader reader = new PdfReader(...); AcroFields acroFields = reader.getAcroFields(); List<String> signatureNames = acroFields.getSignatureNames();
PdfReader reader =new PdfReader ("D:/Eclipse Java/HiltonForms2014_r.pdf"); AcroFields form = reader.getAcroFields(); form.setField("LASTNAME", rs.getCursorName());
PdfReader reader = new PdfReader("C:\\temp\\letter.pdf"); AcroFields acroFields = reader.getAcroFields(); Map<String, AcroFields.Item> fields = acroFields.getFields(); Iterator<Entry<String, Item>> it = fields.entrySet().iterator(); while (it.hasNext()) { Entry<String, Item> entry = it.next(); String value = acroFields.getField(entry.getKey()); System.out.println(entry.getKey()+":"+value); }
// read fields final PdfReader reader = new PdfReader("/path/to/my.pdf"); final AcroFields fields = reader.getAcroFields(); final Map<String, Object> values = new HashMap<>(); for (String fieldName : (Set<String>) fields.getFields().keySet()) { values.put(fieldName, fields.getField(fieldName)); } // write final XmlMapper mapper = new XmlMapper(); final String result = mapper.writeValueAsString(values); System.out.println(result);
KeyStore kall = PdfPKCS7.loadCacertsKeyStore(); PdfReader reader = new PdfReader("my_signed_doc.pdf"); AcroFields af = reader.getAcroFields(); ArrayList names = af.getSignatureNames(); for (int k = 0; k < names.size(); ++k) { String name = (String)names.get(k); System.out.println("Signature name: " + name); System.out.println("Signature covers whole document: " + af.signatureCoversWholeDocument(name)); PdfPKCS7 pk = af.verifySignature(name); Calendar cal = pk.getSignDate(); Certificate pkc[] = pk.getCertificates(); System.out.println("Subject: " + PdfPKCS7.getSubjectFields(pk.getSigningCertificate())); System.out.println("Document modified: " + !pk.verify()); Object fails[] = PdfPKCS7.verifyCertificates(pkc, kall, null, cal); if (fails == null) System.out.println("Certificates verified against the KeyStore"); else System.out.println("Certificate failed: " + fails[1]); }
String src = "C:\\Workspace\\pdf1\\2053-C.pdf"; String dest= "C:\\Workspace\\pdf1\\_renamed_2053-C.pdf"; PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); AcroFields form = stamper.getAcroFields(); form.renameField("cpa_t1", "renamed_cpa_t1"); stamper.close(); reader.close(); reader = new PdfReader(dest); form = reader.getAcroFields(); Map<String, AcroFields.Item> fields = form.getFields(); for (String name : fields.keySet()) { if (name.equals("renamed_cpa_t1")) { System.out.println("Renamed :: " + name); } } System.out.println("FieldType : " + form.getFieldType("renamed_cpa_t1")); }
public static void main(String[] args) throws IOException { String pdfFile = args[0]; PdfReader reader = new PdfReader(pdfFile); AcroFields fields = reader.getAcroFields(); for(String signame : fields.getBlankSignatureNames()) { List<AcroFields.FieldPosition> positions = fields.getFieldPositions(signame); Rectangle rect = positions.get(0).position; // In points: float left = rect.getLeft(); float bTop = rect.getTop(); float width = rect.getWidth(); float height = rect.getHeight(); int page = positions.get(0).page; Rectangle pageSize = reader.getPageSize(page); float pageHeight = pageSize.getTop(); float top = pageHeight - bTop; System.out.print(signame + "::" + page + "::" + left + "::" + top + "::" + width + "::" + height + "\n"); } }
PdfReader reader = new PdfReader(pdfFile); AcroFields fields = reader.getAcroFields();
/** * This method feeds in the source document * @param reader The PDF reader containing the source document * @throws DocumentException */ public void copyDocumentFields(PdfReader reader) throws DocumentException { if (!reader.isOpenedWithFullPermissions()) throw new IllegalArgumentException("PdfReader not opened with owner password"); if (readers2intrefs.containsKey(reader)) { reader = new PdfReader(reader); } else { if (reader.isTampered()) throw new DocumentException("The document was reused."); reader.consolidateNamedDestinations(); reader.setTampered(true); } reader.shuffleSubsetNames(); readers2intrefs.put(reader, new IntHashtable()); fields.add(reader.getAcroFields()); updateCalculationOrder(reader); }
/** * This method feeds in the source document * @param reader The PDF reader containing the source document * @throws DocumentException */ public void copyDocumentFields(PdfReader reader) throws DocumentException { if (!reader.isOpenedWithFullPermissions()) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("pdfreader.not.opened.with.owner.password")); if (readers2intrefs.containsKey(reader)) { reader = new PdfReader(reader); } else { if (reader.isTampered()) throw new DocumentException(MessageLocalization.getComposedMessage("the.document.was.reused")); reader.consolidateNamedDestinations(); reader.setTampered(true); } reader.shuffleSubsetNames(); readers2intrefs.put(reader, new IntHashtable()); fields.add(reader.getAcroFields()); updateCalculationOrder(reader); }
/** * This method feeds in the source document * @param reader The PDF reader containing the source document * @throws DocumentException */ public void copyDocumentFields(PdfReader reader) throws DocumentException { if (!reader.isOpenedWithFullPermissions()) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("pdfreader.not.opened.with.owner.password")); if (readers2intrefs.containsKey(reader)) { reader = new PdfReader(reader); } else { if (reader.isTampered()) throw new DocumentException(MessageLocalization.getComposedMessage("the.document.was.reused")); reader.consolidateNamedDestinations(); reader.setTampered(true); } reader.shuffleSubsetNames(); readers2intrefs.put(reader, new IntHashtable()); fields.add(reader.getAcroFields()); updateCalculationOrder(reader); }
/** * @since 2.1.5; before 2.1.5 the method was private */ protected void updateCalculationOrder(PdfReader reader) { PdfDictionary catalog = reader.getCatalog(); PdfDictionary acro = catalog.getAsDict(PdfName.ACROFORM); if (acro == null) return; PdfArray co = acro.getAsArray(PdfName.CO); if (co == null || co.size() == 0) return; AcroFields af = reader.getAcroFields(); for (int k = 0; k < co.size(); ++k) { PdfObject obj = co.getPdfObject(k); if (obj == null || !obj.isIndirect()) continue; String name = getCOName(reader, (PRIndirectReference)obj); if (af.getFieldItem(name) == null) continue; name = "." + name; if (calculationOrder.contains(name)) continue; calculationOrder.add(name); } }
/** * @since 2.1.5; before 2.1.5 the method was private */ protected void updateCalculationOrder(PdfReader reader) { PdfDictionary catalog = reader.getCatalog(); PdfDictionary acro = catalog.getAsDict(PdfName.ACROFORM); if (acro == null) return; PdfArray co = acro.getAsArray(PdfName.CO); if (co == null || co.size() == 0) return; AcroFields af = reader.getAcroFields(); for (int k = 0; k < co.size(); ++k) { PdfObject obj = co.getPdfObject(k); if (obj == null || !obj.isIndirect()) continue; String name = getCOName(reader, (PRIndirectReference)obj); if (af.getFieldItem(name) == null) continue; name = "." + name; if (calculationOrder.contains(name)) continue; calculationOrder.add(name); } }
/** * @since 2.1.5; before 2.1.5 the method was private */ protected void updateCalculationOrder(PdfReader reader) { PdfDictionary catalog = reader.getCatalog(); PdfDictionary acro = catalog.getAsDict(PdfName.ACROFORM); if (acro == null) return; PdfArray co = acro.getAsArray(PdfName.CO); if (co == null || co.size() == 0) return; AcroFields af = reader.getAcroFields(); for (int k = 0; k < co.size(); ++k) { PdfObject obj = co.getPdfObject(k); if (obj == null || !obj.isIndirect()) continue; String name = getCOName(reader, (PRIndirectReference)obj); if (af.getFieldItem(name) == null) continue; name = "." + name; if (calculationOrder.contains(name)) continue; calculationOrder.add(name); } }
void addDocument(PdfReader reader) throws DocumentException, IOException { if (!reader.isOpenedWithFullPermissions()) throw new BadPasswordException("PdfReader not opened with owner password"); openDoc(); if (readers2intrefs.containsKey(reader)) { reader = new PdfReader(reader); } else { if (reader.isTampered()) throw new DocumentException("The document was reused."); reader.consolidateNamedDestinations(); reader.setTampered(true); } reader.shuffleSubsetNames(); readers2intrefs.put(reader, new IntHashtable()); readers.add(reader); int len = reader.getNumberOfPages(); IntHashtable refs = new IntHashtable(); for (int p = 1; p <= len; ++p) { refs.put(reader.getPageOrigRef(p).getNumber(), 1); reader.releasePage(p); } pages2intrefs.put(reader, refs); visited.put(reader, new IntHashtable()); fields.add(reader.getAcroFields()); updateCalculationOrder(reader); }
void addDocument(PdfReader reader) throws DocumentException, IOException { if (!reader.isOpenedWithFullPermissions()) throw new BadPasswordException(MessageLocalization.getComposedMessage("pdfreader.not.opened.with.owner.password")); openDoc(); if (readers2intrefs.containsKey(reader)) { reader = new PdfReader(reader); } else { if (reader.isTampered()) throw new DocumentException(MessageLocalization.getComposedMessage("the.document.was.reused")); reader.consolidateNamedDestinations(); reader.setTampered(true); } reader.shuffleSubsetNames(); readers2intrefs.put(reader, new IntHashtable()); readers.add(reader); int len = reader.getNumberOfPages(); IntHashtable refs = new IntHashtable(); for (int p = 1; p <= len; ++p) { refs.put(reader.getPageOrigRef(p).getNumber(), 1); reader.releasePage(p); } pages2intrefs.put(reader, refs); visited.put(reader, new IntHashtable()); fields.add(reader.getAcroFields()); updateCalculationOrder(reader); }