【问题标题】:Symfony 2 + dompdfSymfony 2 + dompdf
【发布时间】:2016-01-11 11:11:17
【问题描述】:

我目前无法让 dompdf 正常工作。如果我包含 dompdf 流,它似乎不会做任何事情。有人可以建议/告诉我如何保存pdf。

public function indexAction()
{
    $formData = new LimitedDirectApplication();
    $flow = $this->get('shapehq.form.flow.limitedDirectApplication');
    $flow->bind($formData);
    $form = $flow->createForm();
    if ($flow->isValid($form)) {
        $flow->saveCurrentStepData($form);
        if ($flow->nextStep()) {
            // form for the next step
            $form = $flow->createForm();
        } else {
            // flow finished
            $em = $this->getDoctrine()->getManager();
            $this->pdfAction($formData);
            //var_dump($formData);die();

            $em->persist($formData);
            $em->flush();
            $flow->reset(); // remove step data from the session
            $this->sendSuccessEmail($formData);
            return $this->redirect($this->generateUrl('shape_hq_greyfriars_sipp_homepage')); // redirect when done
        }
    }
    return $this->render('ShapeHQGreyfriarsSippBundle:Application:directLimitedApplication.html.twig', array(
        'form' => $form->createView(),
        'flow' => $flow,
    ));
}

public function pdfAction($formData)
{

    require_once('/var/www/src/backend/app/config/dompdf_config.inc.php');

    $html = $this->renderView(
        'ShapeHQGreyfriarsSippBundle:Application:DirectApplicationPDF.html.twig',
        array('data' => $formData)
    );

    $dompdf = new \DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();


    //check whether there is a output folder
    return new Response($dompdf->output(), 200, array(
        'Content-Type' => 'application /pdf'

    ));


}

}

我正在像这样呈现我的表单数据。

<p><strong>Personal Details</strong></p>
<p>Firstname: {{ data.firstname }}</p>
<p>Middle Name: {{ data.middlename }}</p>
<p>Surname: {{ data.lastname }}</p>
<p>Nationality: {{ data.nationality }}</p>
<p>DOB: {{ data.dateOfBirth | date }}</p>
<p>National Insurance Number: {{ data.nationalInsuranceNumber }}</p>
<p>Preferred retirement age: {{ data.preferredRetirementAge }}</p>

string '<h1>DIRECT</h1>
<p><strong>Personal Details</strong></p> 
<p>Firstname: sham</p>
<p>Middle Name: </p>
<p>Surname: test</p>
<p>Nationality: British</p>
<p>DOB: January 10, 1985 00:00</p>
<p>National Insurance Number: QQ 12 34 56 A</p>
<p>Preferred retirement age: 65</p>
'

【问题讨论】:

  • 对您的问题没有任何想法,但在您的代码示例中,您在内容类型中有一个额外的空间。也许只是问题中的一个错字,但如果不是这可能会导致浏览器呈现问题。

标签: dompdf


【解决方案1】:

render()之后试试这个

$dompdf->stream( $pdfname );

【讨论】:

    猜你喜欢
    • 2012-09-12
    • 2013-02-24
    • 2020-02-03
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2020-02-12
    • 2015-03-14
    • 2015-02-08
    相关资源
    最近更新 更多