СофтХабрахабр

Свободные библиотеки для создания и редактирования файлов PDF

Неделю назад состоялся релиз свободной библиотеки для генерации pdf-файлов версии OpenPDF 1.1.0, самый значительной апгрейд этой библиотеки за последнее время.

Библиотека основана на форке iText. OpenPDF — это Java-библиотека для создания и редактирования файлов PDF, которая распространяется под двойной лицензией LGPL/MPL. В реальности у неё такая история:

LibrePDF/OpenPDF

forked from rtfarte/OpenPDF

2. forked from kulatamicuda/iText-4.

2. forked from daviddurand/iText-4.

2. forked from ymasory/iText-4.

2. Все форки ведут историю от одной версии iText 4. Сами разработчики iText перешли на AGPL и сконцентрировались над созданием пятой версии, чтобы более успешно продавать коммерческий софт. 0, которая вышла восемь лет назад и стала последней версией под свободной лицензией. Но свободный проект тоже не погиб, а продолжил развитие силами всего сообщества.
За прошедшее время библиотека в некоторых отношениях улучшена, исправлено несколько багов. К настоящему времени они доросли до версии iText 7. Если при генерации PDF-файлов вам требуется какая-то конкретная функциональность, то предложите патч и реализуйте эту функцию для всех. Хотя изменения не слишком значительные, но разработка продолжается, и внести свой вклад может каждый.

2. С момента старой «оригинальной» версии 4. 0 сделаны следующие изменения.

  • компиляция с поддержкой Java 8
  • в случае неожиданного окончания файла PDF выбрасывается исключение IOException, а не PDFNull
  • принят патч для исправления NPE в XFA Form (метод escapeSom)
  • принята функциональность UnembedFontPdfSmartCopy от Vicente Alencar
  • принята функциональность RTF Footer от ubermichael
  • исправление совместимости для поддержки более свежих криптографических библиотек Bouncy Castle (1.54)
  • некоторые исправления NPE и «подкрученная» поддержка фреймворка Maven

OpenPDF — удобный способ внедрить в свой проект генерацию документов PDF, в том числе с криптографической цифровой подписью. Это готовый и бесплатный модуль, пригодный для использования в электронном документообороте. И такую систему можно использовать, например, с сертификатами для подписи PDF, чтобы сертифицировать и утверждать PDF-документы. Или интегрировать с сервисом облачных подписей Digital Signing Service от GlobalSign. Хотя последний уже работает, например, с решением для подписи документов Adobe Sign в облаке Adobe Document Cloud.

В основе архитектуры Bouncy Castle лежит набор низкоуровневых API, которые реализуют все криптографические алгоритмы. Поддержка криптобиблиотек Bouncy Castle весьма полезна. Есть поддержка стандартных высокоуровневых криптографических API платформ Java и C#.

53 включали в себя около 400 тыс. Программные интерфейсы Java API от Bouncy Castle в версии 1. 509, работу провайдера JCE/JCA, PKCS#10, PKCS#12, S/MIME, OpenPGP, DTLS, TLS, OCSP, TSP, CMP, CRMF, DVCS, DANE, EST, сертификаты Attribute Certificate (AC), которые используются для связывания дополнительной информации с сертификатом открытого ключа. строк кода и поддерживали большое количество алгоритмов, в том числе базовую генерацию сертификатов X.

Например, есть ещё veraPDF или замечательная библиотека Apache PDFBox. Нужно заметить, что кроме OpenPDF существуют и другие свободные библиотеки для генерации PDF. Последняя активно поддерживается и обладает богатым набором функций:

  • Извлечение текста Unicode из файлов PDF.
  • Слияние нескольких файлов или разбиение одного PDF на части.
  • Извлечение данных из форм PDF или заполнение их.
  • Валидация PDF на соответствие стандарту PDF/A-1b.
  • Печать PDF через стандартные Java API.
  • Сохранение в виде изображений, таких как PNG или JPEG.
  • Создание PDF с нуля, с внедряемыми шрифтами и иллюстрациями.
  • Цифровая подпись PDF.

Так что в наше время вовсе необязательно использовать проприетарные инструменты для создания или редактирования PDF. Для этого есть много свободных альтернатив.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть