PHP

Генерация pdf из html

Для чего это нужно?
Ну например для генерации 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…
Теги:
pdf, HTML2PDF, barcode
Добавлено: 13 Сентября 2013 10:37:53 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...