如何使用ajax和symfony在树枝分区中显示pdf?

fat*_*hra 2 pdf ajax symfony

我尝试在我的树枝中显示一个 pdf,我在控制器中创建了一个生成 pdf 的方法:

 public function invitationPDFAction(){

        $html = $this->renderView('InvitationInvitationBundle:invitation:indextest.html.twig');
       
        $html2pdf = new \Html2Pdf_Html2Pdf('P','A4','fr');
        $html2pdf->pdf->SetTitle('real');
       // $html2pdf->pdf->SetAuthor('Fz');
 
        $html2pdf->pdf->SetDisplayMode('real');
 
       $html2pdf->writeHTML($html);
        $html2pdf->Output('file.pdf');
     $response = new Response();
     $response->headers->set('Content-Type','application/pdf');
     return $response;

    }
Run Code Online (Sandbox Code Playgroud)

和返回视图内的 pdf 的 ajax 脚本:

$.ajax({
                                           type: 'get',
                                           url: "{{ path('invitation_invitationPDF')}}",
                                           beforeSend: function() {
                                              
                                           },
                                           success: function(data) {
                                             $(".page-content").append(data);
                                             $(".modal-body").hide();
                                           }
                                           });
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用,该方法生成了 pdf ,但我无法显示它,请看一下结果: 在此处输入图片说明

小智 5

您的代码通过 ajax 调用获取 PDF 的文件内容,然后该内容显示在您的.page-content.

为了实现你想要的,你应该嵌入 PDF 文件,这可以通过多种方式实现,最简单的可能是在你的文件中添加以下代码 .page-content

<embed src="{{ path('invitation_invitationPDF')}}" width="500" height="400" type='application/pdf'>
Run Code Online (Sandbox Code Playgroud)