Nemo

FLOSS для написания PDF / A-2 с сжатием JPEG2000?


Открытый исходный код Pdf Изображение-преобразование Jpg Jpeg2000 Софт

Есть ли свободное программное обеспечение или решение с открытым исходным кодом для записи сжатого 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?

Nemo

Sarge Borsch
этот инструмент softwarerecs.s.stackexchange.com/a/26102 также поддерживает JPEG2k, поэтому вы можете кодировать JPEG2k с отдельными изображениями с помощью imagemagick, а затем объединить их в pdf, используя его. прямая ссылка: gitlab.mister-muffin.de/josch/img2pdf

Sarge Borsch
Однако JPEG2000 не очень хороший формат для сжатия с потерями, на самом деле он теряет современные кодировщики JPEG, поэтому, если вы специально нацелились на режим с потерями, возможно, использование эффективного кодировщика JPEG (mozjpeg) будет очень хорошим.

Nemo
@SargeBorsch может быть, но мой usecase - это «пакет» некоторых существующих файлов JPEG2000 в формате PDF без декодирования / перекодировки.

Sarge Borsch
это может сделать первое предложение

Ответы


Bruno Lowagie

Создание 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.

Nemo
Интересно, приятно, что разработчик iText нашел мой вопрос так быстро! AGPL - отличная лицензия, я счастлив, когда я вынужден ее соблюдать. Есть ли еще CLI или GUI? Продаете ли вы лицензии для включения в качестве делегата ImageMagick (или tiff2pdf), или вы будете продавать такой комбинированный пакет? Re YATP, есть ли хороший список gotchas / рекомендаций для создания хороших совместимых TIFF (может быть, другой вопрос)? Re совместимость, что читатели говорят, что они поддерживают ISO-32000-1 тогда (может быть, другой вопрос). Если JPEG2000 не был требованием для PDF / A, я подозреваю, что многие не могут его декодировать.

Bruno Lowagie
Я уточню свой ответ.

Nemo
Спасибо. Большая часть оцифрованной истории нашей культуры хранится в формате TIFF, нравится это или нет. || Считаете ли вы возможным генерировать PDF-файлы из оригиналов TIFF «на лету», например, на книжном экране или сервере изображений, таком как iipimage.sourceforge.net ? || Действительно, я имел в виду, что, поскольку документы PDF / A не могут использовать JPEG2000, и в целом JPEG2000 не используется много, многие, вероятно, его игнорируют. Я разделил вопрос на softwarerecs.stackexchange.com/questions/25497/...

Bruno Lowagie
Вы можете использовать iText для преобразования TIFF в PDF на лету на устройстве. Однако: это действительно то, что вы хотите сделать? Книжные зрители обычно имеют ограниченный процессор и память. Обслуживание PDF вместо TIFF могло бы быть лучше, и это можно было бы сделать «на лету», но вы также могли бы сделать это так, как это сделала New York Times в 2007 году, см. Этот отзыв .

Смотри также