Hi,
Given a fax image embedded in a pdf. I have used the code below to successfully extract an image.
My particular image uses CCITTFAX3 and not CCITTFAX4. Does anyone know what property I can read in the PDF or infer using LibTiff.NET to obtain the correct compression depending on how the image was encoded.
case "/CCITTFaxDecode":
byte[] data = PdfReader.GetStreamBytesRaw((PRStream)pdfStream);
int tiff = TIFFOpen("example.tif", "w");
TIFFSetField(tiff, (uint)BitMiracle.LibTiff.Classic.TiffTag.IMAGEWIDTH,(uint)Int32.Parse(width));
TIFFSetField(tiff, (uint)BitMiracle.LibTiff.Classic.TiffTag.IMAGEHEIGHT, (uint)Int32.Parse(height));
TIFFSetField(tiff, (uint)BitMiarcle.LibTiff.Classic.TiffTag.COMPRESSION, (uint)BitMiracle.Libtiff.Classic.Compression.CCITTFAX4);
TIFFSetField(tiff, (uint)BitMiracle.LibTiff.Classic.TiffTag.BITSPERSAMPLE, (uint)Int32.Parse(bpp));
TIFFSetField(tiff, (uint)BitMiarcle.Libtiff.Classic.TiffTag.SAMPLESPERPIXEL,1 );
IntPtr pointer = Marshal.AllocHGlobal(data.length);
Marshal.copy(data, 0, pointer, data.length);
TIFFWriteRawStrip(tiff, 0, pointer, data.length);
TIFFClose(tiff);
break;
The code above is originally from this question http://stackoverflow.com/questions/2641770/extracting-image-from-pdf-with-ccittfaxdecode-filter
Thanks