Подтвердить что ты не робот

Спецификации PDF для кодеров: Adobe или ISO?

Я хочу закодировать приложение, которое может читать и декодировать PDF-документ; теперь, где я должен получить спецификации для этого файла? Формат PDF стандартизован из группы ISO, но мне непонятно, где наиболее надежный источник для получения такой информации.

что является хорошим источником для начала этого формата?

4b9b3361

Ответ 1

Фактически вы можете использовать оба указанных вами источника; путаница историческая.

Adobe изобрел PDF, и он изобрел семейство продуктов Acrobat, которое будет использоваться вместе с ним. Различные версии PDF были выпущены вместе с основными версиями Acrobat (например, PDF 1.3 был выпущен вместе с Acrobat 4).

Из-за принятия формата PDF и из-за того, что был написан ряд стандартов ИСО, которые фактически зависели от проприетарного формата PDF файла (это нелегко для стандарта ISO), Adobe решила передать PDF-формат ISO.

С этого момента и до сегодняшнего дня существует комитет ИСО, ответственный за редактирование спецификации PDF и разработку новых версий. Стандартом ISO для PDF является ISO 32000.

Кроме того, имейте в виду, что в зависимости от того, где вы хотите использовать PDF, ряд других стандартов ISO может быть очень полезным или незаменимым. Среди наиболее часто используемых - PDF/X (для обмена файлами PDF в издательском сообществе) и PDF/A (для создания PDF файлов, которые необходимо архивировать в долгосрочном хранилище). Эти спецификации ссылаются на конкретную версию стандарта PDF и добавляют дополнительные требования и ограничения.

Что касается спецификации, вы можете получить все документы из ISO напрямую. Однако для самого PDF вы также можете получить его от Adobe, и этот документ будет идентичным. Обратитесь к сайту Adobe DevNet на Acrobat:

http://www.adobe.com/devnet/acrobat.html

Просто скачайте Acrobat SDK, и это даст вам документацию как часть этого.

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

Написание чего-то, что поддерживает "PDF" в целом, будет непростой задачей. Спецификация PDF большая, сложная и полная... ну... тонкостей. Там будут драконы!


Update:

Прямая ссылка на документ спецификации Adobe PDF-1.7 (первое издание, бесплатно для загрузки, находится здесь:

Содержание этого документа позже стало официально принятым в качестве стандарта ISO для общего PDF, ISO 32000-1.

Обратите внимание, что есть несколько отличий от файла PDF, доступного из ISO:

Если вы начинаете разработку программного обеспечения PDF, достаточно иметь (бесплатно) PDF сверху ссылку Adobe.

Ответ 2

PDF не является легким форматом. Это в основном постскриптум с сжатием сверху. Существующая библиотека, безусловно, вы хотите использовать, а не писать самостоятельно. Это огромная задача.

Или получить существующее приложение для записи PDF и запустить его из вашей программы.

Я не смотрел на него очень сильно, но libgnupdf выглядит нормально.

Согласно Wikipedia PDF объединяет три технологии:

  • Подмножество описания языка описания PostScript, для создания макета и графики.
  • Система встраивания шрифтов/замены, позволяющая шрифтам перемещаться вместе с документами.
  • Структурированная система хранения для объединения этих элементов и любого связанного содержимого в один файл с сжатием данных, где это необходимо.