Вам нужно проверить поток / фильтр, чтобы увидеть, какой формат изображения использует данное изображение.Это может быть стандартный формат изображения:
- DCTDecode (jpeg)
- JPXDecode (jpeg 2000)
- JBIG2Decode (jbig - только черно-белый формат)
- CCITTFaxDecode (формат факса, PDF поддерживает группы 3 и 4)
Кроме этого, вам нужно получить необработанные байты (как вы есть) и построить изображение, используя изображениеширина потока, высота, количество битов на компонент, количество цветовых компонентов (может быть CMYK, индексированный, RGB или что-то странное) и некоторые другие, как определено в разделе 8.9 ISO PDF СПЕЦИФИКАЦИЯ (доступнобесплатно).
Так что в некоторых случаях ваш код будет работать, но в других он завершится с ошибкой, о которой вы упомянули.
PS: Если у вас есть исключение, ПОЖАЛУЙСТА, включитетрассировка стека каждый раз.Довольно, пожалуйста, с сахаром на вершине?