Есть ли свободное программное обеспечение или решение с открытым исходным кодом для записи сжатого PDF2000 файла PDF, в частности, PDF / A-2, также как ISO 19005-2?
Создание файла PDF 1.1 с сжатием без потерь или сжатием JPEG легко, например, с tiff2pdf от libtiff . Даже imagemagick может это сделать, если вы можете обойти проблемы использования памяти ; и imagemagick в теории может использовать формат JPEG2000 / JP2 , если соответствующий делегат установлен.
Однако для JPEG2000 я не нашел хорошего решения. Я думаю, что какаду и луратех - некоторые общие, но они являются собственностью. Internet Archive использует kakadu для создания файлов jp2 и luratech для создания файлов PDF, но я не думаю, что они создают файлы в формате PDF / A-2 JPEG2000.
Кроме того, FLOSS и обычно обнаруженные читатели PDF легко поддерживают указанный формат PDF / A-2?
Создание PDF / A-2, включая JPEG-2000
iText - это библиотека PDF, доступная на Java и C #, которая позволяет создавать PDF-файлы, соответствующие формату PDF / A-2. Здесь вы можете найти несколько примеров.
Обратите внимание, что вам нужна основная библиотека iText, а также библиотека pdfa в качестве дополнения к основной библиотеке. Ядро iText поддерживает изображения JPEG2000.
iText выпущен под AGPLv3. AGPL - лицензия на бесплатное программное обеспечение, а это означает, что iText является свободным программным обеспечением. Это не означает, что вы можете использовать iText бесплатно . Вы можете использовать iText только при покупке коммерческой лицензии, если ваше программное обеспечение также выпущено под AGPLv3 (или GPLv3; вы не можете выпускать свое программное обеспечение под любую другую лицензию).
Просмотр PDF / A
PDF / A-2 построен поверх ISO-32000-1. Это подмножество, которое включает некоторые обязательства (например, обязательство внедрять шрифты, обязательство предоставлять цветовые профили ...) и ограничения (например, Javascript запрещен, шифрование запрещено ...). Эти обязательства и ограничения предназначены для обеспечения того, чтобы любой просмотрщик PDF представил документ надежным способом.
Ни одно из этих обязательств или ограничений не позволяет наблюдателю, который может представить обычный PDF (ISO-32000-1), чтобы представить документ PDF / A. Поэтому в ответ на ваш дополнительный вопрос: любой просмотрщик PDF, который притворяется, что он поддерживает ISO-32000-1, автоматически также поддерживает ISO-19005-2.
Обновить
iText является библиотекой разработчика. Это означает, что вам нужно написать код для создания PDF-документа. У нас есть версия Java (iText), версия C # (iTextSharp) и версия Android / GAE (iTextG). Нет графического интерфейса (это библиотека), и CLI будет сложно: обычно создаются PDF-файлы для публикации данных из базы данных. Как бы вы подключались к базе данных, выполняли запрос, организовывали результаты этого запроса через что-то простое, как CLI?
Зачем нам нужно комбинировать iText и tiff2pdf? iText поддерживает преобразование из TIFF в PDF. Зачем нам комбинировать iText и ImageMagick? iText поддерживает наиболее распространенные форматы изображений, а манипуляции с изображениями можно легко выполнить с помощью стандартных функций Java или C #.
Я не уверен, понимаю ли я ваш вопрос о TIFF. TIFF - это умирающий формат. Это также боль: стандарт TIFF интерпретируется по-разному, что каждый, кажется, создает свой собственный вкус TIFF. Если вы посмотрите на изменения в iText, вы увидите, что мы исправляем поддержку «грязных» TIFF во многих выпусках за последние 15 лет.
Какие читатели утверждают, что они поддерживают ISO-32000-1? Это сложный вопрос. Некоторые могут сказать, что они поддерживают ISO-32000-1, но «забывают», что JPEG-2000 является частью этой спецификации.
JPEG-2000 не является обязательным требованием для PDF / A. По сути, поддержка JPEG-2000 была одной из новых вещей, которая была введена в формате PDF / A-2 (она отсутствовала в PDF / A-1). Вы можете создать файл PDF / A-2, который не содержит изображения JPEG-2000. Но, может быть, я неверно истолковал ваш вопрос. Вероятно, вы хотели, чтобы зрители, которые полностью поддерживают ISO-32000-1 (и ISO-19005-2), должны поддерживать JPEG-2000. Это правда, и я не знаю, какие зрители могут декодировать JPEG-2000.