Конвертируем 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»

    Похожие публикации

    Средняя зарплата в IT

    110 450 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 6 901 анкеты, за 2-ое пол. 2020 года Узнать свою зарплату
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 45

      0
      Где-то я это уже читал…

      А вообще спасибо! Недавно очень нужен был такой класс, да и сейчас тоже))
        –2
        Класс действительно не новый.

        Кроме того подобных классов не мало.

        Но проблема с поддержкой русского у всех как на подбор, надеюсь этот топик решит эту проблему раз и навсегда.
          –2
          Топик самостоятельно не решит эту проблему. Раз уж подняли эту тему, предлагаю взяться за нее и добить до победного конца.
            –3
            Я содействую решению проблемы.

            Осталось только конвертировать шрифты(возможно), но мне не хватает ресурсов это сделать, как я и написал выше.
            0
            подскажите, пожалуйста, что-нибудь ещё, кроме dompdf
            Что-то dompdf некорректно работает: строки не переносятся(
              0
              TCPdf
              Правда, у него с CSS не совсем кошерно (позиционирование и прочие подобные вещи не прокатывали).
                0
                спасибо, что ответили

                я так понял, что он представляет собой конструктор PDF, а не конвертер… оказывается, он умеет html воспринимать?
                  0
                  Да, умеет. В моей практике, например, один из вариантов: использовали Smarty (assign->fetch) -> уже готовый контент -> скармливаем в ТСПдф.
          0
          не «Поддерживает css форматирование», а частично поддерживает CSS 2.1
          Мне показалось, что подобные инструменты предназначены в первую очередь для быстрой/удобной генерации PDF, а не для конвертации.
          Около 2-х лет назад мне нужно было разработать систему для конвертации веб страницы в pdf, причем важнейшим условием было сохранение идентичного внешнего вида — ни один из открытых php фреймворков подобного типа с этой задачей не справился.
            +1
            Ссылка на русский шрифт — ipwn.googlecode.com/files/arialuni.ttf
            Но мне больше нравится вот этот конвертор www.tufat.com/html2ps.php
              0
              Работы над ним свёрнуты, к сожалению.
                0
                Если вы знаете другой вариант АВТОМАТИЧЕСКОГО перевода html в pdf, я буду крайне признателен.
                • НЛО прилетело и опубликовало эту надпись здесь
                    0
                    Не знаю как на счет библиотек, для такой работы нужен инсталлированный OpenOffice. Но идея хорошая.
                  0
                  Кстати с чего вывод о закрытии проекта?

                  17 Apr 08

                  Version 2.0.43 has been released with the following fixes:
                    +1
                    Хм. С того, что (единственный) разработчик — я ;)

                    Разработка и поддержка стала занимать слишком много времени и мешать другим проектам, а вот финансирование осталось прежним. Объем кода, увы, великоват для того, чтобы его кто-то подхватил (да и, признаюсь, местами я там поначалу наломал дров). Результат очевиден.
                      0
                      Жаль. Аналоги вашей системы вам известны?
                        0
                        Основные конкуренты на PHP — dompdf, html2fpdf.

                        Обычно выигрывают в ресурсах и проигрывают в поддержке CSS.
                          0
                          dompdf — проблемы с таблицами
                          с html2fpdf не проводил тесты, но… что-то говорит что и там не сахар.
                          Подсказали выше решенеи на базе Ooffice, нагуглил пример реально работающего кода www.wynia.org/wordpress/word-to-pdf-converter-in-php-word2pdf/

                            0
                            Правда, остается проблема того что это только под Windows будет работать. Но работает очень быстро и качественно.
                  0
                  Хотел посмотреть что к чему, но чето новость на сайте меня немного поколебала:
                  «[2008-02-05] A security vulnerability in dompdf has recently been discovered. The vulnerability would allow an attacker to access any file readable by the webserver. A solution is being developed presently.»
                  Так же по датам новостей видно, что проект редко апдейтиться. Стоит подумать прежде чем начать его использовать…
                    +3
                    а как быть с обратной задачей? издательство присылает кучу .pdf с просьбой разместить их на сайте. сейчас задача решается через /usr/ports/textproc/pdftohtml, но работает он мягко говоря не так, как хотелось бы (гробит шрифты, иногда коверкает верстку)
                      +1
                      TCPDF — Отличная библиотека для генерирования PDF файлов
                      Поддерживает кириллицу и HTML теги!
                      Обладает впечатляющим функционалом и набором методов!!!
                        0
                        Единственное, чего нам не хватило в tcpdf — не поддерживает html-якоря. В итоге отказались в пользу htmldoc.
                        0
                        есть еще не менее хорошая библиотечка для создания pdf в php и зовут ее fpdf
                        www.phpclub.ru/detail/article/fpdf
                        www.fpdf.org
                        в месте с классом в этой библиотечке распространяется файлик для конвертации любых шрифтов в понятный для этого класса… и проблема с русскими шрифтами решается…
                        + если поискать, то можно легко найти модификации данной библиотеки… с поддержкой русских шрифтов и распознаванием большинства тегов…
                          0
                          Проблема не в создании PDF, а в автоматическом конвертировании html в pdf
                            0
                            автоматическая конвертация для данной библиотечки есть… только я ссылку потерял
                            :'(
                            0
                            Нужно было как-то для проекта генерить pdf, взяли фигню под названием pdml.

                            Очень неглупый верстальщик сказал. что больше он код для такого убожества писать отказывается. В остальном — работает чудесно.
                              +2
                              ЛОКАЛИЗОВАННАЯ ВЕРСИЯ DOMPDF: asomk.kerrik.ru/dompdf.rar

                              Занимался этим в начале лета, и к настоящему моменту честно говоря подзабыл что и как я там делал… Одно могу сказать — версия рабочая и с ней же пример, который можно разобрать.

                              Ну и PS: DOMPDF это наилучший бесплатный вариант для генерации PDF из PHP. Проверил лично! Но тем не менее в нем косяков хватает. К примеру он может зависнуть на больших таблицах, где имеется много colspan и rowspan.
                                –3
                                Вы не могли бы конкретно сказать, что именно вы исправили. Это были шрифты?

                                Спасибо за решение!

                                ps. А чего это архив 4 аж мегабайта? (-:
                                  0
                                  да, я менял шрифты, все утилиты там в архиве, командный файл тоже там присутствует, отсюда и размер.
                                    0
                                    когда локализовывал, там было достаточно хлопот — от поиска программы конвертера, до файлов map с картами кириллицы. В общем в архиве тот вариант, который работал, и от которого пришлось отказаться в работе потому что нужные таблицы в html он поедать не хотел вообще никаким образом.
                                    0
                                    Простите, а у Вас осталась эта версия? Ссылка не работает.
                                    0
                                    Буквально недавно я вставал перед задачей ковертации ХТМЛ в пдф, юзал и ДомПдф, и фпдф и еще какие-то.
                                    1) Нормальный код был только у ДомПДФ — у отсальных полный ужас.
                                    2) Однако фпдф лучше справлялась с поставленной задачей (напильником правда тоже приходилось работать).

                                    В итоге я пришел к заключению:
                                    1) Если есть возможность запуска сторонних утилит на сервере, то они работают куда лучше, либо
                                    2) ПДФ из чего-нибудь другого.
                                      0
                                      bO_oblik вчера у вас была карма минусовая, а теперь уже 12. Откуда вы карму берете? Я блин все никак не могу хотя бы +1 заиметь чтобы пост написать.
                                        0
                                        Тсс, это я ему плюсую все время… )) Отсыпал и вам за молчание :)
                                        0
                                        Вот бы такой конвертер, да наоборот… :)
                                          0
                                          Была подобная задача, все-таки больше всего понравился PrinceXML — www.princexml.com/
                                          Намного быстрее и качественнее рендеринг выходит. Есть конечно минус, если считать его минусом — тулза бинарная.
                                            0
                                            А не подскажет кто решения для конвертации в ворд? Искал как-то, но кроме уроков по конвертации в RTF ничего не нашел.
                                              0
                                              Запись кириллицы в виде амперсанд решётка цифры точка с запятой помогает в подобных ситуациях почти везде.
                                                0
                                                @marabou:
                                                это называется HTML entity
                                                0
                                                html конвертируеться с тегами img? что-то уменя он упорно не хочет их цеплять… а новую версию библиотеки даже запустить не получаеться — на генерации pdf-ок скрипт зависает…

                                                Подскажите, кто в курсе…
                                                  0
                                                  На работе используем DOMPDF для генерации pdf из html, но в последнее время встал вопрос о повышении быстродействия, в связи с этим ищу более шуструю систему. Что-нибудь можете посоветовать?
                                                    0
                                                    Люди подкинете ссылку на локализированую версию, данные выше ссылки не работают.

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое