Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (3)
  • Какие типы изображений поддерживает iText?

    @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-файл, то его нельзя будет оттуда экспортировать. Придется выгружать два изображения: непрозрачную версию и маску.
    Ответ написан
    Комментировать