HTML을 템플릿보기에 배치하는 동안 TCPDF를 사용하여 PDF를 생성 할 수 있습니까?
예 :
이details.html.pdf :
%의 PDF-1.7 %
<?php $html = ' //all the stuff i want to appear on the pdf '; $filename = $emailReport['subject']; //Outputs 'Email Report From Database' in output $pdf->writeHTMLCell($w = 250, $h = 200, $x = '', $y = '', $html, $border = 0, '', $fill = 0, $reseth = true, $align = 'center', $autopadding = true); $pdf->Output($filename,'I'); }
DefaultController.php
public function printAction() { return $this->delegateView( [ 'viewParameters' => [ 'pdf' => $pdf ], 'contentTemplate' => 'PrintoutBundle:Default:pdf.html.php', 'passthroughVars' => [ 'activeLink' => '#printout_email', 'mauticContent' => 'email', 'route' => $this->generateUrl('printout_email'), ], ] ); }
나를 준다 7 0 obj < </Typ 리소스 2 0 R/미디어 박스 [0.000000 0.000000 595.276000 841.890000]/CropBox [0.000000 0.000000 595.276000 841.890000]/BleedBox [0.000000 0.000000 595.276000 841.890000]// 페이지/부모 1 0 R/LastModified (D : 20161121165447-06'00 ' TrimBox [0.000000 0.000000 595.276000 841.890000]/ArtBox [0.000000 595.276000 841.890000]/내용 8 0 R/회전 0/그룹 < </유형/그룹/S/투명/CS/DeviceRGB >>/PZ 1 >> endobj 8 0 obj <> 스트림 x S 6 W ݴݴ, , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ! l < G , v 7 dk ] S ( ~ vN + Sf 3 : G ? c b / s C w (x ~ p o Y l = PBU Q rr @ ֪ w + | ? A nfW // 더 많은 수의 행에 대한 자세한 내용 j W 6m ֭ [/^LwY : fp A \ vmpp v16 Q0 Bl5 T A & =`F XX ^! c LK ( KKKKK/ProcSet [/ PDF/Text/ImageB/ImageC/ImageI]/글꼴 < </F1 3 0 R/F2 4 0 R/F3 5 0 R >>/XObject/I0 13 0 R/I1 14 0 R/I2 15 0 R/I3 16 0 R >> >> endobj 6 0 obj <>/H/I >> endobj 17 0 obj < </제목 2016 년 11 월 21 일)/제목 (데이터베이스에서 보낸 전자 메일 제목)/제작자 ( TCPDF 6.2.12 (tcpdf.org))/CreationDate (D : 20161121165447-06'00 ')/ModDate D : 20161121165447-06'00 ')/Trapped/False >> endobj 18 0 obj < </유형/메타 데이터/하위 유형/XML/길이 4307 >> 스트림 응용 프로그램/pdf 생성 됨 2016 년 11 월 21 일 이메일 제목 데이터베이스의 주제 2016- 11-21T16 : 54 : 47-06 : 00 2016-11-21T16 : 54 : 47-06 : 00 2016-11-21T16 : 54 : 47-06 : 00 TCPDF 6.2.12 (tcpdf.org) uuid : 4945196b- d05c-76e8-8a79-e9009fcad893 uuid : 4945196b-d05c-76e8-8a79-e9009fcad893 ns.adobe.com/pdf/1.3/pdf Adobe PDF 스키마 ns.adobe.com/xap/1.0/mm/ xmpMM XMP 미디어 관리 스키마 내부 문서의 특정 화신에 대한 UUID 기반 식별자 InstanceID URI www.aiim.org/pdfa/ns/id/pdfaid PDF/A ID 스키마 내부 PDF/A 표준 부품의 일부 내부 정수 내부 PDF/표준 수정 amd 텍스트 내부 적합성 레벨 PDF/A 표준 준수 텍스트 엔드 스트림 endobj 19 0 obj < </유형/카탈로그/버전/1.7/페이지 1 0 R/이름 < < >>/ViewerPreferences < </Direction/L2R >>/PageLayout/SinglePage/PageMode/UseNone/OpenAction [7 0 R/FitH null]/메타 데이터 18 0 R >> endobj xref 0 20 0000000000 65535 f 0000006237 00000 n 0000035774 00000 n 0000035774 00000 n 0000006309 00000 n 0000006526 00000 n 0000035942 00000 n 0000000465 00000 n 0000003474 00000 n 0000003925 00000 n 0000004460 00000 n 0000004930 00000 n 0000006640 00000 n 0000006938 00000 n 0000014933 00000 n 0000023217 00000 00000 N N 0000036214 0000036602 0000040992 00000 00000 N N 트레일러 < </사이즈 20/루트 19 0 R/정보 17 0 R/ID [< 4945196bd05c76e88a79e9009fcad893> < 4945196bd05c76e88a79e9009fcad893>] >> startxref 41,201 %% EOF
그러나 컨트롤러에 내 코드를 모두 넣고 템플릿 파일을 사용하지 않고 건너 뛰면 완벽하게로드됩니다.
$ this-> delegateView()는 내 컨트롤러에서 템플릿으로 데이터를 보냅니다. 는 (나는 또한 아무 소용이 $ html로 = $ this-> delegateView (..) 만들기 시도했습니다.)
편집과 같이 컨트롤러 : PDF를 생성하는 시도에
return $pdf->writeHTMLCell($this->delegateView(
[ 'Content-Type' => 'application/pdf',
'Content-Disposition' => sprintf('attachment; filename="%s"', $filename), //$pdf->Output($filename,'I'),
'viewParameters' => [
'pdf' => $pdf,
'objectId' => $objectId
//more stuff sent to the template
]
]
));
(콘텐트가 컨트롤러에서 템플릿으로 이동하는 동안) PDF가 작성되지 않습니다. TCPDF 서비스를 잘못 포장하고 있다고 생각하지만 올바르게 처리하는 방법을 알 수 없습니다.
** 1 ** - 나는'details.html.php'을 의미한다고 생각합니다. ** 2 ** -'Output' 명령은 첫 번째 인수로 pdf 확장자를 취합니다. '$ filename'은 PDF입니까? –
예 $ filename은 제목을 가져와 .pdf 확장자로 다시 작성합니다. – billblast
마지막 예제에서 작성한 'writeHTMLCell' 메소드에 잘못된 인수가 전달되었습니다. 첫 번째 예제에 초점을 맞 춥니 다. 출력 명령 전에'ob_clean()'을 실행하려 했습니까? –