iText 7 и iText 5: перспективы, различия, обновления

В то время как iText 5 уже получил известность как один из самых широко применяемых и наиболее задокументированных SDK в мире для добавления мощных функций PDF в приложения, iText 7 поднимает ставки.

С момента появления iText 7 мы рекомендуем клиентам использовать iText 7 для новых проектов и рассмотреть возможность переноса существующих проектов с iText 5 на iText 7, чтобы воспользоваться многочисленными улучшениями в последней версии. Однако до 31 декабря 2017 года мы продолжаем предоставлять лицензии iText 5 для клиентов, которые пока не перешли на iText 7. Кроме того, мы продолжим поддержку и исправление ошибок для iText 5 до 2018 года.

Пока не знакомы с iText 7 или не знаете, чем он отличается от iText 5? Вашему вниманию предлагается обзор того, что представляет из себя iText 7 и в чем его возможности лучше/шире по сравнению с iText 5.


Причины, по которым стоит перейти на версию iText 7

Хотя мы всегда были довольны текущими возможностями iText, был ряд проектных решений, которые ограничивали наши возможности дальнейшего развития. За эти годы был внесен ряд изменений, которые использовали и трансформировали существующую платформу непреднамеренными или даже близкими к недопустимым способами. Существующий функционал сам по себе не становился от этого хуже, однако он существенно усложнил возможности дальнейшей расширяемости и, что важно, будущей защиты для PDF 2.0. Кроме того, некоторые API были полностью общедоступными, что затрудняло для нас переопределение функционала.

В результате всего этого мы решили переписать iText с нуля в декабре 2013 года, тем самым нарушая обратную совместимость. Создание с нуля позволило нам реализовать улучшения производительности, которые были невозможны с существующим кодом, сделать iText гораздо более расширяемым и настраиваемым из клиентского кода, а также избавиться от некоторых проблем, которые неизбежно накапливаются в проекте. Основные улучшения с точки зрения пользователя:

  • iText 7 является модульным, тогда как основная библиотека для iText 5 представляла собой один большой JAR/DLL. Для вашего варианта использования может понадобиться только несколько модулей, поэтому вы можете уменьшить общий размер вашего скомпилированного приложения. Настройки доступны для конкретного функционала, но не обременяют пользователей, которым они не нужны.
  • единообразие механизма визуализации PDF. В iText 5 использовалось несколько API визуализации, которые во многом совпадали в функциональном плане, но демонстрировали (иногда малозаметное) различие в поведении.
  • Платформа визуализации, которая позволяет включать собственный код макета в стандартную библиотеку, тем самым уменьшая необходимость в виде запросов функций, которые привели к созданию слишком большого количества возможностей для iText 5.

Вещи, которые остаются неизменными

При разработке кода мы, конечно же, опирались на собственный опыт с нашими более старыми версиями. Поскольку iText 5 уже многое делает правильно, мы взяли некоторые из его возможностей и характеристик.

  • Не претерпела изменений модель лицензирования: iText 7 все так же остается программным обеспечением FOSS под лицензией на ПО AGPL (то есть остается генератором pdf с открытым исходным кодом) с наличием коммерческих версий для пользователей, которые не желают придерживаться данной лицензии.
  • Синтаксический анализ PDF и извлечение текста были перенесены лишь с некоторыми изменениями, касающимися имен объектов.
  • Модуль подписей функционально аналогичен и практически не изменился по сравнению с iText 5.
  • Функционал PDF/A настолько же прост в использовании, как и в iText 5.
  • Модуль макетов с его HTML-подобными объектами, такими как Paragraph, List и т. д., очень близко соответствует высокоуровневому API iText 5. Некоторые классы были переименованы, но все они очень похожи, и переход должен быть простым для основных вариантов использования. Для более продвинутых вариантов использования необходимо изучить платформу визуализации.

Версии платформы

iText 7 основан на платформе Java SE 7. Поддержка более ранних версий была прекращена, и обычно они не используются для новых проектов. Хотя поддержка Java 7 также (совсем недавно) была прекращена, эта платформа очень широко применяется в сообществе Java. Еще одна причина, по которой мы не в состоянии обеспечить поддержку более ранних версий, является использование компонента enum java.lang.Character.UnicodeScript, который доступен только начиная с версии Java 7. Аналогичным образом iText 7 предусматривает использование платформы .NET Framework 4.0 в качестве отправной точки на будущее. Мы также планируем поддержку .NET Core и UWP в ближайшем будущем наряду с платформой .NET Framework.

Поддержка

В декабре 2017 года iText5 вступит в заключительную фазу. С этого момента поддержка iText5 будет прекращена (если она не была согласована заранее с нашими торговыми представительствами). Если вы перейдете на iText 7 сейчас, то сохраните доступ к нашей системе поддержки и исправлениям ошибок.

Почему стоит перейти на версию iText 7?

При переходе на iText 7 вы получаете:

  • улучшенную дальнейшую поддержку и исправления ошибок,
  • возможность соблюдения современных требований к документообороту,
  • более модульные, расширяемые возможности обработки документооборота,
  • дополнительные практичные надстройки,
  • увеличение производительности на 55 %,
  • шифрование, хеширование и цифровые подписи, а также
  • Юникод.

Бесплатная пробная версия iText

Перейдите на новую версию сейчас и направьте запрос на получение бесплатной 30-дневной пробной версии уже сегодня!


Простое создание и манипуляции с PDF для разработчиков Java и .Net.

Начните собственный проект PDF с помощью iText 7 бесплатно и без риска в течение следующих 30 дней!