平面图像不支持ItextSharp异常



我正在使用itextSharp将扫描文档作为pdfs渲染。文档的类型各不相同;他们可能是JPEG,TIFFS或GIF。我从Web服务作为字节阵列中获取它们,并使用ItextSharp将它们转换为PDF。问题是,有了一些文件,我得到了"不支持平面图像"的例外。这是ItextSharp的限制,还是我缺少的其他事情?还有其他人来探讨这个问题吗?

TIFF规范非常强大,并且具有许多不同的方法来存储图像数据。TIFF中的T表示"标记",如果您查看标签的规格284,您会发现PlanarConfiguration:

1 = 矮小的格式。每个像素的组件值存储 连续...例如,对于RGB数据,数据存储为 rgbrgbrgb

2 = 平面格式。组件存储在单独的 组件平面...例如,RGB数据与红色一起存储 一个组件平面中的组件,另一个组件中的绿色和蓝色 在另一个。

planarconfiguration = 2当前不广泛使用,也不建议通用交换。它被用作扩展名和基线TIFF读取器来支持它。

itextSharp决定仅支持默认的"矮小格式"。您实际上可以在源中看到该检查和异常。

我不知道为什么他们选择不支持它(尽管我可以猜想这是缺乏样本和屁股痛苦的结合),但这基本上是导致您的问题的原因。您可以尝试可能能够将这些有问题的TIFF转换为支持格式的替代TIFF解析器。

最新更新