php export to pdf

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Generating PDF files with PHP and FPDF

Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.

PHP позволяет нам генерировать файлы в формате pdf налету. FPDF — это бесплатный код на языке php, позволяющий создавать документы в формате pdf и производить с ними различные манипуляции.

PDFlib
PHP API содержит большое количество функций для работы с PDF, реализованных на базе PDFlib. Несмотря на это, данная библиотека не является бесплатной для коммерческого использования. Бесплатная версия называется PDFlib Lite и бесплатная для персонального использования, однако она ограничена в функциональности. Для того чтобы использовать полную библиотеку PDFlib необходимо купить лицензию.

Почему FPDF?
Альтернатива — это использование FPDF, бесплатный класс содержащий большое количество функций для создания и манипулирования PDF-документами. Ключевое слово для данного момента — это ее бесплатность. Вы можете скачать, использовать и модифицировать данный класс как вам заблагорассудится. В дополнение к бесплатности, эта библиотека намного проще, чем PDFlib. Для использования PDFlib необходимо установить ее как расширение к PHP, в то время как FPDF может быть подключена в программу напрямую.

Создание документов PDF
Для того чтобы начать, необходимо скачать код FPDF с сайта FPDF Web site и включить в программу. Например, вот так

$pdf->SetAuthor(‘Lana Kovacevic’);
$pdf->SetTitle(‘FPDF tutorial’);

В функцию AddPage () можно передать параметры «P» или «L» для указания ориентации страницы. Функция SetDisplayMode определяет как будет отображена страница. Вы можете определить параметры увеличения и разметки. В примере мы используем 100% увеличение и разметку по умолчанию, определенную в программе, используемой для просмотра.

Сейчас, когда у нас есть страница, давайте вставим в нее изображение для того чтобы сделать страницу приятней, также мы добавим ссылку. Мы отобразим логотип FPDF используя функцию Image и передадим в нее следующие параметры — название файла, размерность и адрес.

$pdf->SetXY(10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,’Congratulations! You have generated a PDF. ‘);

Здесь мы указали имя файла и параметры вывода, в данном случае «I». «I»-параметр выведет результат в браузер.

require(‘fpdf.php’);
//create a FPDF object
$pdf=new FPDF();
//set document properties
$pdf->SetAuthor(‘Lana Kovacevic’);
$pdf->SetTitle(‘FPDF tutorial’);
//set font for the entire document
$pdf->SetFont(‘Helvetica’,’B’,20);
$pdf->SetTextColor(50,60,100);
//set up a page
$pdf->AddPage(‘P’);
$pdf->SetDisplayMode(real,’default’);
//insert an image and make it a link
$pdf->Image(‘logo.png’,10,20,33,0,’ ‘,’http://www.fpdf.org/’);
//display the title with a border around it
$pdf->SetXY(50,20);
$pdf->SetDrawColor(50,60,100);
$pdf->Cell(100,10,’FPDF Tutorial’,1,0,’C’,0);
//Set x and y position for the main text, reduce font size and write content
$pdf->SetXY (10,50);
$pdf->SetFontSize(10);
$pdf->Write(5,’Congratulations! You have generated a PDF.’);
//Output the document
$pdf->Output(‘example1.pdf’,’I’);

Сейчас когда мы научились создавать документы, посмотрим что еще можно сделать, используя FPDF. Пример ниже показывает нам как создать верх и низ (хедер и футер 🙂 ) нашего документа.

require(‘fpdf.php’);
class PDF extends FPDF
<
function Header()
<
$this->Image(‘logo.png’,10,8,33);
$this->SetFont(‘Helvetica’,’B’,15);
$this->SetXY(50, 10);
$this->Cell(0,10,’This is a header’,1,0,’C’);
>
function Footer()
<
$this->SetXY(100,-15);
$this->SetFont(‘Helvetica’,’I’,10);
$this->Write (5, ‘This is a footer’);
>
>
$pdf=new PDF();
$pdf->AddPage();
$pdf->Output(‘example2.pdf’,’D’);

Как вы видите мы создали дочерний класс, используя наследование и создания функций Header и Footer. Затем мы создали новый объект и добавили страницу в документ. Функция AddPage автоматически вызовет функции Header и Footer. В конце мы вывели полученную информацию в файл с названием example2.pdf, используя значение «D». В этом случае браузер предложит сохранить данный файл.

Итак, мы изучили основы создания PDF-документов, для более подробной информации используйте FPDF Web site.

Источник

How to convert a PHP web page to PDF? [closed]

Want to improve this question? Update the question so it’s on-topic for Stack Overflow.

I have a PHP file that generates a report from the database, and I want this page to be converted into a PDF file, so it can be saved and printed. How do I convert a web page to a PDF? Is there any tool available or a PHP script?

6 Answers 6

Make use of TCPDF Plugin.

Here’s an example and try this after configuring the above on your code.

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

I used pretty often:

Made so far a good job, there are a few bugs but else it does very well.

With TCPDF I had the most problems, since it seems that it doesn’t support the convertation from HTML to PDF that well.

You can use MPDF, a PHP library which generates PDF files from UTF-8 encoded HTML. It’s under GNU GPL v2 licence.

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

If you want generate PDF client-side (with a button on the html report), you could use jsPDF (http://parall.ax/products/jspdf)

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

You can use wkhtmltopdf or tcpdf scripts to convert html pages to pdf

DomPDF looks like what you’re looking for.

dompdf is an HTML to PDF converter. At its heart, dompdf is (mostly) 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.

Источник

Из html в pdf. Посоветуйте хорошую библиотеку для php

Есть задача:
Текст, набираемый в визивиге в браузере, сохранять и конвертировать в pdf — чтобы потом было удобно распечатать этот текст на нестандартном формате бумаги.

Подскажите, кто с какими библиотеками работал, есть у кого-нибудь положительный опыт?

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

недавно пришлось челое исследование на эту тему делать.

html2pdf
самый функциональный, но скорость генерации «сложной страницы» — 30с, размер файла 1мБ

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

mfpdf — самый оптимальный — время 4с, размер 100кб, поддержка UTF-8, но не поддерживает некторые теги и css-свойства.

я остановился на последнем

P.S. — для каждой из библиотек приходилось немного подстраивать исходник html для корректного отображения

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

php export to pdf. Смотреть фото php export to pdf. Смотреть картинку php export to pdf. Картинка про php export to pdf. Фото php export to pdf

Плюсы подхода: настоящий рендер. Использовал html2pdf, но он пытается рисовать HTML сам через reportlab’овскую либу (вроде pypdf тоже умеет). В итоге графических глюков очень много, потрепало не мало нервов дизайнеру.

Впрочем если верстка очень простая, то собственные рендеры пойдут. Но тогда вы не застрахованы от глюков рендера в самый неподходящий момент.

Источник

Hello world!

This will output the PDF inline to the browser as application/pdf Content-type.

Warning: mPDF will clean up old temporary files in the temporary directory. Choose a path dedicated to mPDF only.

By default, the temporary directory will be inside vendor directory and will have write permissions from post_install composer script.

For more information about custom temporary directory see the note on Folder for temporary files in the section on Installation & Setup in the manual.

If you have problems, please read the section on troubleshooting in the manual.

About CSS support and development state

mPDF as a whole is a quite dated software. Nowadays, better alternatives are available, albeit not written in PHP.

Use mPDF if you cannot use non-PHP approach to generate PDF files or if you want to leverage some of the benefits of mPDF over browser approach – color handling, pre-print, barcodes support, headers and footers, page numbering, TOCs, etc. But beware that a HTML/CSS template tailored for mPDF might be necessary.

If you are looking for state of the art CSS support, mirroring existing HTML pages to PDF, use headless Chrome.

mPDF will still be updated to enhance some internal capabilities and to support newer versions of PHP, but better and/or newer CSS support will most likely not be implemented.

Online manual is available at https://mpdf.github.io/.

For general questions or troubleshooting please use Discussions.

You can also use the mpdf tag at Stack Overflow as the StackOverflow user base is more likely to answer you in a timely manner.

Before submitting issues and pull requests please read the CONTRIBUTING.md file.

Unit testing for mPDF is done using PHPUnit.

To get started, run composer install from the command line while in the mPDF root directory (you’ll need composer installed first).

To execute tests, run composer test from the command line while in the mPDF root directory.

Any assistance writing unit tests for mPDF is greatly appreciated. If you’d like to help, please note that any PHP file located in the /tests/ directory will be autoloaded when unit testing.

About

PHP library generating PDF files from UTF-8 encoded HTML

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *