📄 pdfname.java
字号:
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 lenght 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((int) character, 16));
break;
default:
if (character > 126 || character < 32) {
pdfName.append('#');
if (character < 16)
pdfName.append('0');
pdfName.append(Integer.toString((int) 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -