Приложение "Экспорт в PDF"

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску

Назначение

Приложение предназначено для организации экспорта объявлений в формат PDF-документа, которые, зачастую, более удобны при распространении и печати.
Приложение поддерживает создание собственных макетов документов, что позволяет определить свой уникальный стиль подачи материала
Создание макета может потребовать некоторых базовых знаний в области создания разметки HTML и использования стилей CSS, либо привлечения специалиста. Не сложные макеты могут быть сверстаны самостоятельно на основании базового.

Установка

  1. Распакуйте архих pdfreport.zip
  2. Скопируйте каталог pdfreport по ftp в каталог сайта /apps/
  3. Зайдите в админку в пункт Приложения - PDF Report (будет выполнена первичная инициализация приложения)
  4. Зайдите в настройки и в закладке PDF Report поставьте 1 в поле Включить PDF экспорт
  5. В шаблоне realty_view.tpl в удобном месте поставьте вот такую кнопку
{if $apps_pdfreport_enabled==1}
<div class="es">
    <a href="?format=pdf" class="btn">
        <i class="icon icon-print"></i> Печать
    </a>
</div>
{/if}


Если вы хотите сделать свой формат PDF документа, то вам нужно скопировать шаблон генерации документа

/apps/pdfreport/admin/template/realty_view.tpl

сюда

/template/frontend/ваша_тема/apps/pdfreport/realty_view.tpl


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

Использование шаблонов генерирования

При создании PDF используется следующий алгоритм использования шаблонов

1. Запуск создания PDF происходит по запросу адреса просмотра карточки объекта http://domain/realty385?format=pdf. Вместе с переменной запроса format может передаваться дополнительная переменная tpl, которая содержит имя конкретного шаблона для создания DPF-документа. Имя файла шаблона передается в виде имени файла без расширения.

2. Если переменная tpl не передана, то шаблоном будет считаться файл realty_view.tpl расположенный в

- папке /template/frontend/ваш_шаблон/apps/pdfreport/

- папке /apps/pdfreport/admin/template/

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

3. Если переменная tpl передана, то будет предпринята попытка найти файл с таким именем в

- папке /template/frontend/ваш_шаблон/apps/pdfreport/

- папке /apps/pdfreport/admin/template/

Если после этого файл не будет найден, то шаблоном будет назначен файл один из существующих файлов (тот, который будет найден первым)

- папке /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl

- папке /apps/pdfreport/admin/template/realty_view.tpl


Иными словами, вызываю генерирование DPF-документа вы гарантировано получите документ по шаблону /apps/pdfreport/admin/template/realty_view.tpl

Пример

Запросив http://domain/realty385?format=pdf вы получите сгенерированный документ на основании макета из /apps/pdfreport/admin/template/realty_view.tpl


Если у вы создадите в шаблоне файл /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl, то по этому же запросу вы получите документ на основании макета из /template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl


Запросив http://domain/realty385?format=pdf&tpl=my_pdf_layout будет отдан документ на основании макета

/template/frontend/ваш_шаблон/apps/pdfreport/my_pdf_layout.tpl

либо, если его нет,

/apps/pdfreport/admin/template/my_pdf_layout.tpl

либо, если его нет,

/template/frontend/ваш_шаблон/apps/pdfreport/realty_view.tpl

либо, если его нет,

/apps/pdfreport/admin/template/realty_view.tpl

Макеты

Макеты для генерации документов PDF должны иметь расширение tpl, могут иметь в названии латинские буквы, цифры и подчеркивания.

По сути, макет - это обычная законченная html-страница, которая должна включать все обязательные элементы разметки (html, head, body). Разметка должна быть валидной - все открытые теги, требующие закрываюего, должны быть закрыты.

Макет должен включать в себя ссылки на ВСЕ необходимые ему для построения таблицы стилей и библиотеки. Сылки могут быть абсолютными, либо относительными. Для относительных необходимо использовать переменную {$_core_folder} для правильного ссылания на корень сайта. Логика указания ссылок на таблицы стилей аналогична и для указания источников изображений

Шрифты

Приложение поддерживает следующие значения для font-family в стилях шаблона

arial (стоит отдавать предпочтение arialcyr)

arialcyr

verdana

sans-serif - не поддерживает кириллицу

times - не поддерживает кириллицу

times-roman - не поддерживает кириллицу

courier - не поддерживает кириллицу

helvetica - не поддерживает кириллицу

zapfdingbats - не поддерживает кириллицу

symbol - не поддерживает кириллицу

serif - не поддерживает кириллицу

monospace - не поддерживает кириллицу

fixed - не поддерживает кириллицу

dejavu sans (оптимальный без засечек)

dejavu sans mono

dejavu serif (оптимальный с засечками)

robotocondenced - поддержка данного шрифта не окончательна и может быть отменена

Опции листа на распечатку:

\apps\third\vendor\dompdf\dompdf\src\Options.php

Параметры к правке: private $defaultPaperSize = "a4";
private $defaultPaperOrientation = "landscape";

Список форматов листа:

\apps\pdfreport\lib\dompdf\include\cpdf_adapter.cls.php