The LEADTOOLS C++ Class Library provides support for PDF compression with MRC segmentation. The MRC segmentation can be used to break down a page/image into smaller segments, saving each segment using compression appropriate for that segment. Thus, one page of a PDF file may have an image JPEG compressed, some text JBIG2 compressed, and another area CCITT compressed. This whole process works to provide a PDF file with better compression and better quality than just a standard Raster PDF file.
The Standard PDF format uses three different segment types: 1-bit Text, 2-bit Text and picture. The 1-bit text segments can be compressed using ZIP, LZW, Fax G3 1D, Fax G3 2D, Fax G4 or JBIG2 compression. The 2 bit grayscale segments can be compressed using ZIP or LZW compression and picture segments can be compressed using ZIP, LZW, or JPEG compression. Some of these compression schemes use a quality factor that allows the amount of compression to be controlled.
Following segmentation, the PDF file can be saved, as either a single or multi-page file, using the LSegment::MrcSaveBitmap, or LSegment::MrcSaveBitmapList functions. The default extension when saving PDF files is *.PDF.