@iText_Q

Какие типы изображений поддерживает iText?

Я хочу добавить PNG-изображение в PDF-файл, но я знаю, что PDF не поддерживает PNG-файлы.
Значит ли это, что я не могу использовать PNG-файлы в iText?
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
@iText_Q Автор вопроса, куратор тега iText
. iText поддерживает изображения форматов JPEG, JPEG2000, GIF, PNG, BMP, WMF, TIFF, CCITT и JBIG2. Это не значит, что эти типы изображений также поддерживаются в PDF. Если определенный тип изображения (например, PNG) не поддерживается в PDF, iText конвертирует его в тот тип изображения, который определен в спецификации PDF.

•Изображения формата JPEG хранятся в iText в исходном виде. Можно взять потоковое содержимое Image XObject формата JPEG, скопировать его в файл, и у вас получится правильное изображение в формате JPEG. Следующий фильтр позволяет распознать эти изображения: /DCTDecode.

•Формат JPEG2000 поддерживается с версии PDF 1.5. Название фильтра — JPXDecode.

•PDF поддерживает изображения со сжатием LZW (оно используется для GIF-изображений), но iText декодирует GIF-изображения в изображения RAW. Если создать Image с помощью iText и указать путь к GIF-файлу, то в PDF-файле получится изображение с фильтром /FlateDecode.

•Изображения в формате PNG не поддерживаются в PDF-файлах, поэтому iText декодирует PNG-изображения в RW. Если пространство цветов изображения DeviceGray и имеет 1 бит на компонент, то будут использованы метод сжатия CCITT и фильтр /CCITTFaxDecode. В обратном случае будет использован фильтр /FlateDecode.

•BMP-файлы хранятся в группе сжатых пикселей с использованием фильтра /FlateDecode.

•С форматом WMF ситуация особая. Если вставить WMF-файл в PDF-документ с помощью iText, то iText конвертирует изображение в синтаксис PDF. iText создаст объект Form XObject вместо добавления Image XObject.

•Когда данные изображения кодируются с использованием факсимильного стандарта CCITT, используется фильтр /CCITTFaxDecode. Это обычно монохромные изображения с одним битом на пиксель.

•Помимо этого, в iText могут обрабатываться TIFF-файлы. В зависимости от параметров TIFF-файлов iText решает использовать /CCITTFaxDecode, /FlateDecode или даже /DCTDecode в качестве фильтра.

•Для JBIG2 используется фильтр /JBIG2Decode.

Обычно с форматом изображений сложности не возникают. Класс Image сам выбирает правильный метод сжатия.

Дополнительная информация. PDF-файлы поддерживают прозрачность, однако стоит помнить, что прозрачные изображения не поддерживаются в PDF. Одно изображение, содержащее прозрачные области, может быть конвертировано в два разных изображения.
1. Непрозрачное изображение.
2. Маска изображения.
Все это происходит в самом PDF-файле. Если добавить прозрачное изображение в PDF-файл, то его нельзя будет оттуда экспортировать. Придется выгружать два изображения: непрозрачную версию и маску.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы