Class ParseOps
java.lang.Object
com.adobe.internal.pdftoolkit.core.util.ParseOps
This class provides many utility methods related to parsing of stream.
-
Method Summary
Modifier and TypeMethodDescriptionstatic longgetEndObjPos(InputByteStream mBuf) Gets the position of endobj keyword in this stream.static byte[]readHex(InputByteStream buf) Parses a hexidecimal character string into a byte array.static byte[]readLiteral(InputByteStream inBuf) This API reads the literals and returns as byte array.static ASNamereadName(InputByteStream buf) Parses an atom from the PDF byte stream.static ASNumberreadNumber(byte first, InputByteStream buf) Parses a numerical value from the PDF byte stream.static voidskipHex(InputByteStream buf) Skips a hexidecimal character string.static voidskipLiteral(InputByteStream inBuf) This API skips all the literals in the stream passed.static voidskipName(InputByteStream buf) Skips an atom from the PDF byte stream.static voidskipNumber(byte first, InputByteStream buf) Skips over a numerical value from the PDF byte stream.static byteSkips over whitespace in the input stream.
-
Method Details
-
readHex
Parses a hexidecimal character string into a byte array. A pair of hex characters forms the value stored in a single byte of the array. Hexidecimal strings are defined in section 3.2.3 of the PDF Reference Manual version 1.4.- Parameters:
buf- Buffer to parse- Returns:
- Data corresponding to the hex string
- Throws:
IOExceptionPDFParseException- If there is a syntax error.
-
skipHex
Skips a hexidecimal character string. A pair of hex characters forms the value stored in a single byte of the array. Hexidecimal strings are defined in section 3.2.3 of the PDF Reference Manual version 1.4.- Parameters:
buf- Buffer to parse- Throws:
IOExceptionPDFParseException- If there is a syntax error.
-
skipLiteral
This API skips all the literals in the stream passed.- Throws:
IOException
-
readLiteral
This API reads the literals and returns as byte array.- Throws:
PDFParseExceptionIOException
-
readName
Parses an atom from the PDF byte stream. An atom can be thought of as a COS name as defined in section 3.2.4 of the PDF Reference Manual version 1.4.- Parameters:
buf- PDF data buffer to parse- Returns:
- ASName parsed from the buffer
- Throws:
IOExceptionPDFParseException
-
skipName
Skips an atom from the PDF byte stream. An atom can be thought of as a COS name as defined in section 3.2.4 of the PDF Reference Manual version 1.4.- Parameters:
buf- PDF data buffer to parse- Throws:
IOExceptionPDFParseException
-
readNumber
public static ASNumber readNumber(byte first, InputByteStream buf) throws PDFParseException, IOException Parses a numerical value from the PDF byte stream. A numeric object is defined in section 3.2.2 of the PDF Reference Manual version 1.4.- Parameters:
first- Starting byte to parsebuf- Byte stream to parse- Returns:
- Parsed number.
- Throws:
IOExceptionPDFParseException
-
skipNumber
public static void skipNumber(byte first, InputByteStream buf) throws PDFParseException, IOException Skips over a numerical value from the PDF byte stream. A numeric object is defined in section 3.2.2 of the PDF Reference Manual version 1.4.- Parameters:
first- Starting byte to parsebuf- Byte stream to parse- Throws:
IOExceptionPDFParseException
-
skipWhitespace
Skips over whitespace in the input stream. Whitespace is defined in section 3.1.1 of the PDF Reference Manual version 1.4. For the purposes of this method, comments are also considered whitespace.- Parameters:
buf- Buffer to parse- Returns:
- The first non-whitespace byte encountered.
- Throws:
IOException
-
getEndObjPos
Gets the position of endobj keyword in this stream. If EOL is encountered before finding "endobj" -1 will be returned.- Parameters:
mBuf-- Returns:
- long
- Throws:
IOException
-