From f35da44322eaa282076571a9a68b06c5f174c3b9 Mon Sep 17 00:00:00 2001 From: John Whitington Date: Sat, 27 Jan 2024 16:20:47 +0000 Subject: [PATCH] Began documenting JBIG2 functionality --- cpdfmanual.pdf | Bin 403296 -> 403602 bytes cpdfmanual.tex | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cpdfmanual.pdf b/cpdfmanual.pdf index ed2b91e8d5e658d60200f40cce44e247a89f5758..568561639f59f29cec294dd748a79c9281e98c60 100644 GIT binary patch delta 10374 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ƻ=o5uY(Vt)RG>9)6I!G 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 TnUSc`AOhTIjEpjBvS|MY6CbQP delta 10061 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 diff --git a/cpdfmanual.tex b/cpdfmanual.tex index 5710e8c..47ab3b6 100644 --- a/cpdfmanual.tex +++ b/cpdfmanual.tex @@ -3625,7 +3625,11 @@ The \texttt{-dump-attachments} operation, when given a PDF file and a directory \section{Extracting images} -Cpdf can extract the raster images to a given location. JPEG and JPEG2000 images are extracted directly. Other images are written as PNGs, processed with either ImageMagick's ``magick'' command, or NetPBM's ``pnmtopng'' program, whichever is installed. JBIG2 image extraction is not yet supported. +Cpdf can extract the raster images to a given location. JPEG and JPEG2000 and lossless JBIG2 images are extracted directly. + +Lossy JBIG2 images are extracted likewise, but an extra \texttt{\_\_} is added, giving the number of the JBIG2Global stream for this image, which is extracted as \texttt{.jbig2global}. You may reconstruct the individual images with, for example, \texttt{jbig2dec}. + +Other images are written as PNGs, processed with either ImageMagick's ``magick'' command, or NetPBM's ``pnmtopng'' program, whichever is installed. \begin{framed} \noindent\small\verb@cpdf -extract-images in.pdf [] [-im ] [-p2p