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

СРАВНЕНИЕ ФУНКЦИОНАЛА ITEXT 2 И ITEXT 5

Прошло 5 лет (и отсчет продолжается) с момента последнего и окончательного исправления iText 2. В iText 5 мы сосредоточили внимание на реализации стандартов, которые 5 лет назад не существовали (PDF 2.0 (*), PAdES, PDF/A-2 и PDF/A-3, PDF/UA), и на технологии на базе XML, а именно архитектуре форм XML (XFA).


Для получения полного обзора вы можете ознакомиться с примечаниями к выпуску и журналами изменений.


(*) Комитет ИСО, отвечающий за PDF, в настоящее время работает над ISO-32000-2, он же PDF 2.0. Спецификация на 2015 год еще не опубликована, но мы уже во многом реализовали новый функционал (напр., новые особенности цифровых подписей).

iText 2.x или iTextSharp 4.xiText 5.x

Java

.NET

Android

Google App Engine

Подготовлено для PDF 2.0

Цифровые подписи

PAdES

XFA

Тегированный PDF

PDF/A-1, PDF/A-2 и PDF/A-3

Поддержка больших файлов PDF

< 2 ГБ

< 1 ТБ

Специальные возможности: PDF/UA

XML Worker: Преобразование HTML, XML и CSS в PDF

XFA Worker: сглаживает формы XFA

Техническая поддержка разработчиков iText Core

Исправления ошибок и обновления

Обзор некоторых различий в функционале между iText 2 и 5

1. ЦИФРОВЫЕ ПОДПИСИ

Этот функционал был полностью переработан, так что iText можно использовать для создания подписей, которые являются юридически обязательными в Европе и США. Нами был реализован стандарт PAdES (включая долгосрочную проверку и подписи XFA).

Для этого функционала мы предлагаем альтернативу Adobe LiveCycle, независимое сравнение приведено в данной статье. В 2012 году наш учредитель опубликовал подробное техническое описание цифровых подписей для документов PDF, которое можно загрузить бесплатно.

2. XML WORKER

Универсальный инструмент для преобразования XML в PDF. В базовом варианте осуществляется преобразование XHTML+CSS в PDF. Он точнее старого HTMLWorker, но не предназначен для преобразования веб-сайтов в PDF. Это больше похоже на систему для создания простых шаблонов с использованием HTML и CSS (вместо сложного подхода XSL:FO). Они заполняют HTML данными и преобразуют этот HTML в PDF. XML Worker стал первым шагом на пути к разработке XFA Worker. См. «Видео, как использовать XML worker».

3. XFA WORKER

Это продукт с закрытым исходным кодом, созданный для тех, кому нужна альтернатива Adobe LiveCycle (для сглаживания форм XFA). Форма XFA – это динамический тип интерактивной формы, которая может изменяться в зависимости от взаимодействия пользователя или ввода данных. Сглаживание формы XFA превращает ее в неинтерактивный PDF, окончательная версия заполненной формы которого не поддается изменениям (напр., для архивирования).

Для сглаживания формы XFA продукт XFA Worker является альтернативой Adobe LiveCycle: см. подробности в этой теме.

4. ТЕГИРОВАННЫЙ PDF

PDF был первоначально разработан как конечный продукт для визуального представления. Это не текстовый формат, предназначенный для дальнейшего редактирования. Говоря упрощенно, PDF содержит набор инструкций по размещению содержимого (текста, изображений и т. д.) в абсолютных положениях на страницах. В нем отсутствовала концепция структуры документа или структурных элементов, таких как заголовки, абзацы, таблицы и списки. Это затрудняет извлечение, обработку и повторное использование содержимого PDF.

Тегированный PDF (PDF 1.3) добавил возможности сохранения дополнительной информации для облегчения этих задач. Важным элементом является добавление в PDF структуры логического документа (дерева структуры).

Тегированный PDF имеет важное значение в контексте PDF/UA (раздел 508: документы, которые должны быть доступны) и PDF/A (уровень A). Создание тегированного PDF с использованием iText 2 не является невозможным, однако трудно сделать это правильно и эффективно, поскольку структуру приходится создавать на самом низком уровне (нужно хорошо владеть синтаксисом PDF). В последних версиях iText теперь можно автоматизировать тегирование при использовании объектов iText высокого уровня (PdfPTable, Paragraph и т. д.).

Теперь мы выполняем проверку соответствия PDF/A-1, PDF/A-2 и PDF/A-3 (уровни А и B).

5. УЛУЧШЕННОЕ ИЗВЛЕЧЕНИЕ ДАННЫХ

iText 5 содержит улучшения для извлечения текста и изображений из PDF. С использованием эвристического алгоритма мы можем восстановить текст из текстового содержимого страницы PDF. Мы пока не осуществляем общее распознавание структуры (т. е. обнаружение абзацев, списка и т. д.), но мы создали индивидуальную систему для одного из наших клиентов.

6. УЛУЧШЕННОЕ СЛИЯНИЕ И КОПИРОВАНИЕ

Процесс слияния и копирования файлов PDF был переработан. Функционал Pdf(Smart)Copy был усовершенствован для обеспечения возможности обработки тегированных PDF и PDF с акроформами. В iText 2 теряются StructTreeRoot, и формы не работают.

7. ПОДДЕРЖКА ДОКУМЕНТОВ PDF РАЗМЕРОМ ДО 1 ТБ

iText 2 поддерживает файлы PDF размером до 2 ГБ. Текущая версия iText позволяет создавать файлы PDF размером до 1 ТБ.

8. ЕОПТ

Усовершенствования, которые мы называем «ЕОПТ». Буквально «Еще одна проблема с TIFF». TIFF – это стандарт, которым «злоупотребляют» многие производители TIFF. В результате мы столкнулись с некоторыми по-настоящему странными TIFF, которые не могли быть интерпретированы iText. Примерно раз в пару месяцев нам приходится решать аналогичные проблемы, которые одними TIFF не ограничиваются, но поскольку TIFF остается самым проблемным форматом, мы обозначаем «ЕОПТ» и их.

9. ITEXT ДЛЯ ANDROID И GAE

iTextG: версия iText, которую можно использовать на: