# JBIG2 Encoder

This is an encoder for JBIG2.

JBIG2 encodes bi-level (1 bpp) images using a number of clever tricks to get better compression than G4. This encoder can:

- Generate JBIG2 files, or fragments for embedding in PDFs
- Generic region encoding
- Perform symbol extraction, classification and text region coding
- Perform refinement coding and,
- Compress multipage documents

It uses the (Apache-ish licensed) Leptonica library. Version 1.74 or later is required.

## Known bugs

The refinement coding causes Acrobat to crash. It's not known if this is a bug in Acrobat, though it may well be.

## Usage

Note: Windows Command Prompt does not support wildcard expansion, so `*.jpg` will not work. You'll need to manually expand the file names yourself or you need to use the latest git code and MSVC build.

See the `jbig2enc.h` header for the high level API, or the `jbig2` program for an example of usage:

    jbig2 -s -a -p -v -T 100 -b imgs images/*.jpg && python jbig2topdf.py imgs >out.pdf

or with standalone mode:

    jbig2 -a -p -v images/feyn.tif > feyn.jb2 && python jbig2topdf.py -s feyn.jb2 > feyn.pdf

to encode jbig2 files for pdf creation. If you want to encode an image and then view output first to include in pdf

    jbig2 -s -S -p -v -O out.png images/*.jpg

If you want to encode an image as jbig2 (can be view in STDU Viewer on Windows) run:

    jbig2 -s images/feyn.tif >feyn.jb2

### Links

- jbig2enc-samples
- jbig2enc-minidjvu