/**
* Reads a pdf object.
* @return the pdf object
* @throws IOException on error
*/
public PdfObject ReadPRObject()
{
if (!NextValidToken())
{
return(null);
}
int type = tokeniser.TokenType;
switch (type)
{
case PRTokeniser.TK_START_DIC: {
PdfDictionary dic = ReadDictionary();
return(dic);
}
case PRTokeniser.TK_START_ARRAY:
return(ReadArray());
case PRTokeniser.TK_STRING:
PdfString str = new PdfString(tokeniser.StringValue, null).SetHexWriting(tokeniser.IsHexString());
return(str);
case PRTokeniser.TK_NAME:
return(new PdfName(tokeniser.StringValue, false));
case PRTokeniser.TK_NUMBER:
return(new PdfNumber(tokeniser.StringValue));
case PRTokeniser.TK_OTHER:
return(new PdfLiteral(COMMAND_TYPE, tokeniser.StringValue));
default:
return(new PdfLiteral(-type, tokeniser.StringValue));
}
}