// // Android PDF Writer // http://coderesearchlabs.com/androidpdfwriter // // by Javier Santo Domingo (j-a-s-d@coderesearchlabs.com) // package totalcross.util.pdf; public class Trailer extends Base { private int mXRefByteOffset; private int mObjectsCount; private String mId; private Dictionary mTrailerDictionary; public Trailer() { clear(); } public void setId(String Value) { mId = Value; } public void setCrossReferenceTableByteOffset(int Value) { mXRefByteOffset = Value; } public void setObjectsCount(int Value) { mObjectsCount = Value; } private void renderDictionary() { mTrailerDictionary.setContent(" /Size " + Integer.toString(mObjectsCount)); mTrailerDictionary.addNewLine(); mTrailerDictionary.addContent(" /Root 1 0 R"); mTrailerDictionary.addNewLine(); mTrailerDictionary.addContent(" /ID [<" + mId + "> <" + mId + ">]"); mTrailerDictionary.addNewLine(); } private String render() { renderDictionary(); StringBuilder sb = new StringBuilder(); sb.append("trailer"); sb.append("\n"); sb.append(mTrailerDictionary.toPDFString()); sb.append("startxref"); sb.append("\n"); sb.append(mXRefByteOffset); sb.append("\n"); sb.append("%%EOF"); sb.append("\n"); return sb.toString(); } @Override public String toPDFString() { return render(); } @Override public void clear() { mXRefByteOffset = 0; mTrailerDictionary = new Dictionary(); } }