Test Page

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

OFFICIAL PROJECT | HTML to PDF converter written in PHP

License

spipu/html2pdf

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Html2Pdf is a HTML to PDF converter written in PHP, and compatible with PHP 5.6 to 8.2.

It allows the conversion of valid HTML in PDF format, to generate documents like invoices, documentation, .

You have to write a code of HTML for Html2Pdf, and not try to convert directly an already existing html page.

Specific tags have been implemented, to adapt the html standard to a PDF usage.

You must use Composer to install this library.

It uses TCPDF for the PDF part.

Html2Pdf works with PHP >5.6 and Composer.

You will also need at least the following php extensions:

You will find the install documentation here.

You will find all the documentation here.

You will find lots of examples here.

You can support this project by making a donation.

For questions and bug reports, please use the GitHub issues page.

This program is distributed under the OSL License. For more information see the ./LICENSE.md file.

Copyright 2008-2023 by Laurent Minguet

About

OFFICIAL PROJECT | HTML to PDF converter written in PHP

Источник

dompdf

dompdf is an HTML to PDF converter. At its heart, dompdf is (mostly) a CSS 2.1 compliant HTML layout and rendering engine written in PHP. It is a style-driven renderer: it will download and read external stylesheets, inline style tags, and the style attributes of individual HTML elements. It also supports most presentational HTML attributes.

PDF rendering is currently provided either by PDFLib or by a bundled version the R&OS CPDF class written by Wayne Munro. (Some important changes have been made to the R&OS class, however). In order to use PDFLib with dompdf, the PDFLib PECL extension is required. Using PDFLib improves performance and reduces the memory requirements of dompdf somewhat, while the R&OS CPDF class, though slightly slower, eliminates any dependencies on external PDF libraries.

Follow us on Twitter Follow us on Google+

Features

  • Handles most CSS 2.1 and a few CSS3 properties, including @import, @media & @page rules
  • Supports most presentational HTML 4.0 attributes
  • Supports external stylesheets, either local or through http/ftp (via fopen-wrappers)
  • Supports complex tables, including row & column spans, separate & collapsed border models, individual cell styling
  • Image support (gif, png (8, 24 and 32 bit with alpha channel), bmp & jpeg)
  • No dependencies on external PDF libraries, thanks to the R&OS PDF class
  • Inline PHP support
  • Basic SVG support

Requirements

  • PHP version 7.1 or higher
  • DOM extension
  • MBString extension
  • php-font-lib
  • php-svg-lib

Note that some required dependencies may have further dependencies (notably php-svg-lib requires sabberworm/php-css-parser).

Recommendations

  • OPcache (OPcache, XCache, APC, etc.): improves performance
  • GD (for image processing)
  • IMagick or GMagick extension: improves image processing performance

Limitations (Known Issues)

  • Dompdf is not particularly tolerant to poorly-formed HTML input. To avoid any unexpected rendering issues you should either enable the built-in HTML5 parser at runtime ( $dompdf->set_option(‘isHtml5ParserEnabled’, true); ) or run your HTML through a HTML validator/cleaner (such as Tidy or the W3C Markup Validation Service).
  • Table cells are not pageable, meaning a table row must fit on a single page.
  • Elements are rendered on the active page when they are parsed.

Источник

Dompdf – мощнейший PHP-класс для конвертирования HTML-документов в PDF-файлы

Не так давно передо мной встала задача – организовать экспорт HTML-данных в один из популярных графических файлов или же в PDF.

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

Поискав информацию в Интернете и испробовав уйму различных вариантов реализации похожего функционала, я обнаружил, что часть из них работают некорректно, а часть – попросту не работает с кириллицей (русским языком).

Это, конечно, меня не огорчило, и потратив еще немного времени (как говорится, кто ищет – тот всегда найдет), я нашел-таки тот инструмент, который помог мне решить поставленные задачи.

Это класс «Dompdf» для PHP. Что же он из себя представляет?

  1. Есть поддержка русского языка.
  2. Полностью бесплатен.
  3. Легок в использовании.
  4. Открытый исходный код.
  5. Поддержка HTML-разметки и CSS-стилей.
  6. Поддержка изображений.

Возможно, что-то забыл упомянуть, но согласитесь – звучит впечатляюще.

Так вот, именно этот класс помог мне превратить некий документ HTML в идентичный PDF. Именно тому, как им пользоваться, и будет посвящена эта статья.

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

Далее загружаете файлы к себе на сервер и осуществляете подключение скрипта в вашем PHP-файле:

 require_once("dompdf/dompdf_config.inc.php");
 $html =      

Привет, Мир!

HTML;

Здесь мы указываем документ непосредственно в теле скрипта, но также вы можете заменить всю строку, например, на:

 $html = file_get_contents("LINK");

Где «LINK» – ссылка на HTML-страницу, которую нужно конвертировать.

Ну и финальные штрихи – это добавить соответствующие теги класса:

 $dompdf = new DOMPDF(); // Создаем обьект $dompdf->load_html($html); // Загружаем в него наш HTML-код $dompdf->render(); // Конвертируем HTML в PDF $dompdf->stream("new_file.pdf"); // Выводим результат на скачивание

И общая картина получается такая:

       

Привет, Мир!

HTML; $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->render(); $dompdf->stream("new_file.pdf"); ?>

Если вы не хотите, чтобы при посещении скрипта происходило скачивание полученного PDF-файла, а хотите поместить данные в переменную для дальнейшего использования, то строку:

Еще один важный момент: если ссылки на изображения прописаны не относительные, а абсолютные (то есть не «/logo.png», а «https://your_site.com/logo.png»), то в таком случае откройте файл dompdf_config.inc.php в папке /dompdf/ и строку:

 def("DOMPDF_ENABLE_REMOTE", false);
 def("DOMPDF_ENABLE_REMOTE", true);

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

Источник

Читайте также:  Typescript object with objects
Оцените статью