pdfname.java
来自「处理PDF」· Java 代码 · 共 1,278 行 · 第 1/4 页
JAVA
1,278 行
public static final PdfName TIMES_ITALIC = new PdfName("Times-Italic"); /** A name of a base 14 type 1 font */ public static final PdfName TIMES_BOLDITALIC = new PdfName("Times-BoldItalic"); /** A name */ public static final PdfName TITLE = new PdfName("Title"); /** A name */ public static final PdfName TK = new PdfName("TK"); /** A name */ public static final PdfName TM = new PdfName("TM"); /** A name */ public static final PdfName TOGGLE = new PdfName("Toggle"); /** A name */ public static final PdfName TOUNICODE = new PdfName("ToUnicode"); /** A name */ public static final PdfName TP = new PdfName("TP"); /** A name */ public static final PdfName TRANS = new PdfName("Trans"); /** A name */ public static final PdfName TRANSFORMPARAMS = new PdfName("TransformParams"); /** A name */ public static final PdfName TRANSFORMMETHOD = new PdfName("TransformMethod"); /** A name */ public static final PdfName TRANSPARENCY = new PdfName("Transparency"); /** A name */ public static final PdfName TRAPPED = new PdfName("Trapped"); /** A name */ public static final PdfName TRIMBOX = new PdfName("TrimBox"); /** A name */ public static final PdfName TRUETYPE = new PdfName("TrueType"); /** A name */ public static final PdfName TU = new PdfName("TU"); /** A name */ public static final PdfName TWOCOLUMNLEFT = new PdfName("TwoColumnLeft"); /** A name */ public static final PdfName TWOCOLUMNRIGHT = new PdfName("TwoColumnRight"); /** A name */ public static final PdfName TWOPAGELEFT = new PdfName("TwoPageLeft"); /** A name */ public static final PdfName TWOPAGERIGHT = new PdfName("TwoPageRight"); /** A name */ public static final PdfName TX = new PdfName("Tx"); /** A name */ public static final PdfName TYPE = new PdfName("Type"); /** A name */ public static final PdfName TYPE0 = new PdfName("Type0"); /** A name */ public static final PdfName TYPE1 = new PdfName("Type1"); /** A name of an attribute. */ public static final PdfName TYPE3 = new PdfName("Type3"); /** A name of an attribute. */ public static final PdfName U = new PdfName("U"); /** A name of an attribute. */ public static final PdfName UF = new PdfName("UF"); /** A name of an attribute. */ public static final PdfName UHC = new PdfName("UHC"); /** A name of an attribute. */ public static final PdfName UNDERLINE = new PdfName("Underline"); /** A name */ public static final PdfName UR = new PdfName("UR"); /** A name */ public static final PdfName UR3 = new PdfName("UR3"); /** A name */ public static final PdfName URI = new PdfName("URI"); /** A name */ public static final PdfName URL = new PdfName("URL"); /** A name */ public static final PdfName USAGE = new PdfName("Usage"); /** A name */ public static final PdfName USEATTACHMENTS = new PdfName("UseAttachments"); /** A name */ public static final PdfName USENONE = new PdfName("UseNone"); /** A name */ public static final PdfName USEOC = new PdfName("UseOC"); /** A name */ public static final PdfName USEOUTLINES = new PdfName("UseOutlines"); /** A name */ public static final PdfName USER = new PdfName("User"); /** A name */ public static final PdfName USERPROPERTIES = new PdfName("UserProperties"); /** A name */ public static final PdfName USERUNIT = new PdfName("UserUnit"); /** A name */ public static final PdfName USETHUMBS = new PdfName("UseThumbs"); /** A name */ public static final PdfName V = new PdfName("V"); /** A name */ public static final PdfName V2 = new PdfName("V2"); /** A name */ public static final PdfName VERISIGN_PPKVS = new PdfName("VeriSign.PPKVS"); /** A name */ public static final PdfName VERSION = new PdfName("Version"); /** A name */ public static final PdfName VIEW = new PdfName("View"); /** A name */ public static final PdfName VIEWAREA = new PdfName("ViewArea"); /** A name */ public static final PdfName VIEWCLIP = new PdfName("ViewClip"); /** A name */ public static final PdfName VIEWERPREFERENCES = new PdfName("ViewerPreferences"); /** A name */ public static final PdfName VIEWSTATE = new PdfName("ViewState"); /** A name */ public static final PdfName VISIBLEPAGES = new PdfName("VisiblePages"); /** A name of an attribute. */ public static final PdfName W = new PdfName("W"); /** A name of an attribute. */ public static final PdfName W2 = new PdfName("W2"); /** A name of an attribute. */ public static final PdfName WC = new PdfName("WC"); /** A name of an attribute. */ public static final PdfName WIDGET = new PdfName("Widget"); /** A name of an attribute. */ public static final PdfName WIDTH = new PdfName("Width"); /** A name */ public static final PdfName WIDTHS = new PdfName("Widths"); /** A name of an encoding */ public static final PdfName WIN = new PdfName("Win"); /** A name of an encoding */ public static final PdfName WIN_ANSI_ENCODING = new PdfName("WinAnsiEncoding"); /** A name of an encoding */ public static final PdfName WIPE = new PdfName("Wipe"); /** A name */ public static final PdfName WHITEPOINT = new PdfName("WhitePoint"); /** A name */ public static final PdfName WP = new PdfName("WP"); /** A name of an encoding */ public static final PdfName WS = new PdfName("WS"); /** A name */ public static final PdfName X = new PdfName("X"); /** A name */ public static final PdfName XFA = new PdfName("XFA"); /** A name */ public static final PdfName XML = new PdfName("XML"); /** A name */ public static final PdfName XOBJECT = new PdfName("XObject"); /** A name */ public static final PdfName XSTEP = new PdfName("XStep"); /** A name */ public static final PdfName XREF = new PdfName("XRef"); /** A name */ public static final PdfName XREFSTM = new PdfName("XRefStm"); /** A name */ public static final PdfName XYZ = new PdfName("XYZ"); /** A name */ public static final PdfName YSTEP = new PdfName("YStep"); /** A name */ public static final PdfName ZADB = new PdfName("ZaDb"); /** A name of a base 14 type 1 font */ public static final PdfName ZAPFDINGBATS = new PdfName("ZapfDingbats"); /** A name */ public static final PdfName ZOOM = new PdfName("Zoom"); private int hash = 0; // constructors /** * Constructs a new <CODE>PdfName</CODE>. The name length will be checked. * @param name the new name */ public PdfName(String name) { this(name, true); } /** * Constructs a new <CODE>PdfName</CODE>. * @param name the new name * @param lengthCheck if <CODE>true</CODE> check the length validity, if <CODE>false</CODE> the name can * have any length */ public PdfName(String name, boolean lengthCheck) { super(PdfObject.NAME); // The minimum number of characters in a name is 0, the maximum is 127 (the '/' not included) int length = name.length(); if (lengthCheck && length > 127) { throw new IllegalArgumentException("The name '" + name + "' is too long (" + length + " characters)."); } // The name has to be checked for illegal characters // every special character has to be substituted ByteBuffer pdfName = new ByteBuffer(length + 20); pdfName.append('/'); char character; char chars[] = name.toCharArray(); // loop over all the characters for (int index = 0; index < length; index++) { character = (char)(chars[index] & 0xff); // special characters are escaped (reference manual p.39) switch (character) { case ' ': case '%': case '(': case ')': case '<': case '>': case '[': case ']': case '{': case '}': case '/': case '#': pdfName.append('#'); pdfName.append(Integer.toString(character, 16)); break; default: if (character > 126 || character < 32) { pdfName.append('#'); if (character < 16) pdfName.append('0'); pdfName.append(Integer.toString(character, 16)); } else pdfName.append(character); break; } } bytes = pdfName.toByteArray(); } /** * Constructs a PdfName. * @param bytes the byte representation of the name */ public PdfName(byte bytes[]) { super(PdfObject.NAME, bytes); } // methods /** * Compares this object with the specified object for order. Returns a * negative integer, zero, or a positive integer as this object is less * than, equal to, or greater than the specified object.<p> * @param object the Object to be compared. * @return a negative integer, zero, or a positive integer as this object * is less than, equal to, or greater than the specified object. * @throws ClassCastException if the specified object's type prevents it * from being compared to this Object. */ public int compareTo(Object object) { PdfName name = (PdfName) object; byte myBytes[] = bytes; byte objBytes[] = name.bytes; int len = Math.min(myBytes.length, objBytes.length); for(int i=0; i<len; i++) { if(myBytes[i] > objBytes[i]) return 1; if(myBytes[i] < objBytes[i]) return -1; } if (myBytes.length < objBytes.length) return -1; if (myBytes.length > objBytes.length) return 1; return 0; } /** * Indicates whether some other object is "equal to" this one. * * @param obj the reference object with which to compare. * @return <code>true</code> if this object is the same as the obj * argument; <code>false</code> otherwise. */ public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof PdfName) return compareTo(obj) == 0; return false; } /** * Returns a hash code value for the object. This method is * supported for the benefit of hashtables such as those provided by * <code>java.util.Hashtable</code>. * * @return a hash code value for this object. */ public int hashCode() { int h = hash; if (h == 0) { int ptr = 0; int len = bytes.length; for (int i = 0; i < len; i++) h = 31*h + (bytes[ptr++] & 0xff); hash = h; } return h; } /** Decodes an escaped name in the form "/AB#20CD" into "AB CD". * @param name the name to decode * @return the decoded name */ public static String decodeName(String name) { StringBuffer buf = new StringBuffer(); try { int len = name.length(); for (int k = 1; k < len; ++k) { char c = name.charAt(k); if (c == '#') { c = (char)((PRTokeniser.getHex(name.charAt(k + 1)) << 4) + PRTokeniser.getHex(name.charAt(k + 2))); k += 2; } buf.append(c); } } catch (IndexOutOfBoundsException e) { // empty on purpose } return buf.toString(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?