📄 cosname.java
字号:
*/
public static final COSName KIDS = new COSName( "Kids" );
/**
* A common COSName value.
*/
public static final COSName LAB = new COSName( "Lab" );
/**
* A common COSName value.
*/
public static final COSName LAST_CHAR = new COSName( "LastChar" );
/**
* A common COSName value.
*/
public static final COSName LENGTH = new COSName( "Length" );
/**
* A common COSName value.
*/
public static final COSName LENGTH1 = new COSName( "Length1" );
/**
* A common COSName value.
*/
public static final COSName LZW_DECODE = new COSName( "LZWDecode" );
/**
* A common COSName value.
*/
public static final COSName LZW_DECODE_ABBREVIATION = new COSName( "LZW" );
/**
* A common COSName value.
*/
public static final COSName MAC_ROMAN_ENCODING = new COSName( "MacRomanEncoding" );
/**
* A common COSName value.
*/
public static final COSName MATRIX = new COSName( "Matrix" );
/**
* A common COSName value.
*/
public static final COSName MEDIA_BOX = new COSName( "MediaBox" );
/**
* A common COSName value.
*/
public static final COSName METADATA = new COSName( "Metadata" );
/**
* A common COSName value.
*/
public static final COSName N = new COSName( "N" );
/**
* A common COSName value.
*/
public static final COSName NAME = new COSName( "Name" );
/**
* A common COSName value.
*/
public static final COSName P = new COSName( "P" );
/**
* A common COSName value.
*/
public static final COSName PAGE = new COSName( "Page" );
/**
* A common COSName value.
*/
public static final COSName PAGES = new COSName( "Pages" );
/**
* A common COSName value.
*/
public static final COSName PARENT = new COSName( "Parent" );
/**
* A common COSName value.
*/
public static final COSName PATTERN = new COSName( "Pattern" );
/**
* A common COSName value.
*/
public static final COSName PDF_DOC_ENCODING = new COSName( "PDFDocEncoding" );
/**
* A common COSName value.
*/
public static final COSName PREV = new COSName( "Prev" );
/**
* A common COSName value.
*/
public static final COSName R = new COSName( "R" );
/**
* A common COSName value.
*/
public static final COSName RESOURCES = new COSName( "Resources" );
/**
* A common COSName value.
*/
public static final COSName ROOT = new COSName( "Root" );
/**
* A common COSName value.
*/
public static final COSName ROTATE = new COSName( "Rotate" );
/**
* A common COSName value.
*/
public static final COSName RUN_LENGTH_DECODE = new COSName( "RunLengthDecode" );
/**
* A common COSName value.
*/
public static final COSName RUN_LENGTH_DECODE_ABBREVIATION = new COSName( "RL" );
/**
* A common COSName value.
*/
public static final COSName SEPARATION = new COSName( "Separation" );
/**
* A common COSName value.
*/
public static final COSName STANDARD_ENCODING = new COSName( "StandardEncoding" );
/**
* A common COSName value.
*/
public static final COSName SUBTYPE = new COSName( "Subtype" );
/**
* A common COSName value.
*/
public static final COSName TRIM_BOX = new COSName("TrimBox" );
/**
* A common COSName value.
*/
public static final COSName TRUE_TYPE = new COSName("TrueType" );
/**
* A common COSName value.
*/
public static final COSName TO_UNICODE = new COSName( "ToUnicode" );
/**
* A common COSName value.
*/
public static final COSName TYPE = new COSName( "Type" );
/**
* A common COSName value.
*/
public static final COSName TYPE0 = new COSName( "Type0" );
/**
* A common COSName value.
*/
public static final COSName V = new COSName( "V" );
/**
* A common COSName value.
*/
public static final COSName VERSION = new COSName( "Version" );
/**
* A common COSName value.
*/
public static final COSName WIDTHS = new COSName( "Widths" );
/**
* A common COSName value.
*/
public static final COSName WIN_ANSI_ENCODING = new COSName( "WinAnsiEncoding" );
/**
* A common COSName value.
*/
public static final COSName XOBJECT = new COSName( "XObject" );
/**
* The prefix to a PDF name.
*/
public static final byte[] NAME_PREFIX = new byte[] { 47 }; // The / character
/**
* The escape character for a name.
*/
public static final byte[] NAME_ESCAPE = new byte[] { 35 }; //The # character
private String name;
private int hashCode;
/**
* This will get a COSName object with that name.
*
* @param aName The name of the object.
*
* @return A COSName with the specified name.
*/
public static final COSName getPDFName( String aName )
{
COSName name = null;
if( aName != null )
{
name = (COSName)nameMap.get( aName );
if( name == null )
{
//name is added to map in the constructor
name = new COSName( aName );
}
}
return name;
}
/**
* Private constructor. This will limit the number of COSName objects.
* that are created.
*
* @param aName The name of the COSName object.
*/
private COSName( String aName )
{
name = aName;
nameMap.put( aName, this );
hashCode = name.hashCode();
}
/**
* This will get the name of this COSName object.
*
* @return The name of the object.
*/
public String getName()
{
return name;
}
/**
* {@inheritDoc}
*/
public String toString()
{
return "COSName{" + name + "}";
}
/**
* {@inheritDoc}
*/
public boolean equals( Object o )
{
boolean retval = this == o;
if( !retval && o instanceof COSName )
{
COSName other = (COSName)o;
retval = name == other.name || name.equals( other.name );
}
return retval;
}
/**
* {@inheritDoc}
*/
public int hashCode()
{
return hashCode;
}
/**
* {@inheritDoc}
*/
public int compareTo(Object o)
{
COSName other = (COSName)o;
return this.name.compareTo( other.name );
}
/**
* visitor pattern double dispatch method.
*
* @param visitor The object to notify when visiting this object.
* @return any object, depending on the visitor implementation, or null
* @throws COSVisitorException If an error occurs while visiting this object.
*/
public Object accept(ICOSVisitor visitor) throws COSVisitorException
{
return visitor.visitFromName(this);
}
/**
* This will output this string as a PDF object.
*
* @param output The stream to write to.
* @throws IOException If there is an error writing to the stream.
*/
public void writePDF( OutputStream output ) throws IOException
{
output.write(NAME_PREFIX);
byte[] bytes = getName().getBytes();
for (int i = 0; i < bytes.length;i++)
{
int current = ((bytes[i]+256)%256);
if(current <= 32 || current >= 127 ||
current == '(' ||
current == ')' ||
current == '[' ||
current == ']' ||
current == '/' ||
current == '%' ||
current == '<' ||
current == '>' ||
current == NAME_ESCAPE[0] )
{
output.write(NAME_ESCAPE);
output.write(COSHEXTable.TABLE[current]);
}
else
{
output.write(current);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -