2016-08-04 5 views
0

나는 html을 pdf로 인쇄하고 싶습니다. 프로젝트에서 템플릿을 렌더링하기 위해 심포니와 나뭇 가지를 사용합니다. HTML을 브라우저로 반환하면 브라우저가 좋아 보인다. 약 10 페이지입니다.dompdf - 단지 두 페이지를 pdf로 가져옴

하지만 PDF를 만들려고하면 두 페이지 만 생깁니다.

$html = $this->render('offer/print.html.twig', array('offer' => $Offer)); 

$options = new Options(); 
$options->setIsRemoteEnabled(false); 

// instantiate and use the dompdf class 
$dompdf = new Dompdf($options); 
$dompdf->setPaper('A4'); 

// Render the HTML as PDF 
$dompdf->loadHtml($html); 
$dompdf->render(); 
$dompdf->stream(); 

PHP 7 심포니 3.0.9 DOMPDF 0.7.0

그것은 브라우저에서 HTML처럼 보이는하지 않습니다. 나중에 CSS를 디버깅해야합니다. 누구나 내가 왜 그냥 PDF로 두 페이지를 가져올 지 말해 줄 수 있습니까?

+0

왜 출력 버퍼가 필요합니까? 렌더 호출이 렌더링 된 데이터를 $ html로 반환하면 $ html을 반향하는 버퍼링이 필요 없으므로 $ 출력으로 캡처 할 수 있습니다. 왜'$ output = $ this-> render ...'대신에? –

+0

@MarcB 나는 이것을 시도했다. 및 $ dompdf-> loadHtml ($ this-> render()); – kristof

+0

적절한 HTML 출력 및 CSS가 없으면 dompdf가 처리 할 피타가 될 수 있습니다. CSS에서 올바른 치수를 설정했는지 확인하십시오. – DarkBee

답변

0

흥미로운 점은 문제가 render() 기능인 것 같습니다. 내가 대신 renderView()을 사용하면 여러 페이지에 출력됩니다.

render()도 HTTP 헤더를 반환합니다. 이런 이유로 나는 첫번째 측에 우두머리 정보 및 두번째에 모든 내용을 가진 부서지는 pdf를 얻었다.

은 그냥 CSS가 작동하지 않습니다 그러나 이것은 또 다른 문제 :

0

당신이 파일을 나뭇 가지에 업로드하십시오입니다. 나는 당신과 관련된 이슈가 CSS라고 생각합니다.