* @throws IOException on error
*/
public PdfObject readPRObject() throws IOException {
if (!nextValidToken())
return null;
TokenType type = tokeniser.getTokenType();
switch (type) {
case START_DIC: {
PdfDictionary dic = readDictionary();
return dic;
}
case START_ARRAY:
return readArray();
case STRING:
PdfString str = new PdfString(tokeniser.getStringValue(), null).setHexWriting(tokeniser.isHexString());
return str;
case NAME:
return new PdfName(tokeniser.getStringValue(), false);
case NUMBER:
return new PdfNumber(tokeniser.getStringValue());
case OTHER:
return new PdfLiteral(COMMAND_TYPE, tokeniser.getStringValue());
default:
return new PdfLiteral(-type.ordinal(), tokeniser.getStringValue());
}
}