List of usage examples for com.lowagie.text.pdf PRTokeniser PRTokeniser
public PRTokeniser(RandomAccessFileOrArray file)
From source file:org.signserver.module.pdfsigner.PDFSigner.java
License:Open Source License
private void checkForDuplicateObjects(byte[] pdfbytes) throws IOException, SignServerException { if (LOG.isDebugEnabled()) { LOG.debug(">checkForDuplicateObjects"); }/*w ww .j a v a 2s. c om*/ final PRTokeniser tokens = new PRTokeniser(pdfbytes); final Set<String> idents = new HashSet<String>(); final byte[] line = new byte[16]; while (tokens.readLineSegment(line)) { final int[] obj = PRTokeniser.checkObjectStart(line); if (obj != null) { final String ident = obj[0] + " " + obj[1]; if (idents.add(ident)) { if (LOG.isDebugEnabled()) { LOG.debug("Object: " + ident); } } else { if (LOG.isDebugEnabled()) { LOG.debug("Duplicate object: " + ident); } throw new SignServerException("Incorrect document"); } } } if (LOG.isDebugEnabled()) { LOG.debug("<checkForDuplicateObjects"); } }
From source file:util.PdfUtil.java
License:Open Source License
public String processText(PdfReader reader) throws RedbasinException { //Reads in the pdf Template StringBuffer sb = new StringBuffer(); try {/* w w w . ja v a 2s .c o m*/ //System.out.println("Number of pages = " + reader.getNumberOfPages()); int numPages = reader.getNumberOfPages(); for (int i = 1; i <= numPages; i++) { byte[] b = reader.getPageContent(i); PRTokeniser token = new PRTokeniser(b); //System.out.println("Page " + i); while (token.nextToken()) { if (token.getTokenType() == 2) { sb.append(token.getStringValue()); //System.out.print(token.getStringValue() + " "); } } //System.out.println(); } /* PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("aNewPDF.pdf")); AcroFields form = stamp.getAcroFields(); */ /* Map fields = reader.getAcroFields().getFields(); Iterator iter = fields.keySet().iterator(); System.out.println("Printing fields" + fields.size()); while (iter.hasNext()) { Object fobj = iter.next(); Object fval = fields.get(fobj); System.out.println("Field = " + fobj.toString() + "Value = " + fobj.toString()); } */ //set the field values in the pdf form /* form.setField("fieldName", "aValue"); stamp.setFormFlattening(true); stamp.close(); * */ } catch (Exception e) { throw new RedbasinException("Some pdf error occurred", e); } return sb.toString(); }