2013-01-03 3 views
0

pdf 파일을 생성해야하는 컨트롤러가 있고 다른 사이트로 리디렉션해야하는 컨트롤러가 있습니다. Symfony2가 tcpdf를 사용하여 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로 생성되는 코드와 브라우저

그것을 다운로드하지만 페이지가 리디렉션되지 않습니다.

답변

1

그건 불가능합니다. 당신은 할 수있는 유일한 자바 스크립트를 사용하십시오. iframe로드 거기에 PDF 다운로드 URL을 작성하고 자바 스크립트와 함께 PDF로 iframe을 호출 한 후 사용자를 리디렉션. (나는 정말로 작동하는지 모르겠다.) 다른 질문은 왜 사용자를 리디렉션해야합니까?

+0

이 컨트롤러가있는 사이트에서 양식 및 버튼 'pdf 생성'버튼을 누르면 pdf 파일을 생성하고 파일을 다운로드 한 다음 예를 들어 홈 페이지로 리디렉션하게합니다. – paciks

+0

사용자를 홈페이지로 리디렉션하십시오. 홈페이지에서 자바 스크립트를 추가하여 사용자를 pdf로 리디렉션하십시오. 사용자가 아직 홈페이지에 머무르는 동안 PDF 다운로드가 시작됩니다. – fkrauthan

0

그건 정상입니다. 파일을 다운로드 할 때 응답이 전송되었습니다. 리디렉션 응답을 보낼 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 문제를 해결하는 방법을 알려주실 수 있습니까? pdf 다운로드 후 리디렉션을 수행하기 위해해야 ​​할 일은 무엇입니까? – paciks

+0

pdf에서 리디렉션 할 수 없으므로 제안이 없습니다. 당신이있는 페이지에 머 무르지 않으시겠습니까? – greg0ire

+0

몇 가지 해결책이있을 것이라고 생각했지만 다른 옵션은 없다고 생각합니다. 도와 주셔서 감사합니다. – paciks

관련 문제