TCPDF: корректная интеграция (13.04.2011). Печать
2011 - Апрель
13.04.2011 09:54
Save & Share

TCPDF - слияние двух слов: TCP и PDF. TCPDF - это программа (скрипт), написанная на PHP, для преобразования html-материалов в PDF-формат непосредственно в браузере ("на лету").

 

 

Как я понял, TCPDF способна интегрироваться в любые блоги, включая Joomla и WordPress.

Как я узнал об ее существовании: оказалось, что в сборке Joomla v.1.5 данный компонент дает сбой, и в результате этого у меня сайт падал каждый день в 14-40.

В связи с этим выкладываю инструкцию корректной установки TCPDF куда-либо. Просто распаковать архив и перенести на сайт не получится.
- определяем местонахождение старой версии TCPDF; я пользовался поиском в Total Commander по всему домену. В Joomla этот путь таков: www/libraries/tcpdf/;
- определяем местонахождение шрифтов для формирования PDF-документа. В Joomla этот путь таков: www/language/pdf_fonts/;
- конечно же, делаем резервные копии этих папок;
- в новом TCPDF нам совершенное не требуются папки вроде docs, examples, tools, utils. Эти папки содержат в себе документацию, примеры скриптов, утилиты для перекодирования windows-шрифтов в TCPDF-шрифты, если вы хотите добавить новые;
- содержимое папки fonts копируем в местонахождение шрифтов для формирования PDF-документа;
- остальные папки и файлы копируем в местонахождение старой версии TCPDF;
- обязательно установить права 777 на папки cache, images;
- очищаем кеш браузера и проверяем результат.

Если у вас возникают проблемы с отображением текста (выходят сплошные знаки вопроса) - то идем на хитрость:
- удаляем все шрифты из местонахождения шрифтов для формирования PDF-документа;
- берем шрифт freesans (практически каждый шрифт представляет 3 файла: php, z, cfg.z), копируем в местонахождения шрифтов для формирования PDF-документа;
- переименовываем его в helvetica - шрифт, который использует TCPDF по умолчанию;
- копируем снова шрифт freesans.
В моем случае получилось так, что кроме этих двух шрифтов мне никакие не потребовались; я поэтому и удалил остальные.

Обновлено ( 13.05.2022 17:50 )