0

私はPDFファイルを生成し、その後別のサイトにリダイレクトする必要があるコントローラーを持っています。

class DocuController extends Controller
{
    public function indexAction() {
          // some other code
            if ($request->get('_add_document'))
            {
                $form->bindRequest($request);
                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($document);      
                $em->flush();   
                if ($session->get('journey_id')!=false)
                {
                    $relation = new DocumentJourneyInJourney();
                    $relation->setJourney($session->get('journey_id'));
                    $relation->setDocument($document->getId());
                    $em->persist($relation);
                    $em->flush();
                }
                $pdf=$this->generatePDF($form);   
                $pdf->Output('file.pdf', 'I');

                return $this->redirect($this->generateUrl('another_site'));
            }
    }        
    return $this->render('Bundle:Page:document.html.twig'); 
}

public function generatePDF($form)
{
    $pdf = $this->get("wrep.tcpdf")->create();
    $pdf->SetTitle('Tittle');        
    $pdf->SetHeaderData('', 0, '  ', '  ', array(0,0,0), array(0,0,0)); 
    $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $pdf->SetPrintFooter(false);  
    $pdf->SetAutoPageBreak(TRUE);         
    $pdf->AddPage();
    $html = $this->renderView('Bundle:document.twig',
                    array(
                    'traveller' => $form["name"]->getData().' '.$form["surname"]->getData(),
                    'document' => $form["full_name"]->getData()
                    )
                );  
    $pdf->writeHTML($html, $ln=false, $fill=false, $reseth=false, $cell=false, $align='');
    return $pdf;
}
}

しかし、このコードを使用すると、PDFが生成され、ブラウザがそれをダウンロードしますが、ページはリダイレクトされません。

4

2 に答える 2

1

それは可能ではありません。あなたはそれをするためにjavascriptを使うことを試みることができるだけです。そこにiframeロードを作成してpdfダウンロードURLを作成し、javascriptを使用してpdfでiframeを呼び出した後にユーザーをリダイレクトします。(それが実際に機能するかどうかはわかりません)もう1つの質問は、なぜユーザーをリダイレクトする必要があるのか​​ということです。

于 2013-01-03T19:55:33.500 に答える
0

それは正常です。ファイルをダウンロードしたときに応答が送信されました。リダイレクト応答を送信するのも同様です。

于 2013-01-03T19:38:02.090 に答える