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 long
getEndObjPos
(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 ASName
readName
(InputByteStream buf) Parses an atom from the PDF byte stream.static ASNumber
readNumber
(byte first, InputByteStream buf) Parses a numerical value from the PDF byte stream.static void
skipHex
(InputByteStream buf) Skips a hexidecimal character string.static void
skipLiteral
(InputByteStream inBuf) This API skips all the literals in the stream passed.static void
skipName
(InputByteStream buf) Skips an atom from the PDF byte stream.static void
skipNumber
(byte first, InputByteStream buf) Skips over a numerical value from the PDF byte stream.static byte
Skips 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:
IOException
PDFParseException
- 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:
IOException
PDFParseException
- 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:
PDFParseException
IOException
-
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:
IOException
PDFParseException
-
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:
IOException
PDFParseException
-
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:
IOException
PDFParseException
-
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:
IOException
PDFParseException
-
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
-