我正在使用iTextSharp将扫描的文档呈现为PDF。文件类型不同;他们可能是jpegs,tiffs或gifs。我从Web服务中获取它们作为字节数组,并使用iTextSharp将它们转换为PDF。问题是,对于某些文件,我得到了“不支持平面图像”的例外。这是iTextSharp的限制还是还有其他事情我不知道了?还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
TIFF规范非常强大,并且有许多不同的方式来存储图像数据。 TIFF中的T
表示“已标记”,如果您look in the spec for tag 284 you'll find PlanarConfiguration:
1 = Chunky format 。存储每个像素的分量值 连续...例如,对于RGB数据,数据存储为 RGBRGBRGB
2 = 平面格式。组件分开存储 组件平面...例如,RGB数据与Red一起存储 一个组件平面中的组件,另一个组件平面中的绿色组件和蓝色组件 在另一个。
PlanarConfiguration = 2目前尚未广泛使用,因此不建议进行一般交换。它用作扩展,Baseline TIFF阅读器不需要支持它。
iTextSharp决定只支持默认的“粗略格式”。实际上你可以see that check and the exception in the source。
我不知道为什么他们选择不支持它(虽然我可以猜测这是一个缺乏样本和屁股的痛苦的组合)但这基本上是导致你的问题的原因。您可以尝试替代TIFF解析器,这些解析器可能能够将有问题的TIFF转换为支持的格式。