25 августа 2008 ~ 30 Комментариев

Конвертируем html в pdf

dompdf_simple

Dompdf — класс написанный на PHP 5 для преобразования HTML в PDF.

Проблема конвертации html в pdf встречается не так часто, но все же возникает у некоторых веб-мастеров.


Возможности Dompdf

  • Окрытый исходный код(LGPL)
  • Поддерживает css форматирование(!).
  • Понимает большинство тегов html 4
  • Отображает ссылки(в том числе и якорные ссылки)
  • Подерживает изображения (png, gif и jpeg)

 

Проблема с поддержкой русского

При тестировании, изначально Dompdf мне очень понравилось, но я нашел очень критичный для русскоязычного пользователя баг — отсутствие поддержки кириллицы.

Я решил поискать в интернете людей с похожей проблемой и оказалось таких случаев огромное множество.

Так же, на одном форуме я прочитал что проблема возможно кроется в шрифтах, которые использует «Dompdf». Класс использует шрифты с расширением *.afm.

Я прочитал, кириллические шрифты можно конвертировать *.afm, но мой слабый интернет не позволяет быстро скачивать необходимое ПО.

Хотелось бы с Вашей помощью решить эту проблему. Что бы такой распространенной проблемы больше не возникало ;-)

 

Ура! Проблема решена!

Решение любезно предоставил Kamael, за что ему огромное спасибо. Как я и говорил проблема была именно в шрифтах.

Скачать локализованную версию Dompdf (Зеркало)

Посетить оф. сайт «Dompdf»

30 Комментариев для “Конвертируем html в pdf”

  1. Антон 25 августа 2008 at 17:42 Permalink

    Т.е. нужно любой шрифт с поддержкой русского переконвертировать в этот формат? А где он должен лежать – на машине клиента, либо на сервере и его будет юзать пхп класс?

  2. Я собственной персоной 25 августа 2008 at 17:48 Permalink

    Т.е. нужно любой шрифт с поддержкой русского переконвертировать в этот формат? А где он должен лежать – на машине клиента, либо на сервере и его будет юзать пхп класс?

    Так Вы скачайте этот класс и посмотрите.

    Лежать должен, насколько я понимаю на сервере, иначе зачем эти файлы *.afm.

    Шрифты находятся в папке lib\fonts.

    Большое спасибо, что откликнулись ;-)

  3. Антон 25 августа 2008 at 19:05 Permalink

    На работе дорогой траффик и по приходу домой (если никто не опередит на вашем блоге) обязательно постараюсь помочь =)

  4. Антон 25 августа 2008 at 19:09 Permalink

    И почему не меняется граватарка? =(((
    Напиши faq для юзероф =)

  5. Я собственной персоной 25 августа 2008 at 19:33 Permalink

    И почему не меняется граватарка? =(((
    Напиши faq для юзероф =)

    Если ты недавно ее поменял, то проблема ясна, граватар кешируется и вскоре аватарка поменяется, а пока побудь монстриком (-:.

    Добавлю это в свой список дел.

  6. Антон 25 августа 2008 at 20:54 Permalink

    Поменялась =) теперь там я собственной персоной) сори за оффтоп

  7. kikaha 25 августа 2008 at 23:49 Permalink

    совсем недавно я сталкивался со схожей задачей и описал у себя свои поиски. мой выбор – TCPDF – работает с уникодом, по барабану на каком языке, есть набор уже сгенерированных шрифтов. уже опробовал на одном клиенте :)

  8. Я собственной персоной 26 августа 2008 at 0:43 Permalink

    совсем недавно я сталкивался со схожей задачей и описал у себя свои поиски. мой выбор – TCPDF – работает с уникодом, по барабану на каком языке, есть набор уже сгенерированных шрифтов. уже опробовал на одном клиенте :)

    Спасибо. Попробую посмотреть на досуге ;-)

  9. Эл 26 августа 2008 at 1:46 Permalink

    Интересно было бы гайд на русском изучить по использованию этого, я к сожалению новичок и документация на офф. сайте мне ничего почти не даёт

  10. vladdis 27 августа 2008 at 0:05 Permalink

    не встречалось ли решение конвертации в *.odt? Требуется генерировать документы (договора, калькуляции, прочее) из базы?

  11. ДМ Хелпер 27 августа 2008 at 17:39 Permalink

    вот если бы был нормальный фрейм-ворк что бы данный процесс в обратный ход поворачивал, вот это было бы дело!
    может кто встречал (пускай даже будет упрощенный результат на выходе но что бы чисто и аккуратно)

  12. Эл 28 августа 2008 at 2:34 Permalink

    гг ) Сделай связку файнрёдэр + твой скрипт и будет счастье

  13. junkies 11 октября 2008 at 4:37 Permalink

    А есть ли класс для работы с .doc ?)

  14. Я собственной персоной 11 октября 2008 at 11:44 Permalink

    А есть ли класс для работы с .doc ?)

    Да их вроде целая куча.

  15. Дмитрий 16 октября 2008 at 15:42 Permalink

    Люди, помогите пожалуйста, как установить DOMPDF? Что для этого надо! Если можно на примере!

  16. Андрей 18 февраля 2009 at 10:20 Permalink

    Кстати нашел очень грамотную библиотеку с поддержкой win1251 и UTF-8 mDPF (это симбиоз трех библиотек FPDF, HTML2FPDF, и UFPDF) http://mpdf.bpm1.com/

    Работает грамотно без затыков, ресурсов насколько заметил жрет мало.
    Рекомендую

  17. Андрей 18 февраля 2009 at 10:22 Permalink

    ЗЫ: до этого пытался использовать DOMPDF в локализации под UTF-8 откатал на локалке, на сервере библиотека заметно тормозила, а на рендере таблиц вообще заткнулась

  18. theCoder 15 мая 2009 at 14:28 Permalink

    СУПЕР!!!
    Давно искал чтобы русский понимал.
    Вопросик – а как шрифт менять?

  19. Димка 18 сентября 2009 at 2:00 Permalink

    Большое спасибо, нужно иногда че-нить конвертнуть, теперь будет под рукой.

  20. Юра 3 октября 2009 at 0:55 Permalink

    Обновите ссылку с локалезированой версией DOMPDF plzzzz….

  21. webs 6 октября 2009 at 20:24 Permalink

    спасибо огромное за локализацию, намучился с FPDF, dompdf рулит. Но вот есть проблема в так сказать оригинальной(не локализированной либе:))) картинки отображаются, а вот вашей проблема, уже голову сломал.

  22. webs 7 октября 2009 at 16:34 Permalink

    спасибо огромное за локализацию, намучился с FPDF, dompdf рулит. Но вот есть проблема в так сказать оригинальной(не локализированной либе:))) картинки отображаются, а вот вашей проблема, уже голову сломал.

    Кому интересно для того чтобы отображались изображения в pdf при конвертации нужно заменить файл functions.inc.php (в локализированном варианте) в папке include с архива либы разработчика (ver 0.5.1)

  23. webs 7 октября 2009 at 19:52 Permalink

    Извини автор, но не как не врублюсь, зачем отключать часть функционал.

  24. Юра 5 ноября 2009 at 0:32 Permalink

    Локализированая работает но неработают рисунки даже при замене functions.inc.php….. нид хелп

  25. Гость 2 июня 2010 at 11:32 Permalink

    Да ниче русский не работает, иероглифы одни

  26. Александр 6 июня 2010 at 20:11 Permalink

    Первая ссылка на скачку битая, вторая норм) скачаем, посмотрим)

  27. Владимир 20 июня 2010 at 8:37 Permalink

    Скачал Вашу версию. Русские буквы отображаются, но ширина текста определяется неверно (столбцы таблицы наползают друг на друга). Куда копать?

    Тем, у кого иероглифы, советую прописать в HTML-файл в заголовке кодировку содержимого utf-8:

  28. Евгений 19 июля 2010 at 15:04 Permalink

    Спасибо за библиотеку, русские символы распознаются нормально. Но вот столкнулся с проблемой, тег не совсем правильно распознается. Точнее в документе сама ссылка показывается, но переход по ссылке вообще непонятно какой, всегда в значение href подставляются символы \Uffffffff\Uffffffff. Не могу понять в чем проблема. Если кто знает, помогите.
    Кстати, ширину текста нужно прописывать в стилях, либо все заносить в блок div, и в нем указывать width=»". Я ширину указывал в процентах.

  29. Евгений 19 июля 2010 at 15:05 Permalink

    Спасибо за библиотеку, русские символы распознаются нормально. Но вот столкнулся с проблемой, тег a не совсем правильно распознается. Точнее в документе сама ссылка показывается, но переход по ссылке вообще непонятно какой, всегда в значение href подставляются символы \Uffffffff\Uffffffff. Не могу понять в чем проблема. Если кто знает, помогите.
    Кстати, ширину текста нужно прописывать в стилях, либо все заносить в блок div, и в нем указывать width=’%’. Я ширину указывал в процентах.


Оставить комментарий