1 /* 2 * $Id$ 3 * 4 * Copyright 1999-2006 Bruno Lowagie 5 * 6 * The contents of this file are subject to the Mozilla Public License Version 1.1 7 * (the "License"); you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 9 * 10 * Software distributed under the License is distributed on an "AS IS" basis, 11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 12 * for the specific language governing rights and limitations under the License. 13 * 14 * The Original Code is 'iText, a free JAVA-PDF library'. 15 * 16 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by 17 * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie. 18 * All Rights Reserved. 19 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer 20 * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved. 21 * 22 * Contributor(s): all the names of the contributors are added in the source code 23 * where applicable. 24 * 25 * Alternatively, the contents of this file may be used under the terms of the 26 * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the 27 * provisions of LGPL are applicable instead of those above. If you wish to 28 * allow use of your version of this file only under the terms of the LGPL 29 * License and not to allow others to use your version of this file under 30 * the MPL, indicate your decision by deleting the provisions above and 31 * replace them with the notice and other provisions required by the LGPL. 32 * If you do not delete the provisions above, a recipient may use your version 33 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE. 34 * 35 * This library is free software; you can redistribute it and/or modify it 36 * under the terms of the MPL as stated above or under the terms of the GNU 37 * Library General Public License as published by the Free Software Foundation; 38 * either version 2 of the License, or any later version. 39 * 40 * This library is distributed in the hope that it will be useful, but WITHOUT 41 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 42 * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more 43 * details. 44 * 45 * If you didn't download this code from the following link, you should check if 46 * you aren't using an obsolete version: 47 * http://www.lowagie.com/iText/ 48 */ 49 50 package com.lowagie.text.pdf; 51 52 import java.lang.reflect.Field; 53 import java.lang.reflect.Modifier; 54 import java.util.*; 55 import com.lowagie.text.error_messages.MessageLocalization; 56 57 /** 58 * <CODE>PdfName</CODE> is an object that can be used as a name in a PDF-file. 59 * <P> 60 * A name, like a string, is a sequence of characters. 61 * It must begin with a slash followed by a sequence of ASCII characters in 62 * the range 32 through 136 except %, (, ), [, ], <, >, {, }, / and #. 63 * Any character except 0x00 may be included in a name by writing its 64 * two character hex code, preceded by #. The maximum number of characters 65 * in a name is 127.<BR> 66 * This object is described in the 'Portable Document Format Reference Manual 67 * version 1.7' section 3.2.4 (page 56-58). 68 * <P> 69 * 70 * @see PdfObject 71 * @see PdfDictionary 72 * @see BadPdfFormatException 73 */ 74 75 public class PdfName extends PdfObject implements Comparable{ 76 77 // CLASS CONSTANTS (a variety of standard names used in PDF)) 78 /** 79 * A name. 80 * @since 2.1.6 81 */ 82 public static final PdfName _3D = new PdfName("3D"); 83 /** A name */ 84 public static final PdfName A = new PdfName("A"); 85 /** A name */ 86 public static final PdfName AA = new PdfName("AA"); 87 /** 88 * A name 89 * @since 2.1.5 renamed from ABSOLUTECALORIMETRIC 90 */ 91 public static final PdfName ABSOLUTECOLORIMETRIC = new PdfName("AbsoluteColorimetric"); 92 /** A name */ 93 public static final PdfName AC = new PdfName("AC"); 94 /** A name */ 95 public static final PdfName ACROFORM = new PdfName("AcroForm"); 96 /** A name */ 97 public static final PdfName ACTION = new PdfName("Action"); 98 /** 99 * A name. 100 * @since 2.1.6 101 */ 102 public static final PdfName ACTIVATION = new PdfName("Activation"); 103 /** 104 * A name. 105 * @since 2.1.6 106 */ 107 public static final PdfName ADBE = new PdfName("ADBE"); 108 /** 109 * a name used in PDF structure 110 * @since 2.1.6 111 */ 112 public static final PdfName ACTUALTEXT = new PdfName("ActualText"); 113 /** A name */ 114 public static final PdfName ADBE_PKCS7_DETACHED = new PdfName("adbe.pkcs7.detached"); 115 /** A name */ 116 public static final PdfName ADBE_PKCS7_S4 =new PdfName("adbe.pkcs7.s4"); 117 /** A name */ 118 public static final PdfName ADBE_PKCS7_S5 =new PdfName("adbe.pkcs7.s5"); 119 /** A name */ 120 public static final PdfName ADBE_PKCS7_SHA1 = new PdfName("adbe.pkcs7.sha1"); 121 /** A name */ 122 public static final PdfName ADBE_X509_RSA_SHA1 = new PdfName("adbe.x509.rsa_sha1"); 123 /** A name */ 124 public static final PdfName ADOBE_PPKLITE = new PdfName("Adobe.PPKLite"); 125 /** A name */ 126 public static final PdfName ADOBE_PPKMS = new PdfName("Adobe.PPKMS"); 127 /** A name */ 128 public static final PdfName AESV2 = new PdfName("AESV2"); 129 /** A name */ 130 public static final PdfName AIS = new PdfName("AIS"); 131 /** A name */ 132 public static final PdfName ALLPAGES = new PdfName("AllPages"); 133 /** A name */ 134 public static final PdfName ALT = new PdfName("Alt"); 135 /** A name */ 136 public static final PdfName ALTERNATE = new PdfName("Alternate"); 137 /** 138 * A name. 139 * @since 2.1.6 140 */ 141 public static final PdfName ANIMATION = new PdfName("Animation"); 142 /** A name */ 143 public static final PdfName ANNOT = new PdfName("Annot"); 144 /** A name */ 145 public static final PdfName ANNOTS = new PdfName("Annots"); 146 /** A name */ 147 public static final PdfName ANTIALIAS = new PdfName("AntiAlias"); 148 /** A name */ 149 public static final PdfName AP = new PdfName("AP"); 150 /** A name */ 151 public static final PdfName APPDEFAULT = new PdfName("AppDefault"); 152 /** 153 * A name 154 * @since 2.1.6 155 */ 156 public static final PdfName ART = new PdfName("Art"); 157 /** A name */ 158 public static final PdfName ARTBOX = new PdfName("ArtBox"); 159 /** A name */ 160 public static final PdfName ASCENT = new PdfName("Ascent"); 161 /** A name */ 162 public static final PdfName AS = new PdfName("AS"); 163 /** A name */ 164 public static final PdfName ASCII85DECODE = new PdfName("ASCII85Decode"); 165 /** A name */ 166 public static final PdfName ASCIIHEXDECODE = new PdfName("ASCIIHexDecode"); 167 /** 168 * A name. 169 * @since 2.1.6 170 */ 171 public static final PdfName ASSET = new PdfName("Asset"); 172 /** 173 * A name. 174 * @since 2.1.6 175 */ 176 public static final PdfName ASSETS = new PdfName("Assets"); 177 /** A name */ 178 public static final PdfName AUTHEVENT = new PdfName("AuthEvent"); 179 /** A name */ 180 public static final PdfName AUTHOR = new PdfName("Author"); 181 /** A name */ 182 public static final PdfName B = new PdfName("B"); 183 /** 184 * A name 185 * @since 2.1.6 186 */ 187 public static final PdfName BACKGROUND = new PdfName("Background"); 188 /** A name */ 189 public static final PdfName BASEENCODING = new PdfName("BaseEncoding"); 190 /** A name */ 191 public static final PdfName BASEFONT = new PdfName("BaseFont"); 192 /** 193 * A name 194 * @since 2.1.6 195 */ 196 public static final PdfName BASEVERSION = new PdfName("BaseVersion"); 197 /** A name */ 198 public static final PdfName BBOX = new PdfName("BBox"); 199 /** A name */ 200 public static final PdfName BC = new PdfName("BC"); 201 /** A name */ 202 public static final PdfName BG = new PdfName("BG"); 203 /** 204 * A name 205 * @since 2.1.6 206 */ 207 public static final PdfName BIBENTRY = new PdfName("BibEntry"); 208 /** A name */ 209 public static final PdfName BIGFIVE = new PdfName("BigFive"); 210 /** 211 * A name. 212 * @since 2.1.6 213 */ 214 public static final PdfName BINDING = new PdfName("Binding"); 215 /** 216 * A name. 217 * @since 2.1.6 218 */ 219 public static final PdfName BINDINGMATERIALNAME = new PdfName("BindingMaterialName"); 220 /** A name */ 221 public static final PdfName BITSPERCOMPONENT = new PdfName("BitsPerComponent"); 222 /** A name */ 223 public static final PdfName BITSPERSAMPLE = new PdfName("BitsPerSample"); 224 /** A name */ 225 public static final PdfName BL = new PdfName("Bl"); 226 /** A name */ 227 public static final PdfName BLACKIS1 = new PdfName("BlackIs1"); 228 /** A name */ 229 public static final PdfName BLACKPOINT = new PdfName("BlackPoint"); 230 /** 231 * A name 232 * @since 2.1.6 233 */ 234 public static final PdfName BLOCKQUOTE = new PdfName("BlockQuote"); 235 /** A name */ 236 public static final PdfName BLEEDBOX = new PdfName("BleedBox"); 237 /** A name */ 238 public static final PdfName BLINDS = new PdfName("Blinds"); 239 /** A name */ 240 public static final PdfName BM = new PdfName("BM"); 241 /** A name */ 242 public static final PdfName BORDER = new PdfName("Border"); 243 /** A name */ 244 public static final PdfName BOUNDS = new PdfName("Bounds"); 245 /** A name */ 246 public static final PdfName BOX = new PdfName("Box"); 247 /** A name */ 248 public static final PdfName BS = new PdfName("BS"); 249 /** A name */ 250 public static final PdfName BTN = new PdfName("Btn"); 251 /** A name */ 252 public static final PdfName BYTERANGE = new PdfName("ByteRange"); 253 /** A name */ 254 public static final PdfName C = new PdfName("C"); 255 /** A name */ 256 public static final PdfName C0 = new PdfName("C0"); 257 /** A name */ 258 public static final PdfName C1 = new PdfName("C1"); 259 /** A name */ 260 public static final PdfName CA = new PdfName("CA"); 261 /** A name */ 262 public static final PdfName ca = new PdfName("ca"); 263 /** A name */ 264 public static final PdfName CALGRAY = new PdfName("CalGray"); 265 /** A name */ 266 public static final PdfName CALRGB = new PdfName("CalRGB"); 267 /** A name */ 268 public static final PdfName CAPHEIGHT = new PdfName("CapHeight"); 269 /** 270 * A name 271 * @since 2.1.6 272 */ 273 public static final PdfName CAPTION = new PdfName("Caption"); 274 /** A name */ 275 public static final PdfName CATALOG = new PdfName("Catalog"); 276 /** A name */ 277 public static final PdfName CATEGORY = new PdfName("Category"); 278 /** A name */ 279 public static final PdfName CCITTFAXDECODE = new PdfName("CCITTFaxDecode"); 280 /** 281 * A name. 282 * @since 2.1.6 283 */ 284 public static final PdfName CENTER = new PdfName("Center"); 285 /** A name */ 286 public static final PdfName CENTERWINDOW = new PdfName("CenterWindow"); 287 /** A name */ 288 public static final PdfName CERT = new PdfName("Cert"); 289 /** A name */ 290 public static final PdfName CF = new PdfName("CF"); 291 /** A name */ 292 public static final PdfName CFM = new PdfName("CFM"); 293 /** A name */ 294 public static final PdfName CH = new PdfName("Ch"); 295 /** A name */ 296 public static final PdfName CHARPROCS = new PdfName("CharProcs"); 297 /** A name */ 298 public static final PdfName CHECKSUM = new PdfName("CheckSum"); 299 /** A name */ 300 public static final PdfName CI = new PdfName("CI"); 301 /** A name */ 302 public static final PdfName CIDFONTTYPE0 = new PdfName("CIDFontType0"); 303 /** A name */ 304 public static final PdfName CIDFONTTYPE2 = new PdfName("CIDFontType2"); 305 /** 306 * A name 307 * @since 2.0.7 308 */ 309 public static final PdfName CIDSET = new PdfName("CIDSet"); 310 /** A name */ 311 public static final PdfName CIDSYSTEMINFO = new PdfName("CIDSystemInfo"); 312 /** A name */ 313 public static final PdfName CIDTOGIDMAP = new PdfName("CIDToGIDMap"); 314 /** A name */ 315 public static final PdfName CIRCLE = new PdfName("Circle"); 316 /** 317 * A name. 318 * @since 2.1.6 319 */ 320 public static final PdfName CMD = new PdfName("CMD"); 321 /** A name */ 322 public static final PdfName CO = new PdfName("CO"); 323 /** 324 * A name 325 * @since 2.1.6 326 */ 327 public static final PdfName CODE = new PdfName("Code"); 328 /** A name */ 329 public static final PdfName COLORS = new PdfName("Colors"); 330 /** A name */ 331 public static final PdfName COLORSPACE = new PdfName("ColorSpace"); 332 /** A name */ 333 public static final PdfName COLLECTION = new PdfName("Collection"); 334 /** A name */ 335 public static final PdfName COLLECTIONFIELD = new PdfName("CollectionField"); 336 /** A name */ 337 public static final PdfName COLLECTIONITEM = new PdfName("CollectionItem"); 338 /** A name */ 339 public static final PdfName COLLECTIONSCHEMA = new PdfName("CollectionSchema"); 340 /** A name */ 341 public static final PdfName COLLECTIONSORT = new PdfName("CollectionSort"); 342 /** A name */ 343 public static final PdfName COLLECTIONSUBITEM = new PdfName("CollectionSubitem"); 344 /** A name */ 345 public static final PdfName COLUMNS = new PdfName("Columns"); 346 /** 347 * A name. 348 * @since 2.1.6 349 */ 350 public static final PdfName CONDITION = new PdfName("Condition"); 351 /** 352 * A name. 353 * @since 2.1.6 354 */ 355 public static final PdfName CONFIGURATION = new PdfName("Configuration"); 356 /** 357 * A name. 358 * @since 2.1.6 359 */ 360 public static final PdfName CONFIGURATIONS = new PdfName("Configurations"); 361 /** A name */ 362 public static final PdfName CONTACTINFO = new PdfName("ContactInfo"); 363 /** A name */ 364 public static final PdfName CONTENT = new PdfName("Content"); 365 /** A name */ 366 public static final PdfName CONTENTS = new PdfName("Contents"); 367 /** A name */ 368 public static final PdfName COORDS = new PdfName("Coords"); 369 /** A name */ 370 public static final PdfName COUNT = new PdfName("Count"); 371 /** A name of a base 14 type 1 font */ 372 public static final PdfName COURIER = new PdfName("Courier"); 373 /** A name of a base 14 type 1 font */ 374 public static final PdfName COURIER_BOLD = new PdfName("Courier-Bold"); 375 /** A name of a base 14 type 1 font */ 376 public static final PdfName COURIER_OBLIQUE = new PdfName("Courier-Oblique"); 377 /** A name of a base 14 type 1 font */ 378 public static final PdfName COURIER_BOLDOBLIQUE = new PdfName("Courier-BoldOblique"); 379 /** A name */ 380 public static final PdfName CREATIONDATE = new PdfName("CreationDate"); 381 /** A name */ 382 public static final PdfName CREATOR = new PdfName("Creator"); 383 /** A name */ 384 public static final PdfName CREATORINFO = new PdfName("CreatorInfo"); 385 /** A name */ 386 public static final PdfName CROPBOX = new PdfName("CropBox"); 387 /** A name */ 388 public static final PdfName CRYPT = new PdfName("Crypt"); 389 /** A name */ 390 public static final PdfName CS = new PdfName("CS"); 391 /** 392 * A name. 393 * @since 2.1.6 394 */ 395 public static final PdfName CUEPOINT = new PdfName("CuePoint"); 396 /** 397 * A name. 398 * @since 2.1.6 399 */ 400 public static final PdfName CUEPOINTS = new PdfName("CuePoints"); 401 /** A name */ 402 public static final PdfName D = new PdfName("D"); 403 /** A name */ 404 public static final PdfName DA = new PdfName("DA"); 405 /** A name */ 406 public static final PdfName DATA = new PdfName("Data"); 407 /** A name */ 408 public static final PdfName DC = new PdfName("DC"); 409 /** A name */ 410 public static final PdfName DCTDECODE = new PdfName("DCTDecode"); 411 /** 412 * A name. 413 * @since 2.1.6 414 */ 415 public static final PdfName DEACTIVATION = new PdfName("Deactivation"); 416 /** A name */ 417 public static final PdfName DECODE = new PdfName("Decode"); 418 /** A name */ 419 public static final PdfName DECODEPARMS = new PdfName("DecodeParms"); 420 /** 421 * A name 422 * @since 2.1.6 423 */ 424 public static final PdfName DEFAULT = new PdfName("Default"); 425 /** 426 * A name 427 * @since 2.1.5 renamed from DEFAULTCRYPTFILER 428 */ 429 public static final PdfName DEFAULTCRYPTFILTER = new PdfName("DefaultCryptFilter"); 430 /** A name */ 431 public static final PdfName DEFAULTCMYK = new PdfName("DefaultCMYK"); 432 /** A name */ 433 public static final PdfName DEFAULTGRAY = new PdfName("DefaultGray"); 434 /** A name */ 435 public static final PdfName DEFAULTRGB = new PdfName("DefaultRGB"); 436 /** A name */ 437 public static final PdfName DESC = new PdfName("Desc"); 438 /** A name */ 439 public static final PdfName DESCENDANTFONTS = new PdfName("DescendantFonts"); 440 /** A name */ 441 public static final PdfName DESCENT = new PdfName("Descent"); 442 /** A name */ 443 public static final PdfName DEST = new PdfName("Dest"); 444 /** A name */ 445 public static final PdfName DESTOUTPUTPROFILE = new PdfName("DestOutputProfile"); 446 /** A name */ 447 public static final PdfName DESTS = new PdfName("Dests"); 448 /** A name */ 449 public static final PdfName DEVICEGRAY = new PdfName("DeviceGray"); 450 /** A name */ 451 public static final PdfName DEVICERGB = new PdfName("DeviceRGB"); 452 /** A name */ 453 public static final PdfName DEVICECMYK = new PdfName("DeviceCMYK"); 454 /** A name */ 455 public static final PdfName DI = new PdfName("Di"); 456 /** A name */ 457 public static final PdfName DIFFERENCES = new PdfName("Differences"); 458 /** A name */ 459 public static final PdfName DISSOLVE = new PdfName("Dissolve"); 460 /** A name */ 461 public static final PdfName DIRECTION = new PdfName("Direction"); 462 /** A name */ 463 public static final PdfName DISPLAYDOCTITLE = new PdfName("DisplayDocTitle"); 464 /** A name */ 465 public static final PdfName DIV = new PdfName("Div"); 466 /** A name */ 467 public static final PdfName DL = new PdfName("DL"); 468 /** A name */ 469 public static final PdfName DM = new PdfName("Dm"); 470 /** A name */ 471 public static final PdfName DOCMDP = new PdfName("DocMDP"); 472 /** A name */ 473 public static final PdfName DOCOPEN = new PdfName("DocOpen"); 474 /** 475 * A name. 476 * @since 2.1.6 477 */ 478 public static final PdfName DOCUMENT = new PdfName( "Document" ); 479 /** A name */ 480 public static final PdfName DOMAIN = new PdfName("Domain"); 481 /** A name */ 482 public static final PdfName DP = new PdfName("DP"); 483 /** A name */ 484 public static final PdfName DR = new PdfName("DR"); 485 /** A name */ 486 public static final PdfName DS = new PdfName("DS"); 487 /** A name */ 488 public static final PdfName DUR = new PdfName("Dur"); 489 /** A name */ 490 public static final PdfName DUPLEX = new PdfName("Duplex"); 491 /** A name */ 492 public static final PdfName DUPLEXFLIPSHORTEDGE = new PdfName("DuplexFlipShortEdge"); 493 /** A name */ 494 public static final PdfName DUPLEXFLIPLONGEDGE = new PdfName("DuplexFlipLongEdge"); 495 /** A name */ 496 public static final PdfName DV = new PdfName("DV"); 497 /** A name */ 498 public static final PdfName DW = new PdfName("DW"); 499 /** A name */ 500 public static final PdfName E = new PdfName("E"); 501 /** A name */ 502 public static final PdfName EARLYCHANGE = new PdfName("EarlyChange"); 503 /** A name */ 504 public static final PdfName EF = new PdfName("EF"); 505 /** 506 * A name 507 * @since 2.1.3 508 */ 509 public static final PdfName EFF = new PdfName("EFF"); 510 /** 511 * A name 512 * @since 2.1.3 513 */ 514 public static final PdfName EFOPEN = new PdfName("EFOpen"); 515 /** 516 * A name 517 * @since 2.1.6 518 */ 519 public static final PdfName EMBEDDED = new PdfName("Embedded"); 520 /** A name */ 521 public static final PdfName EMBEDDEDFILE = new PdfName("EmbeddedFile"); 522 /** A name */ 523 public static final PdfName EMBEDDEDFILES = new PdfName("EmbeddedFiles"); 524 /** A name */ 525 public static final PdfName ENCODE = new PdfName("Encode"); 526 /** A name */ 527 public static final PdfName ENCODEDBYTEALIGN = new PdfName("EncodedByteAlign"); 528 /** A name */ 529 public static final PdfName ENCODING = new PdfName("Encoding"); 530 /** A name */ 531 public static final PdfName ENCRYPT = new PdfName("Encrypt"); 532 /** A name */ 533 public static final PdfName ENCRYPTMETADATA = new PdfName("EncryptMetadata"); 534 /** A name */ 535 public static final PdfName ENDOFBLOCK = new PdfName("EndOfBlock"); 536 /** A name */ 537 public static final PdfName ENDOFLINE = new PdfName("EndOfLine"); 538 /** A name */ 539 public static final PdfName EXTEND = new PdfName("Extend"); 540 /** 541 * A name 542 * @since 2.1.6 543 */ 544 public static final PdfName EXTENSIONS = new PdfName("Extensions"); 545 /** 546 * A name 547 * @since 2.1.6 548 */ 549 public static final PdfName EXTENSIONLEVEL = new PdfName("ExtensionLevel"); 550 /** A name */ 551 public static final PdfName EXTGSTATE = new PdfName("ExtGState"); 552 /** A name */ 553 public static final PdfName EXPORT = new PdfName("Export"); 554 /** A name */ 555 public static final PdfName EXPORTSTATE = new PdfName("ExportState"); 556 /** A name */ 557 public static final PdfName EVENT = new PdfName("Event"); 558 /** A name */ 559 public static final PdfName F = new PdfName("F"); 560 /** 561 * A name. 562 * @since 2.1.6 563 */ 564 public static final PdfName FAR = new PdfName("Far"); 565 /** A name */ 566 public static final PdfName FB = new PdfName("FB"); 567 /** A name */ 568 public static final PdfName FDECODEPARMS = new PdfName("FDecodeParms"); 569 /** A name */ 570 public static final PdfName FDF = new PdfName("FDF"); 571 /** A name */ 572 public static final PdfName FF = new PdfName("Ff"); 573 /** A name */ 574 public static final PdfName FFILTER = new PdfName("FFilter"); 575 /** A name */ 576 public static final PdfName FIELDS = new PdfName("Fields"); 577 /** 578 * A name 579 * @since 2.1.6 580 */ 581 public static final PdfName FIGURE = new PdfName( "Figure" ); 582 /** A name */ 583 public static final PdfName FILEATTACHMENT = new PdfName("FileAttachment"); 584 /** A name */ 585 public static final PdfName FILESPEC = new PdfName("Filespec"); 586 /** A name */ 587 public static final PdfName FILTER = new PdfName("Filter"); 588 /** A name */ 589 public static final PdfName FIRST = new PdfName("First"); 590 /** A name */ 591 public static final PdfName FIRSTCHAR = new PdfName("FirstChar"); 592 /** A name */ 593 public static final PdfName FIRSTPAGE = new PdfName("FirstPage"); 594 /** A name */ 595 public static final PdfName FIT = new PdfName("Fit"); 596 /** A name */ 597 public static final PdfName FITH = new PdfName("FitH"); 598 /** A name */ 599 public static final PdfName FITV = new PdfName("FitV"); 600 /** A name */ 601 public static final PdfName FITR = new PdfName("FitR"); 602 /** A name */ 603 public static final PdfName FITB = new PdfName("FitB"); 604 /** A name */ 605 public static final PdfName FITBH = new PdfName("FitBH"); 606 /** A name */ 607 public static final PdfName FITBV = new PdfName("FitBV"); 608 /** A name */ 609 public static final PdfName FITWINDOW = new PdfName("FitWindow"); 610 /** A name */ 611 public static final PdfName FLAGS = new PdfName("Flags"); 612 /** 613 * A name. 614 * @since 2.1.6 615 */ 616 public static final PdfName FLASH = new PdfName("Flash"); 617 /** 618 * A name. 619 * @since 2.1.6 620 */ 621 public static final PdfName FLASHVARS = new PdfName("FlashVars"); 622 /** A name */ 623 public static final PdfName FLATEDECODE = new PdfName("FlateDecode"); 624 /** A name */ 625 public static final PdfName FO = new PdfName("Fo"); 626 /** A name */ 627 public static final PdfName FONT = new PdfName("Font"); 628 /** A name */ 629 public static final PdfName FONTBBOX = new PdfName("FontBBox"); 630 /** A name */ 631 public static final PdfName FONTDESCRIPTOR = new PdfName("FontDescriptor"); 632 /** A name */ 633 public static final PdfName FONTFILE = new PdfName("FontFile"); 634 /** A name */ 635 public static final PdfName FONTFILE2 = new PdfName("FontFile2"); 636 /** A name */ 637 public static final PdfName FONTFILE3 = new PdfName("FontFile3"); 638 /** A name */ 639 public static final PdfName FONTMATRIX = new PdfName("FontMatrix"); 640 /** A name */ 641 public static final PdfName FONTNAME = new PdfName("FontName"); 642 /** 643 * A name 644 * @since 2.1.6 645 */ 646 public static final PdfName FOREGROUND = new PdfName("Foreground"); 647 /** A name */ 648 public static final PdfName FORM = new PdfName("Form"); 649 /** A name */ 650 public static final PdfName FORMTYPE = new PdfName("FormType"); 651 /** 652 * A name 653 * @since 2.1.6 654 */ 655 public static final PdfName FORMULA = new PdfName( "Formula" ); 656 /** A name */ 657 public static final PdfName FREETEXT = new PdfName("FreeText"); 658 /** A name */ 659 public static final PdfName FRM = new PdfName("FRM"); 660 /** A name */ 661 public static final PdfName FS = new PdfName("FS"); 662 /** A name */ 663 public static final PdfName FT = new PdfName("FT"); 664 /** A name */ 665 public static final PdfName FULLSCREEN = new PdfName("FullScreen"); 666 /** A name */ 667 public static final PdfName FUNCTION = new PdfName("Function"); 668 /** A name */ 669 public static final PdfName FUNCTIONS = new PdfName("Functions"); 670 /** A name */ 671 public static final PdfName FUNCTIONTYPE = new PdfName("FunctionType"); 672 /** A name of an attribute. */ 673 public static final PdfName GAMMA = new PdfName("Gamma"); 674 /** A name of an attribute. */ 675 public static final PdfName GBK = new PdfName("GBK"); 676 /** A name of an attribute. */ 677 public static final PdfName GLITTER = new PdfName("Glitter"); 678 /** A name of an attribute. */ 679 public static final PdfName GOTO = new PdfName("GoTo"); 680 /** A name of an attribute. */ 681 public static final PdfName GOTOE = new PdfName("GoToE"); 682 /** A name of an attribute. */ 683 public static final PdfName GOTOR = new PdfName("GoToR"); 684 /** A name of an attribute. */ 685 public static final PdfName GROUP = new PdfName("Group"); 686 /** A name of an attribute. */ 687 public static final PdfName GTS_PDFA1 = new PdfName("GTS_PDFA1"); 688 /** A name of an attribute. */ 689 public static final PdfName GTS_PDFX = new PdfName("GTS_PDFX"); 690 /** A name of an attribute. */ 691 public static final PdfName GTS_PDFXVERSION = new PdfName("GTS_PDFXVersion"); 692 /** A name of an attribute. */ 693 public static final PdfName H = new PdfName("H"); 694 /** 695 * A name 696 * @since 2.1.6 697 */ 698 public static final PdfName H1 = new PdfName( "H1" ); 699 /** 700 * A name 701 * @since 2.1.6 702 */ 703 public static final PdfName H2 = new PdfName("H2"); 704 /** 705 * A name 706 * @since 2.1.6 707 */ 708 public static final PdfName H3 = new PdfName("H3"); 709 /** 710 * A name 711 * @since 2.1.6 712 */ 713 public static final PdfName H4 = new PdfName("H4"); 714 /** 715 * A name 716 * @since 2.1.6 717 */ 718 public static final PdfName H5 = new PdfName("H5"); 719 /** 720 * A name 721 * @since 2.1.6 722 */ 723 public static final PdfName H6 = new PdfName("H6"); 724 725 /** 726 * A name. 727 * @since 2.1.6 728 */ 729 public static final PdfName HALIGN = new PdfName("HAlign"); 730 /** A name of an attribute. */ 731 public static final PdfName HEIGHT = new PdfName("Height"); 732 /** A name */ 733 public static final PdfName HELV = new PdfName("Helv"); 734 /** A name of a base 14 type 1 font */ 735 public static final PdfName HELVETICA = new PdfName("Helvetica"); 736 /** A name of a base 14 type 1 font */ 737 public static final PdfName HELVETICA_BOLD = new PdfName("Helvetica-Bold"); 738 /** A name of a base 14 type 1 font */ 739 public static final PdfName HELVETICA_OBLIQUE = new PdfName("Helvetica-Oblique"); 740 /** A name of a base 14 type 1 font */ 741 public static final PdfName HELVETICA_BOLDOBLIQUE = new PdfName("Helvetica-BoldOblique"); 742 /** A name */ 743 public static final PdfName HID = new PdfName("Hid"); 744 /** A name */ 745 public static final PdfName HIDE = new PdfName("Hide"); 746 /** A name */ 747 public static final PdfName HIDEMENUBAR = new PdfName("HideMenubar"); 748 /** A name */ 749 public static final PdfName HIDETOOLBAR = new PdfName("HideToolbar"); 750 /** A name */ 751 public static final PdfName HIDEWINDOWUI = new PdfName("HideWindowUI"); 752 /** A name */ 753 public static final PdfName HIGHLIGHT = new PdfName("Highlight"); 754 /** 755 * A name. 756 * @since 2.1.6 757 */ 758 public static final PdfName HOFFSET = new PdfName("HOffset"); 759 /** A name */ 760 public static final PdfName I = new PdfName("I"); 761 /** A name */ 762 public static final PdfName ICCBASED = new PdfName("ICCBased"); 763 /** A name */ 764 public static final PdfName ID = new PdfName("ID"); 765 /** A name */ 766 public static final PdfName IDENTITY = new PdfName("Identity"); 767 /** A name */ 768 public static final PdfName IF = new PdfName("IF"); 769 /** A name */ 770 public static final PdfName IMAGE = new PdfName("Image"); 771 /** A name */ 772 public static final PdfName IMAGEB = new PdfName("ImageB"); 773 /** A name */ 774 public static final PdfName IMAGEC = new PdfName("ImageC"); 775 /** A name */ 776 public static final PdfName IMAGEI = new PdfName("ImageI"); 777 /** A name */ 778 public static final PdfName IMAGEMASK = new PdfName("ImageMask"); 779 /** A name */ 780 public static final PdfName INDEX = new PdfName("Index"); 781 /** A name */ 782 public static final PdfName INDEXED = new PdfName("Indexed"); 783 /** A name */ 784 public static final PdfName INFO = new PdfName("Info"); 785 /** A name */ 786 public static final PdfName INK = new PdfName("Ink"); 787 /** A name */ 788 public static final PdfName INKLIST = new PdfName("InkList"); 789 /** 790 * A name. 791 * @since 2.1.6 792 */ 793 public static final PdfName INSTANCES = new PdfName("Instances"); 794 /** A name */ 795 public static final PdfName IMPORTDATA = new PdfName("ImportData"); 796 /** A name */ 797 public static final PdfName INTENT = new PdfName("Intent"); 798 /** A name */ 799 public static final PdfName INTERPOLATE = new PdfName("Interpolate"); 800 /** A name */ 801 public static final PdfName ISMAP = new PdfName("IsMap"); 802 /** A name */ 803 public static final PdfName IRT = new PdfName("IRT"); 804 /** A name */ 805 public static final PdfName ITALICANGLE = new PdfName("ItalicAngle"); 806 /** 807 * A name 808 * @since 2.1.6 809 */ 810 public static final PdfName ITXT = new PdfName("ITXT"); 811 /** A name */ 812 public static final PdfName IX = new PdfName("IX"); 813 /** A name */ 814 public static final PdfName JAVASCRIPT = new PdfName("JavaScript"); 815 /** 816 * A name 817 * @since 2.1.5 818 */ 819 public static final PdfName JBIG2DECODE = new PdfName("JBIG2Decode"); 820 /** 821 * A name 822 * @since 2.1.5 823 */ 824 public static final PdfName JBIG2GLOBALS = new PdfName("JBIG2Globals"); 825 /** A name */ 826 public static final PdfName JPXDECODE = new PdfName("JPXDecode"); 827 /** A name */ 828 public static final PdfName JS = new PdfName("JS"); 829 /** A name */ 830 public static final PdfName K = new PdfName("K"); 831 /** A name */ 832 public static final PdfName KEYWORDS = new PdfName("Keywords"); 833 /** A name */ 834 public static final PdfName KIDS = new PdfName("Kids"); 835 /** A name */ 836 public static final PdfName L = new PdfName("L"); 837 /** A name */ 838 public static final PdfName L2R = new PdfName("L2R"); 839 /** A name */ 840 public static final PdfName LANG = new PdfName("Lang"); 841 /** A name */ 842 public static final PdfName LANGUAGE = new PdfName("Language"); 843 /** A name */ 844 public static final PdfName LAST = new PdfName("Last"); 845 /** A name */ 846 public static final PdfName LASTCHAR = new PdfName("LastChar"); 847 /** A name */ 848 public static final PdfName LASTPAGE = new PdfName("LastPage"); 849 /** A name */ 850 public static final PdfName LAUNCH = new PdfName("Launch"); 851 /** 852 * A name 853 * @since 2.1.6 854 */ 855 public static final PdfName LBL = new PdfName("Lbl"); 856 /** 857 * A name 858 * @since 2.1.6 859 */ 860 public static final PdfName LBODY = new PdfName("LBody"); 861 /** A name */ 862 public static final PdfName LENGTH = new PdfName("Length"); 863 /** A name */ 864 public static final PdfName LENGTH1 = new PdfName("Length1"); 865 /** 866 * A name 867 * @since 2.1.6 868 */ 869 public static final PdfName LI = new PdfName("LI"); 870 /** A name */ 871 public static final PdfName LIMITS = new PdfName("Limits"); 872 /** A name */ 873 public static final PdfName LINE = new PdfName("Line"); 874 /** 875 * A name. 876 * @since 2.1.6 877 */ 878 public static final PdfName LINEAR = new PdfName("Linear"); 879 /** A name */ 880 public static final PdfName LINK = new PdfName("Link"); 881 /** A name */ 882 public static final PdfName LISTMODE = new PdfName("ListMode"); 883 /** A name */ 884 public static final PdfName LOCATION = new PdfName("Location"); 885 /** A name */ 886 public static final PdfName LOCK = new PdfName("Lock"); 887 /** 888 * A name 889 * @since 2.1.2 890 */ 891 public static final PdfName LOCKED = new PdfName("Locked"); 892 /** A name */ 893 public static final PdfName LZWDECODE = new PdfName("LZWDecode"); 894 /** A name */ 895 public static final PdfName M = new PdfName("M"); 896 /** 897 * A name 898 * @since 2.1.6 899 */ 900 public static final PdfName MATERIAL = new PdfName("Material"); 901 /** A name */ 902 public static final PdfName MATRIX = new PdfName("Matrix"); 903 /** A name of an encoding */ 904 public static final PdfName MAC_EXPERT_ENCODING = new PdfName("MacExpertEncoding"); 905 /** A name of an encoding */ 906 public static final PdfName MAC_ROMAN_ENCODING = new PdfName("MacRomanEncoding"); 907 /** A name */ 908 public static final PdfName MARKED = new PdfName("Marked"); 909 /** A name */ 910 public static final PdfName MARKINFO = new PdfName("MarkInfo"); 911 /** A name */ 912 public static final PdfName MASK = new PdfName("Mask"); 913 /** 914 * A name 915 * @since 2.1.6 renamed from MAX 916 */ 917 public static final PdfName MAX_LOWER_CASE = new PdfName("max"); 918 /** 919 * A name 920 * @since 2.1.6 921 */ 922 public static final PdfName MAX_CAMEL_CASE = new PdfName("Max"); 923 /** A name */ 924 public static final PdfName MAXLEN = new PdfName("MaxLen"); 925 /** A name */ 926 public static final PdfName MEDIABOX = new PdfName("MediaBox"); 927 /** A name */ 928 public static final PdfName MCID = new PdfName("MCID"); 929 /** A name */ 930 public static final PdfName MCR = new PdfName("MCR"); 931 /** A name */ 932 public static final PdfName METADATA = new PdfName("Metadata"); 933 /** 934 * A name 935 * @since 2.1.6 renamed from MIN 936 */ 937 public static final PdfName MIN_LOWER_CASE = new PdfName("min"); 938 /** 939 * A name 940 * @since 2.1.6 941 */ 942 public static final PdfName MIN_CAMEL_CASE = new PdfName("Min"); 943 /** A name */ 944 public static final PdfName MK = new PdfName("MK"); 945 /** A name */ 946 public static final PdfName MMTYPE1 = new PdfName("MMType1"); 947 /** A name */ 948 public static final PdfName MODDATE = new PdfName("ModDate"); 949 /** A name */ 950 public static final PdfName N = new PdfName("N"); 951 /** A name */ 952 public static final PdfName N0 = new PdfName("n0"); 953 /** A name */ 954 public static final PdfName N1 = new PdfName("n1"); 955 /** A name */ 956 public static final PdfName N2 = new PdfName("n2"); 957 /** A name */ 958 public static final PdfName N3 = new PdfName("n3"); 959 /** A name */ 960 public static final PdfName N4 = new PdfName("n4"); 961 /** A name */ 962 public static final PdfName NAME = new PdfName("Name"); 963 /** A name */ 964 public static final PdfName NAMED = new PdfName("Named"); 965 /** A name */ 966 public static final PdfName NAMES = new PdfName("Names"); 967 /** 968 * A name. 969 * @since 2.1.6 970 */ 971 public static final PdfName NAVIGATION = new PdfName("Navigation"); 972 /** 973 * A name. 974 * @since 2.1.6 975 */ 976 public static final PdfName NAVIGATIONPANE = new PdfName("NavigationPane"); 977 /** 978 * A name. 979 * @since 2.1.6 980 */ 981 public static final PdfName NEAR = new PdfName("Near"); 982 /** A name */ 983 public static final PdfName NEEDAPPEARANCES = new PdfName("NeedAppearances"); 984 /** A name */ 985 public static final PdfName NEWWINDOW = new PdfName("NewWindow"); 986 /** A name */ 987 public static final PdfName NEXT = new PdfName("Next"); 988 /** A name */ 989 public static final PdfName NEXTPAGE = new PdfName("NextPage"); 990 /** A name */ 991 public static final PdfName NM = new PdfName("NM"); 992 /** A name */ 993 public static final PdfName NONE = new PdfName("None"); 994 /** A name */ 995 public static final PdfName NONFULLSCREENPAGEMODE = new PdfName("NonFullScreenPageMode"); 996 /** 997 * A name 998 * @since 2.1.6 999 */ 1000 public static final PdfName NONSTRUCT = new PdfName("NonStruct"); 1001 /** 1002 * A name 1003 * @since 2.1.6 1004 */ 1005 public static final PdfName NOTE = new PdfName("Note"); 1006 /** A name */ 1007 public static final PdfName NUMCOPIES = new PdfName("NumCopies"); 1008 /** A name */ 1009 public static final PdfName NUMS = new PdfName("Nums"); 1010 /** A name */ 1011 public static final PdfName O = new PdfName("O"); 1012 /** 1013 * A name used with Document Structure 1014 * @since 2.1.5 1015 */ 1016 public static final PdfName OBJ = new PdfName("Obj"); 1017 /** 1018 * a name used with Doucment Structure 1019 * @since 2.1.5 1020 */ 1021 public static final PdfName OBJR = new PdfName("OBJR"); 1022 /** A name */ 1023 public static final PdfName OBJSTM = new PdfName("ObjStm"); 1024 /** A name */ 1025 public static final PdfName OC = new PdfName("OC"); 1026 /** A name */ 1027 public static final PdfName OCG = new PdfName("OCG"); 1028 /** A name */ 1029 public static final PdfName OCGS = new PdfName("OCGs"); 1030 /** A name */ 1031 public static final PdfName OCMD = new PdfName("OCMD"); 1032 /** A name */ 1033 public static final PdfName OCPROPERTIES = new PdfName("OCProperties"); 1034 /** A name */ 1035 public static final PdfName Off = new PdfName("Off"); 1036 /** A name */ 1037 public static final PdfName OFF = new PdfName("OFF"); 1038 /** A name */ 1039 public static final PdfName ON = new PdfName("ON"); 1040 /** A name */ 1041 public static final PdfName ONECOLUMN = new PdfName("OneColumn"); 1042 /** A name */ 1043 public static final PdfName OPEN = new PdfName("Open"); 1044 /** A name */ 1045 public static final PdfName OPENACTION = new PdfName("OpenAction"); 1046 /** A name */ 1047 public static final PdfName OP = new PdfName("OP"); 1048 /** A name */ 1049 public static final PdfName op = new PdfName("op"); 1050 /** A name */ 1051 public static final PdfName OPM = new PdfName("OPM"); 1052 /** A name */ 1053 public static final PdfName OPT = new PdfName("Opt"); 1054 /** A name */ 1055 public static final PdfName ORDER = new PdfName("Order"); 1056 /** A name */ 1057 public static final PdfName ORDERING = new PdfName("Ordering"); 1058 /** 1059 * A name. 1060 * @since 2.1.6 1061 */ 1062 public static final PdfName OSCILLATING = new PdfName("Oscillating"); 1063 1064 /** A name */ 1065 public static final PdfName OUTLINES = new PdfName("Outlines"); 1066 /** A name */ 1067 public static final PdfName OUTPUTCONDITION = new PdfName("OutputCondition"); 1068 /** A name */ 1069 public static final PdfName OUTPUTCONDITIONIDENTIFIER = new PdfName("OutputConditionIdentifier"); 1070 /** A name */ 1071 public static final PdfName OUTPUTINTENT = new PdfName("OutputIntent"); 1072 /** A name */ 1073 public static final PdfName OUTPUTINTENTS = new PdfName("OutputIntents"); 1074 /** A name */ 1075 public static final PdfName P = new PdfName("P"); 1076 /** A name */ 1077 public static final PdfName PAGE = new PdfName("Page"); 1078 /** A name */ 1079 public static final PdfName PAGELABELS = new PdfName("PageLabels"); 1080 /** A name */ 1081 public static final PdfName PAGELAYOUT = new PdfName("PageLayout"); 1082 /** A name */ 1083 public static final PdfName PAGEMODE = new PdfName("PageMode"); 1084 /** A name */ 1085 public static final PdfName PAGES = new PdfName("Pages"); 1086 /** A name */ 1087 public static final PdfName PAINTTYPE = new PdfName("PaintType"); 1088 /** A name */ 1089 public static final PdfName PANOSE = new PdfName("Panose"); 1090 /** A name */ 1091 public static final PdfName PARAMS = new PdfName("Params"); 1092 /** A name */ 1093 public static final PdfName PARENT = new PdfName("Parent"); 1094 /** A name */ 1095 public static final PdfName PARENTTREE = new PdfName("ParentTree"); 1096 /** 1097 * A name used in defining Document Structure. 1098 * @since 2.1.5 1099 */ 1100 public static final PdfName PARENTTREENEXTKEY = new PdfName( "ParentTreeNextKey" ); 1101 /** 1102 * A name 1103 * @since 2.1.6 1104 */ 1105 public static final PdfName PART = new PdfName( "Part" ); 1106 /** 1107 * A name. 1108 * @since 2.1.6 1109 */ 1110 public static final PdfName PASSCONTEXTCLICK = new PdfName("PassContextClick"); 1111 /** A name */ 1112 public static final PdfName PATTERN = new PdfName("Pattern"); 1113 /** A name */ 1114 public static final PdfName PATTERNTYPE = new PdfName("PatternType"); 1115 /** 1116 * A name. 1117 * @since 2.1.6 1118 */ 1119 public static final PdfName PC = new PdfName("PC"); 1120 /** A name */ 1121 public static final PdfName PDF = new PdfName("PDF"); 1122 /** A name */ 1123 public static final PdfName PDFDOCENCODING = new PdfName("PDFDocEncoding"); 1124 /** A name */ 1125 public static final PdfName PERCEPTUAL = new PdfName("Perceptual"); 1126 /** A name */ 1127 public static final PdfName PERMS = new PdfName("Perms"); 1128 /** A name */ 1129 public static final PdfName PG = new PdfName("Pg"); 1130 /** 1131 * A name. 1132 * @since 2.1.6 1133 */ 1134 public static final PdfName PI = new PdfName("PI"); 1135 /** A name */ 1136 public static final PdfName PICKTRAYBYPDFSIZE = new PdfName("PickTrayByPDFSize"); 1137 /** 1138 * A name. 1139 * @since 2.1.6 1140 */ 1141 public static final PdfName PLAYCOUNT = new PdfName("PlayCount"); 1142 /** 1143 * A name. 1144 * @since 2.1.6 1145 */ 1146 public static final PdfName PO = new PdfName("PO"); 1147 /** A name */ 1148 public static final PdfName POPUP = new PdfName("Popup"); 1149 /** 1150 * A name. 1151 * @since 2.1.6 1152 */ 1153 public static final PdfName POSITION = new PdfName("Position"); 1154 /** A name */ 1155 public static final PdfName PREDICTOR = new PdfName("Predictor"); 1156 /** A name */ 1157 public static final PdfName PREFERRED = new PdfName("Preferred"); 1158 /** 1159 * A name. 1160 * @since 2.1.6 1161 */ 1162 public static final PdfName PRESENTATION = new PdfName("Presentation"); 1163 /** A name */ 1164 public static final PdfName PRESERVERB = new PdfName("PreserveRB"); 1165 /** A name */ 1166 public static final PdfName PREV = new PdfName("Prev"); 1167 /** A name */ 1168 public static final PdfName PREVPAGE = new PdfName("PrevPage"); 1169 /** A name */ 1170 public static final PdfName PRINT = new PdfName("Print"); 1171 /** A name */ 1172 public static final PdfName PRINTAREA = new PdfName("PrintArea"); 1173 /** A name */ 1174 public static final PdfName PRINTCLIP = new PdfName("PrintClip"); 1175 /** A name */ 1176 public static final PdfName PRINTPAGERANGE = new PdfName("PrintPageRange"); 1177 /** A name */ 1178 public static final PdfName PRINTSCALING = new PdfName("PrintScaling"); 1179 /** A name */ 1180 public static final PdfName PRINTSTATE = new PdfName("PrintState"); 1181 /** 1182 * A name 1183 * @since 2.1.6 1184 */ 1185 public static final PdfName PRIVATE = new PdfName("Private"); 1186 /** A name */ 1187 public static final PdfName PROCSET = new PdfName("ProcSet"); 1188 /** A name */ 1189 public static final PdfName PRODUCER = new PdfName("Producer"); 1190 /** A name */ 1191 public static final PdfName PROPERTIES = new PdfName("Properties"); 1192 /** A name */ 1193 public static final PdfName PS = new PdfName("PS"); 1194 /** A name */ 1195 public static final PdfName PUBSEC = new PdfName("Adobe.PubSec"); 1196 /** 1197 * A name. 1198 * @since 2.1.6 1199 */ 1200 public static final PdfName PV = new PdfName("PV"); 1201 /** A name */ 1202 public static final PdfName Q = new PdfName("Q"); 1203 /** A name */ 1204 public static final PdfName QUADPOINTS = new PdfName("QuadPoints"); 1205 /** 1206 * A name 1207 * @since 2.1.6 1208 */ 1209 public static final PdfName QUOTE = new PdfName("Quote"); 1210 /** A name */ 1211 public static final PdfName R = new PdfName("R"); 1212 /** A name */ 1213 public static final PdfName R2L = new PdfName("R2L"); 1214 /** A name */ 1215 public static final PdfName RANGE = new PdfName("Range"); 1216 /** A name */ 1217 public static final PdfName RC = new PdfName("RC"); 1218 /** A name */ 1219 public static final PdfName RBGROUPS = new PdfName("RBGroups"); 1220 /** A name */ 1221 public static final PdfName REASON = new PdfName("Reason"); 1222 /** A name */ 1223 public static final PdfName RECIPIENTS = new PdfName("Recipients"); 1224 /** A name */ 1225 public static final PdfName RECT = new PdfName("Rect"); 1226 /** A name */ 1227 public static final PdfName REFERENCE = new PdfName("Reference"); 1228 /** A name */ 1229 public static final PdfName REGISTRY = new PdfName("Registry"); 1230 /** A name */ 1231 public static final PdfName REGISTRYNAME = new PdfName("RegistryName"); 1232 /** 1233 * A name 1234 * @since 2.1.5 renamed from RELATIVECALORIMETRIC 1235 */ 1236 public static final PdfName RELATIVECOLORIMETRIC = new PdfName("RelativeColorimetric"); 1237 /** A name */ 1238 public static final PdfName RENDITION = new PdfName("Rendition"); 1239 /** A name */ 1240 public static final PdfName RESETFORM = new PdfName("ResetForm"); 1241 /** A name */ 1242 public static final PdfName RESOURCES = new PdfName("Resources"); 1243 /** A name */ 1244 public static final PdfName RI = new PdfName("RI"); 1245 /** 1246 * A name. 1247 * @since 2.1.6 1248 */ 1249 public static final PdfName RICHMEDIA = new PdfName("RichMedia"); 1250 /** 1251 * A name. 1252 * @since 2.1.6 1253 */ 1254 public static final PdfName RICHMEDIAACTIVATION = new PdfName("RichMediaActivation"); 1255 /** 1256 * A name. 1257 * @since 2.1.6 1258 */ 1259 public static final PdfName RICHMEDIAANIMATION = new PdfName("RichMediaAnimation"); 1260 /** 1261 * A name 1262 * @since 2.1.6 1263 */ 1264 public static final PdfName RICHMEDIACOMMAND = new PdfName("RichMediaCommand"); 1265 /** 1266 * A name. 1267 * @since 2.1.6 1268 */ 1269 public static final PdfName RICHMEDIACONFIGURATION = new PdfName("RichMediaConfiguration"); 1270 /** 1271 * A name. 1272 * @since 2.1.6 1273 */ 1274 public static final PdfName RICHMEDIACONTENT = new PdfName("RichMediaContent"); 1275 /** 1276 * A name. 1277 * @since 2.1.6 1278 */ 1279 public static final PdfName RICHMEDIADEACTIVATION = new PdfName("RichMediaDeactivation"); 1280 /** 1281 * A name. 1282 * @since 2.1.6 1283 */ 1284 public static final PdfName RICHMEDIAEXECUTE = new PdfName("RichMediaExecute"); 1285 /** 1286 * A name. 1287 * @since 2.1.6 1288 */ 1289 public static final PdfName RICHMEDIAINSTANCE = new PdfName("RichMediaInstance"); 1290 /** 1291 * A name. 1292 * @since 2.1.6 1293 */ 1294 public static final PdfName RICHMEDIAPARAMS = new PdfName("RichMediaParams"); 1295 /** 1296 * A name. 1297 * @since 2.1.6 1298 */ 1299 public static final PdfName RICHMEDIAPOSITION = new PdfName("RichMediaPosition"); 1300 /** 1301 * A name. 1302 * @since 2.1.6 1303 */ 1304 public static final PdfName RICHMEDIAPRESENTATION = new PdfName("RichMediaPresentation"); 1305 /** 1306 * A name. 1307 * @since 2.1.6 1308 */ 1309 public static final PdfName RICHMEDIASETTINGS = new PdfName("RichMediaSettings"); 1310 /** 1311 * A name. 1312 * @since 2.1.6 1313 */ 1314 public static final PdfName RICHMEDIAWINDOW = new PdfName("RichMediaWindow"); 1315 /** A name */ 1316 public static final PdfName ROLEMAP = new PdfName("RoleMap"); 1317 /** A name */ 1318 public static final PdfName ROOT = new PdfName("Root"); 1319 /** A name */ 1320 public static final PdfName ROTATE = new PdfName("Rotate"); 1321 /** A name */ 1322 public static final PdfName ROWS = new PdfName("Rows"); 1323 /** 1324 * A name 1325 * @since 2.1.6 1326 */ 1327 public static final PdfName RUBY = new PdfName( "Ruby" ); 1328 /** A name */ 1329 public static final PdfName RUNLENGTHDECODE = new PdfName("RunLengthDecode"); 1330 /** A name */ 1331 public static final PdfName RV = new PdfName("RV"); 1332 /** A name */ 1333 public static final PdfName S = new PdfName("S"); 1334 /** A name */ 1335 public static final PdfName SATURATION = new PdfName("Saturation"); 1336 /** A name */ 1337 public static final PdfName SCHEMA = new PdfName("Schema"); 1338 /** A name */ 1339 public static final PdfName SCREEN = new PdfName("Screen"); 1340 /** 1341 * A name. 1342 * @since 2.1.6 1343 */ 1344 public static final PdfName SCRIPTS = new PdfName("Scripts"); 1345 /** A name */ 1346 public static final PdfName SECT = new PdfName("Sect"); 1347 /** A name */ 1348 public static final PdfName SEPARATION = new PdfName("Separation"); 1349 /** A name */ 1350 public static final PdfName SETOCGSTATE = new PdfName("SetOCGState"); 1351 /** 1352 * A name. 1353 * @since 2.1.6 1354 */ 1355 public static final PdfName SETTINGS = new PdfName("Settings"); 1356 /** A name */ 1357 public static final PdfName SHADING = new PdfName("Shading"); 1358 /** A name */ 1359 public static final PdfName SHADINGTYPE = new PdfName("ShadingType"); 1360 /** A name */ 1361 public static final PdfName SHIFT_JIS = new PdfName("Shift-JIS"); 1362 /** A name */ 1363 public static final PdfName SIG = new PdfName("Sig"); 1364 /** A name */ 1365 public static final PdfName SIGFLAGS = new PdfName("SigFlags"); 1366 /** A name */ 1367 public static final PdfName SIGREF = new PdfName("SigRef"); 1368 /** A name */ 1369 public static final PdfName SIMPLEX = new PdfName("Simplex"); 1370 /** A name */ 1371 public static final PdfName SINGLEPAGE = new PdfName("SinglePage"); 1372 /** A name */ 1373 public static final PdfName SIZE = new PdfName("Size"); 1374 /** A name */ 1375 public static final PdfName SMASK = new PdfName("SMask"); 1376 /** A name */ 1377 public static final PdfName SORT = new PdfName("Sort"); 1378 /** 1379 * A name. 1380 * @since 2.1.6 1381 */ 1382 public static final PdfName SOUND = new PdfName("Sound"); 1383 /** A name */ 1384 public static final PdfName SPAN = new PdfName("Span"); 1385 /** 1386 * A name. 1387 * @since 2.1.6 1388 */ 1389 public static final PdfName SPEED = new PdfName("Speed"); 1390 /** A name */ 1391 public static final PdfName SPLIT = new PdfName("Split"); 1392 /** A name */ 1393 public static final PdfName SQUARE = new PdfName("Square"); 1394 /** 1395 * A name 1396 * @since 2.1.3 1397 */ 1398 public static final PdfName SQUIGGLY = new PdfName("Squiggly"); 1399 /** A name */ 1400 public static final PdfName ST = new PdfName("St"); 1401 /** A name */ 1402 public static final PdfName STAMP = new PdfName("Stamp"); 1403 /** A name */ 1404 public static final PdfName STANDARD = new PdfName("Standard"); 1405 /** A name */ 1406 public static final PdfName STATE = new PdfName("State"); 1407 /** A name */ 1408 public static final PdfName STDCF = new PdfName("StdCF"); 1409 /** A name */ 1410 public static final PdfName STEMV = new PdfName("StemV"); 1411 /** A name */ 1412 public static final PdfName STMF = new PdfName("StmF"); 1413 /** A name */ 1414 public static final PdfName STRF = new PdfName("StrF"); 1415 /** A name */ 1416 public static final PdfName STRIKEOUT = new PdfName("StrikeOut"); 1417 /** A name */ 1418 public static final PdfName STRUCTPARENT = new PdfName("StructParent"); 1419 /** A name */ 1420 public static final PdfName STRUCTPARENTS = new PdfName("StructParents"); 1421 /** A name */ 1422 public static final PdfName STRUCTTREEROOT = new PdfName("StructTreeRoot"); 1423 /** A name */ 1424 public static final PdfName STYLE = new PdfName("Style"); 1425 /** A name */ 1426 public static final PdfName SUBFILTER = new PdfName("SubFilter"); 1427 /** A name */ 1428 public static final PdfName SUBJECT = new PdfName("Subject"); 1429 /** A name */ 1430 public static final PdfName SUBMITFORM = new PdfName("SubmitForm"); 1431 /** A name */ 1432 public static final PdfName SUBTYPE = new PdfName("Subtype"); 1433 /** A name */ 1434 public static final PdfName SUPPLEMENT = new PdfName("Supplement"); 1435 /** A name */ 1436 public static final PdfName SV = new PdfName("SV"); 1437 /** A name */ 1438 public static final PdfName SW = new PdfName("SW"); 1439 /** A name of a base 14 type 1 font */ 1440 public static final PdfName SYMBOL = new PdfName("Symbol"); 1441 /** A name */ 1442 public static final PdfName T = new PdfName("T"); 1443 /** 1444 * A name 1445 * @since 2.1.6 1446 */ 1447 public static final PdfName TA = new PdfName("TA"); 1448 /** 1449 * A name 1450 * @since 2.1.6 1451 */ 1452 public static final PdfName TABLE = new PdfName("Table"); 1453 /** 1454 * A name 1455 * @since 2.1.5 1456 */ 1457 public static final PdfName TABS = new PdfName("Tabs"); 1458 /** 1459 * A name 1460 * @since 2.1.6 1461 */ 1462 public static final PdfName TBODY = new PdfName("TBody"); 1463 /** 1464 * A name 1465 * @since 2.1.6 1466 */ 1467 public static final PdfName TD = new PdfName("TD"); 1468 /** A name */ 1469 public static final PdfName TEXT = new PdfName("Text"); 1470 /** 1471 * A name 1472 * @since 2.1.6 1473 */ 1474 public static final PdfName TFOOT = new PdfName("TFoot"); 1475 /** 1476 * A name 1477 * @since 2.1.6 1478 */ 1479 public static final PdfName TH = new PdfName("TH"); 1480 /** 1481 * A name 1482 * @since 2.1.6 1483 */ 1484 public static final PdfName THEAD = new PdfName("THead"); 1485 /** A name */ 1486 public static final PdfName THUMB = new PdfName("Thumb"); 1487 /** A name */ 1488 public static final PdfName THREADS = new PdfName("Threads"); 1489 /** A name */ 1490 public static final PdfName TI = new PdfName("TI"); 1491 /** 1492 * A name 1493 * @since 2.1.6 1494 */ 1495 public static final PdfName TIME = new PdfName("Time"); 1496 /** A name */ 1497 public static final PdfName TILINGTYPE = new PdfName("TilingType"); 1498 /** A name of a base 14 type 1 font */ 1499 public static final PdfName TIMES_ROMAN = new PdfName("Times-Roman"); 1500 /** A name of a base 14 type 1 font */ 1501 public static final PdfName TIMES_BOLD = new PdfName("Times-Bold"); 1502 /** A name of a base 14 type 1 font */ 1503 public static final PdfName TIMES_ITALIC = new PdfName("Times-Italic"); 1504 /** A name of a base 14 type 1 font */ 1505 public static final PdfName TIMES_BOLDITALIC = new PdfName("Times-BoldItalic"); 1506 /** A name */ 1507 public static final PdfName TITLE = new PdfName("Title"); 1508 /** A name */ 1509 public static final PdfName TK = new PdfName("TK"); 1510 /** A name */ 1511 public static final PdfName TM = new PdfName("TM"); 1512 /** 1513 * A name 1514 * @since 2.1.6 1515 */ 1516 public static final PdfName TOC = new PdfName("TOC"); 1517 /** 1518 * A name 1519 * @since 2.1.6 1520 */ 1521 public static final PdfName TOCI = new PdfName("TOCI"); 1522 /** A name */ 1523 public static final PdfName TOGGLE = new PdfName("Toggle"); 1524 /** 1525 * A name. 1526 * @since 2.1.6 1527 */ 1528 public static final PdfName TOOLBAR = new PdfName("Toolbar"); 1529 /** A name */ 1530 public static final PdfName TOUNICODE = new PdfName("ToUnicode"); 1531 /** A name */ 1532 public static final PdfName TP = new PdfName("TP"); 1533 /** 1534 * A name 1535 * @since 2.1.6 1536 */ 1537 public static final PdfName TABLEROW = new PdfName( "TR" ); 1538 /** A name */ 1539 public static final PdfName TRANS = new PdfName("Trans"); 1540 /** A name */ 1541 public static final PdfName TRANSFORMPARAMS = new PdfName("TransformParams"); 1542 /** A name */ 1543 public static final PdfName TRANSFORMMETHOD = new PdfName("TransformMethod"); 1544 /** A name */ 1545 public static final PdfName TRANSPARENCY = new PdfName("Transparency"); 1546 /** 1547 * A name. 1548 * @since 2.1.6 1549 */ 1550 public static final PdfName TRANSPARENT = new PdfName("Transparent"); 1551 /** A name */ 1552 public static final PdfName TRAPPED = new PdfName("Trapped"); 1553 /** A name */ 1554 public static final PdfName TRIMBOX = new PdfName("TrimBox"); 1555 /** A name */ 1556 public static final PdfName TRUETYPE = new PdfName("TrueType"); 1557 /** A name */ 1558 public static final PdfName TU = new PdfName("TU"); 1559 /** A name */ 1560 public static final PdfName TWOCOLUMNLEFT = new PdfName("TwoColumnLeft"); 1561 /** A name */ 1562 public static final PdfName TWOCOLUMNRIGHT = new PdfName("TwoColumnRight"); 1563 /** A name */ 1564 public static final PdfName TWOPAGELEFT = new PdfName("TwoPageLeft"); 1565 /** A name */ 1566 public static final PdfName TWOPAGERIGHT = new PdfName("TwoPageRight"); 1567 /** A name */ 1568 public static final PdfName TX = new PdfName("Tx"); 1569 /** A name */ 1570 public static final PdfName TYPE = new PdfName("Type"); 1571 /** A name */ 1572 public static final PdfName TYPE0 = new PdfName("Type0"); 1573 /** A name */ 1574 public static final PdfName TYPE1 = new PdfName("Type1"); 1575 /** A name of an attribute. */ 1576 public static final PdfName TYPE3 = new PdfName("Type3"); 1577 /** A name of an attribute. */ 1578 public static final PdfName U = new PdfName("U"); 1579 /** A name of an attribute. */ 1580 public static final PdfName UF = new PdfName("UF"); 1581 /** A name of an attribute. */ 1582 public static final PdfName UHC = new PdfName("UHC"); 1583 /** A name of an attribute. */ 1584 public static final PdfName UNDERLINE = new PdfName("Underline"); 1585 /** A name */ 1586 public static final PdfName UR = new PdfName("UR"); 1587 /** A name */ 1588 public static final PdfName UR3 = new PdfName("UR3"); 1589 /** A name */ 1590 public static final PdfName URI = new PdfName("URI"); 1591 /** A name */ 1592 public static final PdfName URL = new PdfName("URL"); 1593 /** A name */ 1594 public static final PdfName USAGE = new PdfName("Usage"); 1595 /** A name */ 1596 public static final PdfName USEATTACHMENTS = new PdfName("UseAttachments"); 1597 /** A name */ 1598 public static final PdfName USENONE = new PdfName("UseNone"); 1599 /** A name */ 1600 public static final PdfName USEOC = new PdfName("UseOC"); 1601 /** A name */ 1602 public static final PdfName USEOUTLINES = new PdfName("UseOutlines"); 1603 /** A name */ 1604 public static final PdfName USER = new PdfName("User"); 1605 /** A name */ 1606 public static final PdfName USERPROPERTIES = new PdfName("UserProperties"); 1607 /** A name */ 1608 public static final PdfName USERUNIT = new PdfName("UserUnit"); 1609 /** A name */ 1610 public static final PdfName USETHUMBS = new PdfName("UseThumbs"); 1611 /** A name */ 1612 public static final PdfName V = new PdfName("V"); 1613 /** A name */ 1614 public static final PdfName V2 = new PdfName("V2"); 1615 /** 1616 * A name. 1617 * @since 2.1.6 1618 */ 1619 public static final PdfName VALIGN = new PdfName("VAlign"); 1620 /** A name */ 1621 public static final PdfName VERISIGN_PPKVS = new PdfName("VeriSign.PPKVS"); 1622 /** A name */ 1623 public static final PdfName VERSION = new PdfName("Version"); 1624 /** 1625 * A name. 1626 * @since 2.1.6 1627 */ 1628 public static final PdfName VIDEO = new PdfName("Video"); 1629 /** A name */ 1630 public static final PdfName VIEW = new PdfName("View"); 1631 /** 1632 * A name. 1633 * @since 2.1.6 1634 */ 1635 public static final PdfName VIEWS = new PdfName("Views"); 1636 /** A name */ 1637 public static final PdfName VIEWAREA = new PdfName("ViewArea"); 1638 /** A name */ 1639 public static final PdfName VIEWCLIP = new PdfName("ViewClip"); 1640 /** A name */ 1641 public static final PdfName VIEWERPREFERENCES = new PdfName("ViewerPreferences"); 1642 /** A name */ 1643 public static final PdfName VIEWSTATE = new PdfName("ViewState"); 1644 /** A name */ 1645 public static final PdfName VISIBLEPAGES = new PdfName("VisiblePages"); 1646 /** 1647 * A name. 1648 * @since 2.1.6 1649 */ 1650 public static final PdfName VOFFSET = new PdfName("VOffset"); 1651 /** A name of an attribute. */ 1652 public static final PdfName W = new PdfName("W"); 1653 /** A name of an attribute. */ 1654 public static final PdfName W2 = new PdfName("W2"); 1655 /** 1656 * A name 1657 * @since 2.1.6 1658 */ 1659 public static final PdfName WARICHU = new PdfName("Warichu"); 1660 /** A name of an attribute. */ 1661 public static final PdfName WC = new PdfName("WC"); 1662 /** A name of an attribute. */ 1663 public static final PdfName WIDGET = new PdfName("Widget"); 1664 /** A name of an attribute. */ 1665 public static final PdfName WIDTH = new PdfName("Width"); 1666 /** A name */ 1667 public static final PdfName WIDTHS = new PdfName("Widths"); 1668 /** A name of an encoding */ 1669 public static final PdfName WIN = new PdfName("Win"); 1670 /** A name of an encoding */ 1671 public static final PdfName WIN_ANSI_ENCODING = new PdfName("WinAnsiEncoding"); 1672 /** 1673 * A name. 1674 * @since 2.1.6 1675 */ 1676 public static final PdfName WINDOW = new PdfName("Window"); 1677 /** 1678 * A name. 1679 * @since 2.1.6 1680 */ 1681 public static final PdfName WINDOWED = new PdfName("Windowed"); 1682 /** A name of an encoding */ 1683 public static final PdfName WIPE = new PdfName("Wipe"); 1684 /** A name */ 1685 public static final PdfName WHITEPOINT = new PdfName("WhitePoint"); 1686 /** A name */ 1687 public static final PdfName WP = new PdfName("WP"); 1688 /** A name of an encoding */ 1689 public static final PdfName WS = new PdfName("WS"); 1690 /** A name */ 1691 public static final PdfName X = new PdfName("X"); 1692 /** 1693 * A name. 1694 * @since 2.1.6 1695 */ 1696 public static final PdfName XA = new PdfName("XA"); 1697 /** 1698 * A name. 1699 * @since 2.1.6 1700 */ 1701 public static final PdfName XD = new PdfName("XD"); 1702 /** A name */ 1703 public static final PdfName XFA = new PdfName("XFA"); 1704 /** A name */ 1705 public static final PdfName XML = new PdfName("XML"); 1706 /** A name */ 1707 public static final PdfName XOBJECT = new PdfName("XObject"); 1708 /** A name */ 1709 public static final PdfName XSTEP = new PdfName("XStep"); 1710 /** A name */ 1711 public static final PdfName XREF = new PdfName("XRef"); 1712 /** A name */ 1713 public static final PdfName XREFSTM = new PdfName("XRefStm"); 1714 /** A name */ 1715 public static final PdfName XYZ = new PdfName("XYZ"); 1716 /** A name */ 1717 public static final PdfName YSTEP = new PdfName("YStep"); 1718 /** A name */ 1719 public static final PdfName ZADB = new PdfName("ZaDb"); 1720 /** A name of a base 14 type 1 font */ 1721 public static final PdfName ZAPFDINGBATS = new PdfName("ZapfDingbats"); 1722 /** A name */ 1723 public static final PdfName ZOOM = new PdfName("Zoom"); 1724 1725 /** 1726 * map strings to all known static names 1727 * @since 2.1.6 1728 */ 1729 public static Map staticNames; 1730 1731 /** 1732 * Use reflection to cache all the static public final names so 1733 * future <code>PdfName</code> additions don't have to be "added twice". 1734 * A bit less efficient (around 50ms spent here on a 2.2ghz machine), 1735 * but Much Less error prone. 1736 * @since 2.1.6 1737 */ 1738 1739 static { 1740 Field fields[] = PdfName.class.getDeclaredFields(); 1741 staticNames = new HashMap( fields.length ); 1742 final int flags = Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL; 1743 try { 1744 for (int fldIdx = 0; fldIdx < fields.length; ++fldIdx) { 1745 Field curFld = fields[fldIdx]; 1746 if ((curFld.getModifiers() & flags) == flags && 1747 curFld.getType().equals( PdfName.class )) { 1748 PdfName name = (PdfName)curFld.get( null ); decodeName()1749 staticNames.put( decodeName( name.toString() ), name ); 1750 } 1751 } 1752 } catch (Exception e) { 1753 e.printStackTrace(); 1754 } 1755 } 1756 // CLASS VARIABLES 1757 1758 private int hash = 0; 1759 1760 // CONSTRUCTORS 1761 1762 /** 1763 * Constructs a new <CODE>PdfName</CODE>. The name length will be checked. 1764 * 1765 * @param name the new name 1766 */ PdfName(String name)1767 public PdfName(String name) { 1768 this(name, true); 1769 } 1770 1771 /** 1772 * Constructs a new <CODE>PdfName</CODE>. 1773 * @param name the new name 1774 * @param lengthCheck if <CODE>true</CODE> check the length validity, 1775 * if <CODE>false</CODE> the name can have any length 1776 */ PdfName(String name, boolean lengthCheck)1777 public PdfName(String name, boolean lengthCheck) { 1778 super(PdfObject.NAME); 1779 // The minimum number of characters in a name is 0, the maximum is 127 (the '/' not included) 1780 int length = name.length(); 1781 if (lengthCheck && length > 127) 1782 throw new IllegalArgumentException(MessageLocalization.getComposedMessage("the.name.1.is.too.long.2.characters", name, String.valueOf(length))); 1783 bytes = encodeName(name); 1784 } 1785 1786 /** 1787 * Constructs a PdfName. 1788 * 1789 * @param bytes the byte representation of the name 1790 */ PdfName(byte bytes[])1791 public PdfName(byte bytes[]) { 1792 super(PdfObject.NAME, bytes); 1793 } 1794 1795 // CLASS METHODS 1796 1797 /** 1798 * Compares this object with the specified object for order. 1799 * Returns a negative integer, zero, or a positive integer as this object 1800 * is less than, equal to, or greater than the specified object.<p> 1801 * 1802 * @param object the Object to be compared. 1803 * @return a negative integer, zero, or a positive integer as this object 1804 * is less than, equal to, or greater than the specified object. 1805 * @throws ClassCastException if the specified object's type prevents it 1806 * from being compared to this Object. 1807 */ compareTo(Object object)1808 public int compareTo(Object object) { 1809 PdfName name = (PdfName) object; 1810 byte myBytes[] = bytes; 1811 byte objBytes[] = name.bytes; 1812 int len = Math.min(myBytes.length, objBytes.length); 1813 for(int i = 0; i < len; i++) { 1814 if (myBytes[i] > objBytes[i]) 1815 return 1; 1816 if (myBytes[i] < objBytes[i]) 1817 return -1; 1818 } 1819 if (myBytes.length < objBytes.length) 1820 return -1; 1821 if (myBytes.length > objBytes.length) 1822 return 1; 1823 return 0; 1824 } 1825 1826 /** 1827 * Indicates whether some other object is "equal to" this one. 1828 * 1829 * @param obj the reference object with which to compare. 1830 * @return <code>true</code> if this object is the same as the obj 1831 * argument; <code>false</code> otherwise. 1832 */ equals(Object obj)1833 public boolean equals(Object obj) { 1834 if (this == obj) 1835 return true; 1836 if (obj instanceof PdfName) 1837 return compareTo(obj) == 0; 1838 return false; 1839 } 1840 1841 /** 1842 * Returns a hash code value for the object. 1843 * This method is supported for the benefit of hashtables such as those provided by 1844 * <code>java.util.Hashtable</code>. 1845 * 1846 * @return a hash code value for this object. 1847 */ hashCode()1848 public int hashCode() { 1849 int h = hash; 1850 if (h == 0) { 1851 int ptr = 0; 1852 int len = bytes.length; 1853 for (int i = 0; i < len; i++) 1854 h = 31*h + (bytes[ptr++] & 0xff); 1855 hash = h; 1856 } 1857 return h; 1858 } 1859 1860 /** 1861 * Encodes a plain name given in the unescaped form "AB CD" into "/AB#20CD". 1862 * 1863 * @param name the name to encode 1864 * @return the encoded name 1865 * @since 2.1.5 1866 */ encodeName(String name)1867 public static byte[] encodeName(String name) { 1868 int length = name.length(); 1869 ByteBuffer buf = new ByteBuffer(length + 20); 1870 buf.append('/'); 1871 char c; 1872 char chars[] = name.toCharArray(); 1873 for (int k = 0; k < length; k++) { 1874 c = (char)(chars[k] & 0xff); 1875 // Escape special characters 1876 switch (c) { 1877 case ' ': 1878 case '%': 1879 case '(': 1880 case ')': 1881 case '<': 1882 case '>': 1883 case '[': 1884 case ']': 1885 case '{': 1886 case '}': 1887 case '/': 1888 case '#': 1889 buf.append('#'); 1890 buf.append(Integer.toString(c, 16)); 1891 break; 1892 default: 1893 if (c >= 32 && c <= 126) 1894 buf.append(c); 1895 else { 1896 buf.append('#'); 1897 if (c < 16) 1898 buf.append('0'); 1899 buf.append(Integer.toString(c, 16)); 1900 } 1901 break; 1902 } 1903 } 1904 return buf.toByteArray(); 1905 } 1906 1907 /** 1908 * Decodes an escaped name given in the form "/AB#20CD" into "AB CD". 1909 * 1910 * @param name the name to decode 1911 * @return the decoded name 1912 */ decodeName(String name)1913 public static String decodeName(String name) { 1914 StringBuffer buf = new StringBuffer(); 1915 try { 1916 int len = name.length(); 1917 for (int k = 1; k < len; ++k) { 1918 char c = name.charAt(k); 1919 if (c == '#') { 1920 char c1 = name.charAt(k + 1); 1921 char c2 = name.charAt(k + 2); 1922 c = (char)((PRTokeniser.getHex(c1) << 4) + PRTokeniser.getHex(c2)); 1923 k += 2; 1924 } 1925 buf.append(c); 1926 } 1927 } 1928 catch (IndexOutOfBoundsException e) { 1929 // empty on purpose 1930 } 1931 return buf.toString(); 1932 } 1933 } 1934