@PatrickVB
Thanks for your feedback. As a workaround to detect TIFF image, you can check manually first two bytes of unknown image or use Aspose.Imaging to detect image type of unknown image, until above logged issue is resolved. Other two image types( PNG and JPEG) can easily detected with Aspose.Words.
com.aspose.words.Document doc = new com.aspose.words.Document("D:/Downloads/Doc_with_tiff.docx");
int i = 0;
// Get collection of shapes
NodeCollection<Shape> shapes = doc.getChildNodes(NodeType.SHAPE, true);
// Loop through all shapes
for (Shape shape : shapes)
{
if (shape.hasImage())
{
if (shape.getImageData().getImageType() == 1)
{
System.out.println(imageType);
String imageFileName = ("Image.ExportImages_"+ i++ + ".PNG");
shape.getImageData().save(imageFileName);
}
else
{
String imageFileName = ("Image.ExportImages_"+ i++ +
FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(imageFileName);}
}
}
Aspose.Imaging code:
int imageType = (int)com.aspose.imaging.Image.getFileFormat(shape.getImageData().toStream());
String image = null;
switch (imageType) {
case 0: image = "Undefined";
break;
case 1: image = "Custom";
break;
case 2: image = "BMP";
break;
case 4: image = "GIF";
break;
case 8: image = "JPEG";
break;
case 16: image = "PNG";
break;
case 32: image = "TIFF";
break;
case 64: image = "PSD";
break;
case 128: image = "DXF";
break;
}
System.out.println(image);
Best Regards,