Об изображениях
Если вы сохраните отчет в формате HTML, вы заметите, что логотип отображается правильно.
Файлы изображений, такие как PNG, являются растровыми изображениями: сохраняются в виде отдельных пикселей.
Принимая во внимание, что файлы PDF в основном векторизованы: элементы внутри хранятся как описания того, как их рисовать. Это позволяет PDF-файлам масштабироваться и быть разборчивым в любом размере.
Использование растрового изображения в векторном формате, вероятно, приведет к пикселизированному эффекту.
Возможные решения
У вас есть несколько вариантов, чтобы изображения соответствовали качеству текста в порядке простоты:
- Создание версии логотипа с разрешением 1200 т / д и масштабированием на 400%.
- Создание SVG-версии логотипа.
- Преобразование изображения в векторный формат.
- Масштабирование изображения 300% и изменение разрешения до 288 точек на дюйм.
1200 DPI версия
Изображение будет выглядеть четким до увеличения примерно 400%.
SVG версия
Изображение будет выглядеть четким при любом разрешении. Замените обычный <image...>
XML следующим кодом (обязательно отрегулируйте ширину и высоту соответственно):
<image hAlign="Center" vAlign="Middle">
<reportElement x="0" y="0" width="179" height="66"/>
<imageExpression class="net.sf.jasperreports.engine.JRRenderable"><![CDATA[net.sf.jasperreports.renderers.BatikRenderer.getInstance(new java.io.File("/path/to/logo.svg"))]]></imageExpression>
</image>
Конвертировать GIF в SVG
Чтобы преобразовать GIF в SVG, сначала попробуйте быстрый веб-инструмент, например: http://vectormagic.com
После преобразования в SVG для отображения логотипа вам потребуется использовать код, указанный выше.
Разрешение и Масштаб
См: