Package com.itextpdf.text.pdf.codec
Class JBIG2SegmentReader
- java.lang.Object
-
- com.itextpdf.text.pdf.codec.JBIG2SegmentReader
-
public class JBIG2SegmentReader extends java.lang.Object
Class to read a JBIG2 file at a basic level: understand all the segments, understand what segments belong to which pages, how many pages there are, what the width and height of each page is, and global segments if there are any. Or: the minimum required to be able to take a normal sequential or random-access organized file, and be able to embed JBIG2 pages as images in a PDF. TODO: the indeterminate-segment-size value of dataLength, else?- Since:
- 2.1.5
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JBIG2SegmentReader.JBIG2Page
Inner class that holds information about a JBIG2 page.static class
JBIG2SegmentReader.JBIG2Segment
Inner class that holds information about a JBIG2 segment.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description JBIG2SegmentReader(RandomAccessFileOrArray ra)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static byte[]
copyByteArray(byte[] b)
byte[]
getGlobal(boolean for_embedding)
JBIG2SegmentReader.JBIG2Page
getPage(int page)
int
getPageHeight(int i)
int
getPageWidth(int i)
int
numberOfPages()
void
read()
(package private) void
readFileHeader()
(package private) JBIG2SegmentReader.JBIG2Segment
readHeader()
(package private) void
readSegment(JBIG2SegmentReader.JBIG2Segment s)
java.lang.String
toString()
-
-
-
Field Detail
-
SYMBOL_DICTIONARY
public static final int SYMBOL_DICTIONARY
- See Also:
- Constant Field Values
-
INTERMEDIATE_TEXT_REGION
public static final int INTERMEDIATE_TEXT_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_TEXT_REGION
public static final int IMMEDIATE_TEXT_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_LOSSLESS_TEXT_REGION
public static final int IMMEDIATE_LOSSLESS_TEXT_REGION
- See Also:
- Constant Field Values
-
PATTERN_DICTIONARY
public static final int PATTERN_DICTIONARY
- See Also:
- Constant Field Values
-
INTERMEDIATE_HALFTONE_REGION
public static final int INTERMEDIATE_HALFTONE_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_HALFTONE_REGION
public static final int IMMEDIATE_HALFTONE_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_LOSSLESS_HALFTONE_REGION
public static final int IMMEDIATE_LOSSLESS_HALFTONE_REGION
- See Also:
- Constant Field Values
-
INTERMEDIATE_GENERIC_REGION
public static final int INTERMEDIATE_GENERIC_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_GENERIC_REGION
public static final int IMMEDIATE_GENERIC_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_LOSSLESS_GENERIC_REGION
public static final int IMMEDIATE_LOSSLESS_GENERIC_REGION
- See Also:
- Constant Field Values
-
INTERMEDIATE_GENERIC_REFINEMENT_REGION
public static final int INTERMEDIATE_GENERIC_REFINEMENT_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_GENERIC_REFINEMENT_REGION
public static final int IMMEDIATE_GENERIC_REFINEMENT_REGION
- See Also:
- Constant Field Values
-
IMMEDIATE_LOSSLESS_GENERIC_REFINEMENT_REGION
public static final int IMMEDIATE_LOSSLESS_GENERIC_REFINEMENT_REGION
- See Also:
- Constant Field Values
-
PAGE_INFORMATION
public static final int PAGE_INFORMATION
- See Also:
- Constant Field Values
-
END_OF_PAGE
public static final int END_OF_PAGE
- See Also:
- Constant Field Values
-
END_OF_STRIPE
public static final int END_OF_STRIPE
- See Also:
- Constant Field Values
-
END_OF_FILE
public static final int END_OF_FILE
- See Also:
- Constant Field Values
-
PROFILES
public static final int PROFILES
- See Also:
- Constant Field Values
-
TABLES
public static final int TABLES
- See Also:
- Constant Field Values
-
EXTENSION
public static final int EXTENSION
- See Also:
- Constant Field Values
-
segments
private final java.util.SortedMap<java.lang.Integer,JBIG2SegmentReader.JBIG2Segment> segments
-
pages
private final java.util.SortedMap<java.lang.Integer,JBIG2SegmentReader.JBIG2Page> pages
-
globals
private final java.util.SortedSet<JBIG2SegmentReader.JBIG2Segment> globals
-
ra
private RandomAccessFileOrArray ra
-
sequential
private boolean sequential
-
number_of_pages_known
private boolean number_of_pages_known
-
number_of_pages
private int number_of_pages
-
read
private boolean read
-
-
Constructor Detail
-
JBIG2SegmentReader
public JBIG2SegmentReader(RandomAccessFileOrArray ra) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
copyByteArray
public static byte[] copyByteArray(byte[] b)
-
read
public void read() throws java.io.IOException
- Throws:
java.io.IOException
-
readSegment
void readSegment(JBIG2SegmentReader.JBIG2Segment s) throws java.io.IOException
- Throws:
java.io.IOException
-
readHeader
JBIG2SegmentReader.JBIG2Segment readHeader() throws java.io.IOException
- Throws:
java.io.IOException
-
readFileHeader
void readFileHeader() throws java.io.IOException
- Throws:
java.io.IOException
-
numberOfPages
public int numberOfPages()
-
getPageHeight
public int getPageHeight(int i)
-
getPageWidth
public int getPageWidth(int i)
-
getPage
public JBIG2SegmentReader.JBIG2Page getPage(int page)
-
getGlobal
public byte[] getGlobal(boolean for_embedding)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-