Эта статья описывает экспорт в dhtmlxScheduler версии 4.0 и более ранних. Для версий 4.1 и выше смотрите подробности здесь.
Начиная с версии 4.1, dhtmlxScheduler внедрил новый способ экспорта расписания в PDF — онлайн сервис экспорта.
Доступны пакеты для различных платформ:
Related sample: Export to PDF [Legacy]
Чтобы включить экспорт в PDF на странице расписания, активируйте соответствующее расширение:
scheduler.plugins({
pdf: true
});
Для экспорта данных расписания в PDF добавьте кнопку, которая вызывает метод toPDF(). Этот метод требует URL ранее установленного скрипта:
<input type="button" name="save" value="save"
onclick="scheduler.toPDF('path/to/folder/generate.php')"
style="right:300px; width:80px; position:absolute; top:1px;">
Настройка параметров экспорта требует изменений как на клиентской, так и на серверной стороне.
Метод toPDF() активирует процесс экспорта:
scheduler.toPDF(path, color, header, footer);
Параметры:
Например, добавление этой строки на HTML-страницу вызовет toPDF() с серой цветовой схемой:
scheduler.toPDF('path/to/folder/generate.php','gray');
Файл generate.php (указан выше) обрабатывает параметры экспорта.
Минимальный пример выглядит так:
$scPDF = new schedulerPDF();
$scPDF->printScheduler($xml);
Перед вызовом printScheduler() можно применить различные пользовательские настройки:
Размеры элементов:
// высота заголовка дня в месячном представлении
$scPDF->monthDayHeaderHeight = 6;
// высота заголовка месяца
$scPDF->monthHeaderHeight = 8;
// высота контейнера с названием месяца в годовом представлении
$scPDF->yearMonthHeaderHeight = 8;
// высота строки в представлении agenda
$scPDF->agendaRowHeight = 6;
// высота заголовка в дневном и недельном представлениях
$scPDF->dayTopHeight = 6;
// ширина левой шкалы в дневном и недельном представлениях
$scPDF->dayLeftWidth = 16;
Размер шрифта:
// настройки размера шрифта
$scPDF->monthHeaderFontSize = 9;
$scPDF->monthDayHeaderFontSize = 8;
$scPDF->monthEventFontSize = 7;
$scPDF->yearHeaderFontSize = 8;
$scPDF->yearFontSize = 8;
$scPDF->agendaFontSize = 8;
$scPDF->dayHeaderFontSize = 7;
$scPDF->dayScaleFontSize = 8;
$scPDF->dayEventHeaderFontSize = 7;
$scPDF->dayEventBodyFontSize = 7;
$scPDF->todayFontSize = 11;
Пользовательские цвета (используйте 'custom' как имя цветовой карты на клиенте):
$scPDF->lineColor = '586A7E';
$scPDF->bgColor = 'C2D5FC';
$scPDF->dayHeaderColor = 'EBEFF4';
$scPDF->dayBodyColor = 'FFFFFF';
$scPDF->dayHeaderColorInactive = 'E2E3E6';
$scPDF->dayBodyColorInactive = 'ECECEC';
$scPDF->headerTextColor = '2F3A48';
$scPDF->textColor = '2F3A48';
$scPDF->eventTextColor = '887A2E';
$scPDF->eventBorderColor = 'B7A543';
$scPDF->eventColor = 'FFE763';
$scPDF->todayTextColor = '000000';
$scPDF->scaleColorOne = 'FCFEFC';
$scPDF->scaleColorTwo = 'DCE6F4';
$scPDF->yearDayColor = 'EBEFF4';
$scPDF->yearDayColorInactive = 'd6d6d6';
Шапки и подвал:
// высота шапки
$scPDF->headerImgHeight = 40;
// высота подвала
$scPDF->footerImgHeight = 40;
// путь к изображению шапки
$scPDF->headerImg = './header.png';
// путь к изображению подвала
$scPDF->footerImg = './footer.png';
Пользовательские шапки и подвал можно добавить на каждую страницу следующим образом:
scheduler.toPDF(url, "color", true, true);
Это добавит "header.png" и "footer.png" как шапку и подвал на каждой странице сгенерированного PDF.
Если генерация PDF завершилась неудачей, будет создан файл с именем "error_report_xxxx.xml". Пожалуйста, приложите этот файл при сообщении об ошибках.
Если вывод не завершился ошибкой, но есть проблемы, можно включить режим отладки в generate.php, изменив:
$debug = false;
на
$debug = true;
Это создаст файл "debug_xxxxx.xml", который также следует приложить к сообщению об ошибке.
Наверх