Xpoint
   [напомнить пароль]

Разработка модуля генерации PDF

Метки: [без меток]
2006-01-16 18:41:20 [обр] Thirteensmay(0/157)[досье]

Необходимо сделать инструмент для генерации PDF со следующими требованиями:
- Абсолютная бесплатность
- Максимальная кроссплатформенность
- НЕПРИХОТЛИВОСТЬ В СОПРОВОЖДЕНИИ (минимальная зависимость от базового ПО, простота установки)
Производительность может быть не рекордной, функциональность - базовая (вывод строк и абзацев текста, графические примитивы, вставка JPEG). Может быть в будущем - таблицы ;)
Благодаря partners.adobe.com и HexWorkshop формат расковырял...
Теперь после некоторых поисков имею 2 варианта:

  1. C++ + сырцы libjpeg (от Independent JPEG Group's free JPEG software) + сырцы zlib ;)
  2. Perl со встроенным zlib + ImageMagic.

В общем нужен язык, flate-компрессор, и компрессор/декомпр./читальщик атрибутов JPEG.
Вопрос на чем остановиться ? Исходя из третьего требования дополнительные библиотеки (flate, JPEG) должны быть минимальны и в сырцах. На Perl конечно проще, но на C++ красивее... :)
Может быть кто знает лучшие (компактные) альтернативы ? Ессно здесь будет много работы со строками и динамической памятью, что надо учитывать... Помогите определиться !!!

P.S. только не говорите мне что все уже написано до нас, используйте готовое и т.д. Потому как:

  1. Я не смог найти ГОТОВОЙ НОРМАЛЬНОЙ системы удовлетворяющей перечисленным требованиям.
  2. Мне нужна вешь с которой я буду делать все что угодно без геморроя.
  3. Мне просто интересно ;)
спустя 3 часа 30 минут [обр] GRAy(0/259)[досье]
О FOP когда-нибудь слышали? ;)
спустя 9 часов [обр] Pil(0/22)[досье]

Thirteensmay[досье]

  1. Я не смог найти ГОТОВОЙ НОРМАЛЬНОЙ системы удовлетворяющей перечисленным требованиям.
  2. Мне нужна вешь с которой я буду делать все что угодно без геморроя.

PDF writer. Удобней и проще некуда. ИМХО. И лаж с кодировками как у Adobe Acrobat PRO нет.

спустя 3 часа 57 минут [обр] Thirteensmay(0/157)[досье]
сейчас погляжу...
спустя 53 минуты [обр] Thirteensmay(0/157)[досье]

Если я все правильно понял то: (поправьте пожалуйста если чего)

  1. FOP - это Java !, т.е. не free (заморочки с лицензиями как например у FreeBSD). Неизвесно что

Sun-овцам взбредет в голову через год, в общем случае это контора существует для денег, так что
выводы печальны несмотря на все их заявления...

  1. PDF writer - бесплатный бинарник для винды и все ?

Собственно говоря на текущий момент проблема заключается в отсутствии компактного исходника для
чтения атрибутов JPEG файлов, и их копресии/декомпресии. Может кто поделится ? ,буду очень
признателен ;) И еще хотелось бы знать приблизительную оценку быстродействия конечного приложения
на C++ (с использованием объектов векторов и строк) по сравнению с Perl. (На чистом C то оно
понятно быстрей, но уж больно тяжко, а вот на C++ попроще будет)... А ?

спустя 52 минуты [обр] GRAy(0/259)[досье]
Thirteensmay[досье] FOP выходит под лицензией Apache licence 2.0 со всеми вытекающими - а именно свободные исходники, свободное распространение, свободное изменение. А боятся того что Sun возьмёт и вдруг сделает джаву платной... ну не знаю. Я собственно предлагал вам FOP не в качестве готового решения, скорее как пример реализации - всё-таки джава близка к C++ и понять что там написано и как оно работает зная C++ вполне реально. Раз уж вы взялись изобретать велосипед... ;)
спустя 2 часа 16 минут [обр] Thirteensmay(0/157)[досье]
Это да... Вот только в свете непродления лицензии Java во FreeBSD не хотелосьбы вдруг узнать что твой продукт нелегален хоть и бесплатен... Это их корова ;)
спустя 1 час 15 минут [обр] GRAy(0/259)[досье]
Позволю себе небольшой оффтопик. Лицензия была отозвана у FreeBSD foundation, но тем не менее это не означает невозможность использования JRE в этом семействе операционных систем... ИМХО
спустя 45 минут [обр] Thirteensmay(0/157)[досье]
Раз уж приложение кроссплатформенно... Ваша правда ;)
спустя 17 минут [обр] Thirteensmay(0/157)[досье]
Но есть 4 сервака под фрюхой, и поставить надо именно на них, ну не менять же ОС ради этого со всеми вытекающими... А еще есть под виндой, что модули отчетов должны быть разными ? и методы работы с ними ? нафига мне это ? А завтра че будет ??? Не-е-е Java не то...
спустя 13 часов [обр] Pil(0/22)[досье]
Thirteensmay[досье]Установили бы и на концепцию глянули.
И еще (ОФФ/ИМХО). Если вы планируете реализовать только базовую функциональность то Ваша программа будет интересна только Вам => причем тут проблемы с лиценизиями?
спустя 4 часа 58 минут [обр] Thirteensmay(0/157)[досье]
У меня есть требование - система должна быть абсолютно бесплатной (в т.ч. лицензионно чистой) - надо его выполнять. Делаю не только для себя - есть еще несколько человек (в т.ч. начальник). С концепцией впринципе определились - это будут просто функции формирования страниц, абзацев и т.п., конечно в Java много чего сделано, погляжу, может какие идеи понравятся ;) Базовая функциональность должна быть через месяц - два, а вообще у меня много идей есть, в часности хочу сделать pageheaders/footers/detailband-ы/label-ы, но это уже будут расширения. Впринципе несколько удовлетворяющих модулей нашел - но у всех проблемы с великим могучим, достало ковырять чужой код.
Кстати если кому интересно: убил седня полдня на тестирование С++ vs Perl при работе с динамическими массивами строк (в С++ использовались вектора и string-объекты, в Perl - обычные массивы скаляров), при одинаковых алгоритмах получилась одинаковая производительность, но у С++ остался огромный потенциал оптимизации в сторону С, что конечно уже начало гемороя. Так что на данный момент склоняюсь в сторону Perl, но боюсь за производительность (хотя по приблизительным прикидкам должно хватить), а на С влом писать. Зараза, пока готовый модуль не получишь, однозначно ничего сказать нельзя, потом может быть досадно.
Powered by POEM™ Engine Copyright © 2002-2005