/**
  * @param \TYPO3\CMS\Extbase\Mvc\Web\Response $response
  * @return \TYPO3\CMS\Extbase\Mvc\Web\Response
  * @throws FailedConversionException
  */
 public function convert($response)
 {
     $pathToPDFGenFile = $this->extensionConfiguration->get('pathToPDFGenFile');
     if ($pathToPDFGenFile) {
         list($return_value, $output, $error) = $this->runCommands($pathToPDFGenFile, $response->getContent());
         if ($return_value != 0) {
             error_log("EssentialDots\\ExtbaseHijax\\HTMLConverter\\PDFConverter error:\n{$error}");
             /* @var $failedConversionException \EssentialDots\ExtbaseHijax\HTMLConverter\FailedConversionException */
             $failedConversionException = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('EssentialDots\\ExtbaseHijax\\HTMLConverter\\FailedConversionException');
             $failedConversionException->setError($error);
             $failedConversionException->setInput($response);
             $failedConversionException->setOutput($output);
             $failedConversionException->setReturnValue($return_value);
             throw $failedConversionException;
         } else {
             $filename = $this->extractTitle($response->getContent());
             $response->setContent($output);
             $response->setHeader('Content-Type', 'application/pdf');
             if ($filename) {
                 $fileFunc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Utility\\File\\BasicFileUtility');
                 /* @var $fileFunc \TYPO3\CMS\Core\Utility\File\BasicFileUtility */
                 $filename = '; filename = "' . $fileFunc->cleanFileName($filename) . '.pdf"';
                 $response->setHeader('Content-Disposition', 'attachment' . $filename);
             } else {
                 $response->setHeader('Content-Disposition', 'inline');
             }
         }
     }
     return $response;
 }
Exemple #2
0
 /**
  * Render this form.
  *
  * @return null|string rendered form
  * @throws RenderingException
  * @api
  */
 public function render()
 {
     if ($this->isAfterLastPage()) {
         $this->invokeFinishers();
         return $this->response->getContent();
     }
     $this->formState->setLastDisplayedPageIndex($this->currentPage->getIndex());
     if ($this->formDefinition->getRendererClassName() === null) {
         throw new RenderingException(sprintf('The form definition "%s" does not have a rendererClassName set.', $this->formDefinition->getIdentifier()), 1326095912);
     }
     $rendererClassName = $this->formDefinition->getRendererClassName();
     $renderer = $this->objectManager->get($rendererClassName);
     if (!$renderer instanceof RendererInterface) {
         throw new RenderingException(sprintf('The renderer "%s" des not implement RendererInterface', $rendererClassName), 1326096024);
     }
     $controllerContext = $this->getControllerContext();
     $renderer->setControllerContext($controllerContext);
     $renderer->setFormRuntime($this);
     return $renderer->render($this);
 }