1 package com.etymon.pjx.util; 2 3 import com.etymon.pjx.*; 4 5 12 public class PdfRenumberOffset implements PdfObjectFilter { 13 14 17 protected int _offset; 18 19 24 protected boolean _resetG; 25 26 33 public PdfRenumberOffset() { 34 35 _offset = 0; 36 _resetG = false; 37 38 } 39 40 45 public void setOffset(int offset) { 46 synchronized (this) { 47 48 _offset = offset; 49 50 } 51 } 52 53 59 public void resetGeneration(boolean reset) { 60 synchronized (this) { 61 62 _resetG = reset; 63 64 } 65 } 66 67 78 public PdfObject renumber(PdfObject obj) throws PdfFormatException { 79 synchronized (this) { 80 81 return obj.filter(this); 82 83 } 84 } 85 86 95 public PdfObject preFilter(PdfObject obj) throws PdfFormatException { 96 if (obj instanceof PdfReference) { 97 PdfReference r = (PdfReference)obj; 98 return new PdfReference( r.getObjectNumber() + _offset, 99 _resetG ? 0 : r.getGenerationNumber() ); 100 } else { 101 return obj; 102 } 103 } 104 105 114 public PdfObject postFilter(PdfObject obj) throws PdfFormatException { 115 return obj; 116 } 117 118 } 119 | Popular Tags |