package org.hccp.pdf; public class Trailer implements DocumentObject { private Numeric xRefOffset; private Dictionary trailerDictionary; private final String EOF = "%%EOF"; private final String STARTXREF = "startxref"; private final String TRAILER = "trailer"; private final String SIZE = "Size"; private final String ROOT = "Root"; private final String EOL = "\n"; public void setSize(Numeric numeric) { trailerDictionary.addEntry(new Name(SIZE), numeric); } public void setRoot(IndirectObjectReference indObjRef) { trailerDictionary.addEntry(new Name(ROOT), indObjRef); } public void setCrossReferenceTableOffset(Numeric numeric) { xRefOffset = numeric; } public Trailer(Numeric numeric) { trailerDictionary = new Dictionary(); xRefOffset = numeric; } public String getValue() { StringBuffer sb = new StringBuffer(); sb.append(TRAILER + EOL); sb.append(trailerDictionary.getValue()); sb.append(STARTXREF + EOL); sb.append(xRefOffset.getValue() + EOL); sb.append(EOF + EOL); return sb.toString(); } }