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 + -
显示快捷键?