2015-08-13 1 views
0

У меня есть мой шаблон только в строке "<html>..</html>" , на которые был отправлен запрос;Как я могу передать string (html) в ViewModel вместо пути html-файла на zf2

Теперь я хочу генерировать PDF с помощью DOMpdf

$pdf = new PdfModel(); 
    $pdf->setOption('filename', 'monthly-report'); // Triggers PDF download, automatically appends ".pdf" 
    $pdf->setOption('paperSize', 'a4'); // Defaults to "8x11" 
    $pdf->setOption('paperOrientation', 'landscape'); // Defaults to "portrait" 

    // To set view variables 
    $pdf->setVariables(array(
     'message' => 'Hello' 
    )); 
    $pdf->setTemplate("path/to/something.html"); 

    return $pdf; 

вместо $pdf->setTemplate("path/to/something.html"), как я могу дать $ PDF (ViewModel) мой шаблон строки.

ответ

1

Похоже, что вам нужно реализовать свой собственный StringRenderer реализующий Zend/View/Renderer/RendererInterface, а также расширить DOMPDFModule/Mvc/Услуги/ViewPdfRendererFactory к используйте средство визуализации.

Это потому, что PdfRenderer жестко запрограммирован для использования рендеринга ViewManager по умолчанию, и в Zend нет StringRenderer.

+0

Возможно, используйте другой подход, скомпилируйте php в строку html на сервере, а затем перейдите к методу html загрузки domPdf. – cshion

0

Вместо возвращения модель представления можно вернуть ответ:

$string = "<h1>hello</h1>"; 
$response = $this->getResponse(); 
$response->setContent($string)->setStatusCode(200); 
$response->getHeaders()->addHeaderLine('Content-Type', 'text/html'); 
return $response; 
+0

спасибо, но это не то, что я хочу, мне нужно использовать ViewModel для генерации pdf. потому что моя строка (шаблон) поступает из запроса. – irvinstone

+0

В этом случае вам следует расширить свой вопрос. – taxicala

0

Вы можете использовать различные движки шаблонов, такие как усы или ветки, компилировать php, а затем передать метод loadHtml из DOMpdf.

+0

это тоже хорошая идея, даже если вы против времени, спасибо! – irvinstone

 Смежные вопросы

  • Нет связанных вопросов^_^