1

With the help of iText 5 I would like to extract all TIFF images from given PDF file and save them as TIFF files. Examples and other posts (1, 2) use the following method:

  1. Create PdfImageObject from PDF stream which in line 189 decodes the image stream (if corresponding filter implementation is present).
  2. Call PdfImageObject#getImageAsBytes() which returns JPEG (original), PNG (re-encoded) or TIFF (in case of 8 bits per pixel).

As a result TIFF image with 1 bit color depth is converted to PNG, which is not what I need.

Another approach would be to call PdfImageObject#getBufferedImage() which will decode the image in step (2) into raster and afterwards encode it again as TIFF using ImageIO.write(bufferedImage, "tiff", file).

As one can see this is not efficient. Another solution shown in this post demonstrates how to save encoded TIFF image stream to file by prepending it a TIFF header – that is the solution I am looking for.

Can iText help here?

dma_k
  • 10,056
  • 15
  • 71
  • 124

1 Answers1

-1

PDF images are not TIFF images.

PDFs however can contain images that use compression techniques that are also used in TIFF, e.g. Flate, CCITT, LZW, JPEG.

JosephA
  • 1,131
  • 3
  • 13
  • 25
  • Thanks for the information, however your post does not provide the answer. You can add it as comment to the question. Indeed, TIFF may support part of compression methods, however it supports Deflate, LZW, CCITT and JPEG, see [wikipedia](https://en.wikipedia.org/wiki/TIFF#TIFF_Compression_Tag). – dma_k Jul 28 '19 at 22:42