logo
small logo
  • Продукты
  • Купить
  • Поддержка
  • Статьи
  • Клиентская панель Поддержка
  • Главная
  • /
  • Статьи
  • /
  • Сборка библиотеки libgdiplus из исходного кода
  • Подключение к Elasticsearch

    10 ноября 2021 г.

    Теперь в продуктах FastReport .NET, Core, Mono, OpenSource появилась возможность подключения к Elasticsearch. Elasticsearch –

    Подробнее
  • Отчёт из PostgreSQL в приложении .NET 5 под управлением Astra Linux

    4 декабря 2020 г.

    Сегодня мы поговорим о российской операционной системе Astra Linux. Эта система получила в последнее время

    Подробнее
  • Делаем PDF документы на Raspberry PI с .NET Core

    26 мая 2020 г.

    Raspberry PI - миниатюрный одноплатный компьютер, работающий на процессоре ARM. Этот микрокомпьютер часто используется в

    Подробнее
  • Как использовать FastReport Core в Linux

    14 сентября 2017 г.

    В предыдущей статье мы рассмотрели простейший пример использования нового продукта от FastReport – FastReport Core.

    Подробнее
  • Создание отчетов с PostgreSQL в приложении .NET 5 под Debian 10

    25 мая 2022 г.

    Многие нуждаются в решении, которое будет генерировать отчеты под Linux системами, а также будет поддерживать

    Подробнее

Сборка библиотеки libgdiplus из исходного кода

2 октября 2020 г.

При использовании библиотек FastReport .NET (Core), FastReport Open Source и FastReport Mono под управлением операционной системы Linux возможно некорректное отображение юникодных текстов в предварительном просмотре отчёта, а также при сохранении документов в файлы изображений или файлы PDF.

Одна из распространённых проблема – это ошибка переноса слов в предложении и, как следствие, неверный интервал между словами. Например, при использовании тайского языка в операционной системе Windows мы видим такой текст:

Пример

При запуске этого же отчёта в операционной системе Linux Ubuntu наблюдается неверное форматирование строки:

Пример

Также возможны проблемы с переносом слов. Другой пример с тайским языком в операционной системе Windows:

Пример

Тот же текст в операционной системе Linux Ubuntu выглядит некорректно:

Пример

Подобные ошибки отображения текста могут наблюдаться и в других языках.

Также возможно появление следующей ошибки при работе приложения:

1
System.OutOfMemoryException: Not enough memory to complete operation [GDI+ status: OutOfMemory]

К счастью, есть решение описанной проблемы – самостоятельная сборка библиотеки libgdiplus из исходников с ключом with-pango.

Прежде чем приступить к сборке, настоятельно рекомендуется сделать резервную копию файлов /usr/lib/libgdiplus*.*, так как в процессе они будут перезаписаны новыми. В таком случае вы сможете вернуть систему в исходное состояние, если желаемый результат не будет получен.

На первом этапе нам нужно установить требуемые зависимости с помощью команды:

$ sudo apt-get install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev libpango1.0-dev

Затем необходимо сделать клон нужной нам библиотеки libgdiplus из репозитория GitHub:

$ git clone https://github.com/mono/libgdiplus.git

После этого переходим в папку libgdiplus и выполняем команды сборки:

$ ./autogen.sh --with-pango --prefix=/usr
$ make

Если сборка прошла успешно и нет никаких ошибок, следом можно выполнить установку собранной библиотеки:

$ sudo make install

Файлы будут скопированы на место прежних в папку /usr/lib.

Теперь можно запустить программу с отчётами и убедиться в её корректной работе.

В качестве примера можно посмотреть на работу FastReport Mono под управлением Linux Ubuntu 18.04:

FastReport Mono
 
Все вышесказанное справедливо и для веб-приложений использующих фреймворки .NET Core и Mono.
 
Удачи вам и поменьше проблем с кроссплатформенными программами!
О продукте Скачать Купить
avatar
Alexander Tsyganenko
Технический директор
Fast Reports Team: Alexander Tsyganenko - CTO at Fast Reports
.NET Mono Linux Core Libgdiplus Unicode

Добавить комментарий
logo
  • +7(800)551-75-80
  • info@fastreport.ru
  • Ростов-на-Дону, Россия, 344082, ул.Обороны 24, офис 311
  • Купить
  • Загрузить
  • Документация
  • Отзывы
  • Как деинсталировать
  • Онлайн поддержка
  • FAQ
  • Видео уроки
  • Форум
  • Статьи
  • Наши Новости
  • Пресса о нас
  • Реселлеры
  • Нестандартное лицензирование
  • ВУЗам
  • Карьера
  • Контакты

© 1998-2022 ООО «Фаст Репортс»

  • Согласие с обработкой персональных данных
  • Не является публичной офертой