Package com.itextpdf.text.pdf.ocg
Class OCGParser
- java.lang.Object
-
- com.itextpdf.text.pdf.ocg.OCGParser
-
public class OCGParser extends Object
A helper class for OCGRemover.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
OCGParser.PdfOperator
PDF Operator interface.
-
Field Summary
Fields Modifier and Type Field Description protected ByteArrayOutputStream
baos
The OutputStream of this worker object.static String
DEFAULTOPERATOR
Constant used for the default operator.protected int
mc_balance
Keeps track of BMC/EMC balance.protected Set<String>
ocgs
The OCGs that need to be removed.protected static Map<String,OCGParser.PdfOperator>
operators
A map with all supported operators operators (PDF syntax).protected PdfDictionary
properties
The OCG properties.protected Set<PdfName>
xobj
The names of XObjects that shouldn't be shown.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkMarkedContentEnd()
Keeps track of the MarkedContent state.protected void
checkMarkedContentStart(PdfName ocref)
Keeps track of the MarkedContent state.protected boolean
isToRemoved()
Checks if the parser is currently parsing content that needs to be ignored.protected boolean
isVisible(List<PdfObject> operands)
Checks operands to find out if the corresponding operator needs to be present or not.void
parse(PRStream stream, PdfDictionary resources)
Parses a stream object and removes OCGs.protected static void
populateOperators()
Populates the operators variable.protected void
println(PdfObject o)
Writes a PDF object to the OutputStream, followed by a newline character.protected void
printsp(PdfObject o)
Writes a PDF object to the OutputStream, followed by a space character.protected void
process(PdfLiteral operator, List<PdfObject> operands, boolean removable)
Processes an operatorprotected static void
processOperator(OCGParser parser, PdfLiteral operator, List<PdfObject> operands)
Processes an operator.
-
-
-
Field Detail
-
DEFAULTOPERATOR
public static final String DEFAULTOPERATOR
Constant used for the default operator.- See Also:
- Constant Field Values
-
operators
protected static final Map<String,OCGParser.PdfOperator> operators
A map with all supported operators operators (PDF syntax).
-
baos
protected ByteArrayOutputStream baos
The OutputStream of this worker object.
-
mc_balance
protected int mc_balance
Keeps track of BMC/EMC balance.
-
properties
protected PdfDictionary properties
The OCG properties.
-
-
Method Detail
-
parse
public void parse(PRStream stream, PdfDictionary resources) throws IOException
Parses a stream object and removes OCGs.- Parameters:
stream
- a stream objectresources
- the resources dictionary of that object (containing info about the OCGs)- Throws:
IOException
-
processOperator
protected static void processOperator(OCGParser parser, PdfLiteral operator, List<PdfObject> operands) throws Exception
Processes an operator.- Parameters:
parser
- the parser that needs to process the operatoroperator
- the operatoroperands
- its operands- Throws:
Exception
-
populateOperators
protected static void populateOperators()
Populates the operators variable.
-
isVisible
protected boolean isVisible(List<PdfObject> operands)
Checks operands to find out if the corresponding operator needs to be present or not.- Parameters:
operands
- a list of operands- Returns:
- true if the operators needs to be present.
-
isToRemoved
protected boolean isToRemoved()
Checks if the parser is currently parsing content that needs to be ignored.- Returns:
- true if the content needs to be ignored
-
checkMarkedContentStart
protected void checkMarkedContentStart(PdfName ocref)
Keeps track of the MarkedContent state.- Parameters:
ocref
- a reference to an OCG dictionary
-
checkMarkedContentEnd
protected void checkMarkedContentEnd()
Keeps track of the MarkedContent state.
-
process
protected void process(PdfLiteral operator, List<PdfObject> operands, boolean removable) throws IOException
Processes an operator- Parameters:
operator
- the operatoroperands
- its operandsremovable
- is the operator eligable for removal?- Throws:
IOException
-
printsp
protected void printsp(PdfObject o) throws IOException
Writes a PDF object to the OutputStream, followed by a space character.- Parameters:
o
-- Throws:
IOException
-
println
protected void println(PdfObject o) throws IOException
Writes a PDF object to the OutputStream, followed by a newline character.- Parameters:
o
-- Throws:
IOException
-
-