генерация PDF на основе ресурсов

Добрый день, подскажите пожалуйста каким образмо можно сгенерировать pdf с помощью HTMLTOPDF чтобы в pdf можно было вывести картинки из тв или результат работы какого нибудь сниппета?
Сергей Скат
24 августа 2014, 18:44
modx.pro
1 545
0

Комментарии: 5

Сергей Скат
26 августа 2014, 23:31
0
help!
    Алексей Ерохин
    27 августа 2014, 00:04
    0
    Измените скрипт генерации pdf, чтобы он не просто брал контент, но и процессил его.
    $resource->process();
      Сергей Скат
      27 августа 2014, 00:46
      0
      спасибо, но не могли бы вы объяснить не много подробнее, вот код сниппета
      <?php
      $basePath = $modx->getOption('base_path');
      $corePath = $modx->getOption('core_path');
      $id = $resource->get('id');
      $tpl = $modx->getOption('pdfTpl', $scriptProperties, 'pdfTpl');
      $css = $modx->getOption('cssTpl', $scriptProperties, 'cssTpl');
      $createField = $modx->getOption('pdfTV', $scriptProperties, 'createPDF');
      $processTVs = $modx->getOption('processTVs', $scriptProperties, null);
      $siteurl = $modx->getOption('site_url');
      $params = array();
      $assetsPath = $modx->getOption('assets_path');
      
      $createPDF = $resource->getTVValue($createField);
      if($createPDF != '1') {
         @unlink($assetsPath.$id.'.pdf'); //remove file if it exists
         return false; //exit plugin
      }
      
      $params = $resource->toArray();
      
      $tvs = $modx->getCollection('modTemplateVar');
      foreach ($tvs as $tv) {
          $params[$tv->get('name')] = (empty($processTVs) ? $tv->getValue($id) : $tv->renderOutput($id));
          if($tv->get('name') == 'pdfTpl' && $tv->getValue($id) != '' ) {
              $tpl = $tv->getValue($id);
          }
      }
      
      $html = $modx->getChunk($tpl, $params);
      $css = $modx->getChunk($css, $params);
      unset($params);
      
      require_once($corePath.'components/htmltopdf/mpdf.php');
      
      $mpdf = new mPDF('utf-8', 'A4', '8', '', 10, 10, 7, 7, 10, 10);
      $mpdf->charset_in = 'utf-8';
      $stylesheet = $css;
      $mpdf->WriteHTML($stylesheet, 1);
      $mpdf->list_indent_first_level = 0; 
      $mpdf->WriteHTML($html, 2);
      $mpdf->Output($assetsPath.'pdf/'.$id.'.pdf', 'F');
      как и куда мне нужно добавить «процессирование»?
        Сергей Скат
        28 августа 2014, 00:12
        0
        help
      Сергей Скат
      28 августа 2014, 23:46
      0
      вопрос все еще не решен, помогите пожалуйста, на тему картинок начал ковырять тут mpdf1.com/manual/index.php в документации библиотеки которую использует сниппет, в ней написано что по идее библиотека и так должна обрабатывать изображения, но у меня выводится красный крестик =(
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5