CI 묻고 답하기

제목 tcpdf 라이브러리를 사용할 경우 바로 뷰를 호출해선 안되나요 ?
카테고리 CI 2, 3
글쓴이 람이 작성시각 2017/07/08 20:01:18
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 18508   RSS
$obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$obj_pdf->SetCreator(PDF_CREATOR);
$title = 'PDF Report';
//$obj_pdf->SetTitle($title);
//$obj_pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, $title, PDF_HEADER_STRING);
$obj_pdf->SetHeaderData("", "", "User Records", "Hello Admin");
$obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$obj_pdf->SetDefaultMonospacedFont('helvetica');
$obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$obj_pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$obj_pdf->SetFont('helvetica', '', 9);
$obj_pdf->setFontSubsetting(false);
$obj_pdf->AddPage();

ob_start();

$tbl = "<table class='table table-bordered' style='width:680px;'>";
$tbl .= "<tr>";
$tbl .= "<td><b style='font-size:18px'>".@$view[0]->hotel_ename."</b></font></td>";
$tbl .= "<td width='60%' align='right'>";
$tbl .= "<b style='font-size:18px'>".$company[0]->company_name."</b><div style='height:10px;'></div>";
$tbl .= "TEL : ".$company[0]->company_tel."<div style='height:5px;'></div>FAX : ".$company[0]->company_fax."<div style='height:5px;'></div>";
$tbl .= $company[0]->company_address."<div style='height:5px;'></div>";
$tbl .= $company[0]->company_address2;
$tbl .= "</td>";
$tbl .= "</tr>";
$tbl .= "</table>";
$tbl .= "<div style='height:5px;'></div>";

ob_end_clean();

$obj_pdf->writeHTML($tbl, true, false, true, false, '');

$obj_pdf->Output('output.pdf', 'I');
exit

 

 

이렇게 하면 

 

A PHP Error was encountered

Severity: Notice

Message: Undefined index: cols

Filename: tcpdf/tcpdf.php

Line Number: 16928

 

이런 에레외에도 그대로 사용할 수 없네요 ?

 

혹시  PDF를 생성할때 $this->load->view();를 사용하거나

view 페이지에서 위 소스처럼 에러 없이 이용할 수는 없나요 ?

태그 PDF,tcpdf
 다음글 ci에서 pdo 사용시 prepared statemen... (5)
 이전글 [자답] 세션데이터가 날라갑니다. 스샷 첨부 (3)

댓글

변종원(웅파) / 2017/07/09 00:55:35 / 추천 1

포럼에서 질문도 많이 하시고 좀 보셨을테니 첫번째 질문은 어떻게 해결하는지 아실 것 같은데요.

에러도 아니고 notice이고 메세지에 뭐가 문제인지 명시되어 있는데요.

ob_start()와 뷰의 로직이 충돌(?), 순서상 문제가 됩니다.

http://www.ciboard.co.kr/user_guide/kr/libraries/output.html 매뉴얼 참고해서 출력해보세요.

 

이 링크도 참고하시구요. https://github.com/bcit-ci/CodeIgniter/wiki/TCPDF-Integration

람이 / 2017/07/10 08:51:18 / 추천 0

변종원(웅파)님 감사합니다.

제가 활동하는걸 들킨건가요 ㅋㅋㅋㅋ

네, 첫번째는 말씀하신 것 처럼 할 수 있는데 두번째 질문처럼 하고 싶어서 구글링을 해 봐도 마땅한 해답이 아닌 듯 해서 혹시 여기에서 답이나 힌트를 찾을 수 있을까 해서 올려 봤습니다.

답변 주신 내용에 있는 컨텐츠를 살펴보고 공부해 보겠습니다.

감사합니다.