com.itextpdf.text.pdf.codec
Class JBIG2SegmentReader

java.lang.Object
  extended by com.itextpdf.text.pdf.codec.JBIG2SegmentReader

public class JBIG2SegmentReader
extends 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
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
static int END_OF_FILE
           
static int END_OF_PAGE
           
static int END_OF_STRIPE
           
static int EXTENSION
           
private  SortedSet<JBIG2SegmentReader.JBIG2Segment> globals
           
static int IMMEDIATE_GENERIC_REFINEMENT_REGION
           
static int IMMEDIATE_GENERIC_REGION
           
static int IMMEDIATE_HALFTONE_REGION
           
static int IMMEDIATE_LOSSLESS_GENERIC_REFINEMENT_REGION
           
static int IMMEDIATE_LOSSLESS_GENERIC_REGION
           
static int IMMEDIATE_LOSSLESS_HALFTONE_REGION
           
static int IMMEDIATE_LOSSLESS_TEXT_REGION
           
static int IMMEDIATE_TEXT_REGION
           
static int INTERMEDIATE_GENERIC_REFINEMENT_REGION
           
static int INTERMEDIATE_GENERIC_REGION
           
static int INTERMEDIATE_HALFTONE_REGION
           
static int INTERMEDIATE_TEXT_REGION
           
private  int number_of_pages
           
private  boolean number_of_pages_known
           
static int PAGE_INFORMATION
           
private  SortedMap<Integer,JBIG2SegmentReader.JBIG2Page> pages
           
static int PATTERN_DICTIONARY
           
static int PROFILES
           
private  RandomAccessFileOrArray ra
           
private  boolean read
           
private  SortedMap<Integer,JBIG2SegmentReader.JBIG2Segment> segments
           
private  boolean sequential
           
static int SYMBOL_DICTIONARY
           
static int TABLES
           
 
Constructor Summary
JBIG2SegmentReader(RandomAccessFileOrArray ra)
           
 
Method Summary
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)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 SortedMap<Integer,JBIG2SegmentReader.JBIG2Segment> segments

pages

private final SortedMap<Integer,JBIG2SegmentReader.JBIG2Page> pages

globals

private final 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 IOException
Throws:
IOException
Method Detail

copyByteArray

public static byte[] copyByteArray(byte[] b)

read

public void read()
          throws IOException
Throws:
IOException

readSegment

void readSegment(JBIG2SegmentReader.JBIG2Segment s)
           throws IOException
Throws:
IOException

readHeader

JBIG2SegmentReader.JBIG2Segment readHeader()
                                     throws IOException
Throws:
IOException

readFileHeader

void readFileHeader()
              throws IOException
Throws:
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 String toString()
Overrides:
toString in class Object

Hosted by Hostbasket