Колко струва един PDF?

На скоро един клиент поиска нещо съвсем просто – в страничката, където се показва една километрична шарена таблица да има един бутон: “Запази като PDF файл”.
Сайтът беше писан на PHP, което привидно улесняваше нещата – все някой, все някога е правил някаква библиотека за такива работи. Отговорът “Добре, няма проблем” си дойде някак естествено… Аз и голямата ми уста… 🙂 🙂 🙂

Всъщност това си е интересна задачка. Особеното в случая беше, че не исках да “пиша” буква по буква PDF-а, нито да рисувам чертички, ка-мо-лида оцветявам. Желанието ми беше да намеря от ония вълшебни и безплатни класове за PHP, които да конвертират HTML код директно в PDF. След малко Гугълуване нещата започнаха да се нареждат – намерих няколко опен-сорсрешения и картината започна да става цветна:

Започнах да ги разцъквам и…цветната картина започна да става все по-мрачна – на принципа “Ту му млякото горещо, ту пък друго нещо”:

  1. Всички конвертират към PDF, обаче не поддържат болшинството HTML тагове или рисуват нещо, ама колкото да се каже че има;
  2. Таблици в таблици? Забравете…Явно използват RegEx за мачване на таговете…
  3. cellpadding + bold =произволна позиция на текста;
  4. <DIV style=’width: 500px; align: center’>някакъв текст</DIV> – никакъв шанс да тръгне като хората;
  5. всички се справят твърде зле с подравняването на текста, в комбинация с WIDTH в таблица;
  6. <TR style=”background: blue”> – неееее – трябва да се задава цвета на всяка клетка по отделно 🙂
  7. buletting? Цъ…поне го пишев “прочети ме.тхт” 🙂
  8. КИРИЛИЦА? Ето тук вече чашата преля! Скалъпих си шрифтс кодировка cp1251 (повечето класове разчитат на библиотеката FPDF за PHP, в която има php скрипт за приготвяне на шрифтовете, според определена кодировка, като преди това шрифтът се минава през една друга тулка…)и маймуниците станаха четими букви на Български. Ура! Кой ме би през ръцете да взема да копирам за тестсъдържанието на PDF-а и да го пейстна в WORD или Notepad? Резултатът беше отново маймуници!
  9. мн. други подобни;

То излезе, че трябва да сепише HTML, който удовлетворява HTML2PDF класа…Ама да преправяш десетки чуждифайлове, само за да се “харесаш” на една библиотека!?!

И тогава реших да проверя платените версии. Намерих няколко доста добри продукти:

Останах най-впечатлен от продуктите на expertcomponents. Сайтовете, които пробвах да конвертирам (Live Demo: http://www.html-to-pdf.net/Default.aspx#livedemo)излязоха буквално 1 към 1 с оригинала, но в PDF вариант.

Единственият кусур беше, че библиотеките са за .NET, а това е нещо, за което PHP-то не е и чувало 🙂 Трябваше да скърпя някакво асембли + COM интерфейс на C# (това обаче е една друга история 🙂 ), за да тръгне под PHP. След като се справих с тази симпатична задачка мога да кажа само едно: ТО РАБОТИ. Парсва си HTML-а без проблеми 🙂

Само, че аз тръгнах малко наопаки: нацъках нещата, изпробвах и…видях цените… =:-o
Просто не мога да се сдържа и да не изкоментирам различните типове лицензи:

  • Developer License – за ЕДИН разработчик, който може да скалъпи ЕДНО .NET приложение – около $350-$400;
  • Server License – за ЕДИН продукционен сървър – около $600;
  • Site License – за определен сайт – пригответе около $500;
  • Company License – за цяла компания (на места се упоменава една физическа офисна локация!) – над $1300

… А Майкрософт били скъпчии…я вижте тука за какво иде реч 🙂

Мааааай…сам ще си пиша/чертая/боядисвам PDF-ите 😀

Ако някой има други фрий предложения – може да сподели 🙂

12 thoughts on “Колко струва един PDF?

  1. Доста зле съм с английския,пък и се интересувах досега само от четеца, но… може и да се окаже нещо далечно, но поне като сведение за създател на PDF
    Foxit PDF Creator has just been released!
    Foxit PDF Creator is a small, fast and easy PDF creation tool that converts any type of printable Windows document, including DOC, XLS, PPT, TXT, E-MAIL and even HTML, to a universally accepted PDF format with the click of a button.
    http://www.foxitsoftware.com/pdf/creator/
    Не е безплатно, но има пробна версия.
    И, макар че вече е почти извън темата – невероятно удоволствие е да се ползва този четец,Foxit Reader, вместо Acrobat reader.
    новият вариант с писане на Foxit Reader дали ще спре спамерите-братушки? Пък и няма лоши отзиви, защо ли се налага цензура.

  2. Foxit Reader SDK (ActiveX) $799.00
    Пак си е скъпичко, а и май е само в ActiveX вариант, което не е наааай-добрия вариант 🙂

  3. az lichno ako mi trqbva pdf bih izpolzval open office
    shte si zapisha starnicata lokalko shte q otvorq s open office i shte q exportna v pdf i gotovo ….
    moje bi moje da se napravi php to da pravi tazi operaciq ?

    ne zanm dali ako taka vurvi dali ako n ausera mu se
    pri hodi do toaletna, web sajtovete shte mu predlojat i toaletna hartiq
    v pdf format ? :))))

  4. ivan :az lichno ako mi trqbva pdf bih izpolzval open officeshte si zapisha starnicata lokalko shte q otvorq s open office i shte q exportna v pdf i gotovo ….moje bi moje da se napravi php to da pravi tazi operaciq ?
    ne zanm dali ako taka vurvi dali ako n ausera mu sepri hodi do toaletna, web sajtovete shte mu predlojat i toaletna hartiqv pdf format ? :))))

    —————

    Обаче на мен ми трябва SDK, не GUI. PHP-то няма как да отвори Open Office и да ги цъка тия работи 🙂

  5. @Петър Георгиев
    ako e open ofica moje bi e open i sorca na exporta za pdf ?
    i sorsa da se izpolzva ? trudno no moje bi vazmojno ?
    drug variant moje da se napravi predpolagam makros na open offica kojto avtomatichno da exportva otvoreniq dokument v pdf format , i php moje bi moje da se napravi da otvarq dokumenta v open office , makrosa da go exportva nqkade avtomatichno i php to posle da predostavq exportnatiq fail na potrebitelq … , e moje bi e problem che shte stava bavno i shte trqbva oofisa da se otvarq v GUI forma. a moje bi oofisa e vuzmojno da ima i rabota samo v komanden red (bez gui)?

  6. Userch0 :

    Дам съжалявам явно съм прескочил линка.
    Но както спомена най доброто решение е сам да си ги чертаеш и боядисваш ;)
    та в духа на статията зенд са спретнали доста полезно туторилче по темата
    http://devzone.zend.com/article/4044-Dynamically-Generating-PDF-Files-with-PHP-and-Haru-

    Звучи интересно – ще го погледна 🙂 Мерси!

  7. И аз вървя по този път в момента.
    – html2fpdf.sourceforge.net – последната версия е 2005 г. и сайта изглежда запуснат като ghost town.
    – html2pdf.fr (ex html2pdf.spipu.net) – трябва да му се напише доста опростен HTML, който е очевидно не би бил същия като във страницата, презназначена за броузери. Значима пречка, която ме спъва е ефекта на NOWRAP в клетките. Ще рече, ако имаш дълъг текст не го пренася, ами вместо това разтяга таблицата до безобразие.
    – dompdf – още не съм го подкарал, поради факта, че не съм наясно къде да му завра кирилизирания шрифт…

  8. Именно – малки “препъникамъчета”, които не се харесват на клиентите 🙂
    До колкото си спомням подкарах едно от решенията на кирилица. PDF-ът си излиза на български език, но ако маркираш, копираш и paste-неш в word – получаваш маймуница 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *