Для чего это нужно?
Ну например для генерации pdf отчетов в интернет магазине, или для выдачи электронных билетов на концерты. Вобщем то с помощью этой утилиты можно создать офлайн версию маленького сайта в формате pdf.
Моя задача была связана с электронными билетами, поэтому поискал уже готовые решения для генерации pdf из html. Первое что я нашел был модуль «HTML2PDF» – отличное название, следовательно и работать должно соответственно)
Скачал (на оффициальном сайте
html2pdf)
Скопировал в папку с сайтом, посмотрел в папке examples готовые примеры. Очень понравился функционал, можно нарисовать все что захочешь, есть функции генерирующие barcode.
Попробовал применить:
$html2pdf = new HTML2PDF('L','A4','en', true, 'UTF-8', 0);
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->writeHTML($content);
//$content - страница html из которой хотим получить pdf
$html2pdf->Output('billet.pdf');
Увидел вместо русских букв одни вопросики, начал разбираться в чем проблема, оказывается шрифт helvetica (он стоит по умолчанию) немного не допилен. Поменял в стилях html шрифт на freesans и все отлично заработало – красивые шрифты и картинки вставляются. Библиотека на хорошем уровне воспринимает стили.
Потом были еще небольшие эксперименты со шрифтами, пробовал переделывать свои шрифты через онлайн сервис
http://fpdf.fruit-lab.de, ни к чему хорошему это не привело как ни старался.. межсимвольные интервалы сходили с ума, шрифты получались очень некрасивыми. А из-за того что нельзя коневртировать в utf8 приходилось в cp1251, ну и соответственно баловаться в php с кодировками.
$content=iconv("UTF-8","CP1251", $content);
Вобщем так и остался на моем билетике шрифт freesans…