TIP게시판

제목 mPDF사용방법
글쓴이 헛발이 작성시각 2010/03/03 16:54:25
댓글 : 15 추천 : 1 스크랩 : 0 조회수 : 26904   RSS

※이 팁은 mPDF가 버젼업이 되어 일본어가 표시되지 않음..
새 TIP을 작성해 놨으니 참조 하시기 바랍니다.
(2012.11.19)

새팁보기
http://www.cikorea.net/tip/view/966/page/1


------------------------------------------------------------------------------------------------------------------------------------------

포토샵을 등에 지고 ci를 하고 있는 허접한 헛발이입니다.. 귀엽게 봐주세요...
좀더 편하게 PDF를 만들수 없을까 고민 하다가 codeigniter 포럼에서 찾아 사용설명을 합니다.
(좀더 좋은거 있으면 알려 주시구요.. 혹시 이거 무료로 사용하는거 아니면 알려 주세요~)

1. 다운로드 http://mpdf1.com/repos/download.php?file=MPDF43
: 일단 위의 링크로 mPDF소스파일을 다운 받습니다. 사용기준은 현재 2010년 2월을 기준으로 mPDF v4.3이므로 좀더 버전업이 되면 http://mpdf.bpm1.com/download 여기에 가셔서 다운 받으시면 됩니다.

2. 압축풀기
: 일단 zip으로 다운 받게 되는데요.. 이걸 적당한 장소에 압축을 풉니다..

3. 라이브러리에 옮기기
:압축들 푼 것을 디랙토리명을 MPDF43에서 mpdf로 디랙토리 이름을 변경합니다.
그리고 전체 소스를 ci의 application에 있는 libraries로 모두 옮깁니다.. 결과는 다음과 같습니다.

+libraries
  +mpdf

4. mpdf.php파일 복사 하기
그 다음에 libraries/mpdf에 옮긴 폴더를 보시면 mpdf.php파일이 있습니다.. 이것을 libraries디랙토리에 복사합니다.

5. mpdf.php 내용 수정하기
mPDF의 경로를 수정해 줘야 하거든요.. mpdf.php 를 에디터로 열어 보시면 32행에 경로를 수정하시면 됩니다.
위와 같이 라이브러리에 넣으셨다면 아래와 같이 수정하시면 됩니다.

//원래 경로
if (!defined('_MPDF_PATH')) define('_MPDF_PATH', dirname(preg_replace('/\\\\/','/',__FILE__)) . '/');

//수정한 경로
if (!defined('_MPDF_PATH')) define('_MPDF_PATH', dirname(preg_replace('/\\\\/','/',__FILE__)) . '/mpdf/');

6. 사용방법
콘트롤러에서 아래와 같이 해주면 됩니다.
 

$this->load->library('mpdf');
$this->mpdf->WriteHTML('<p>Hello There</p>');
$this->mpdf->Output(); 
view를 사용하시려면요..
$this->load->library('mpdf');
$vhtml = $this->load->view('pdf_view', $data, true);
$this->mpdf->WriteHTML($vhtml);
$this->mpdf->Output(); 
위에서 주의 할 점은 view를 load할때 마지막에 true로 해서 view의 내용을 리턴받아야 합니다..

그럼 모두 성공하시길....
 다음글 주소등 인코딩해서 보내기 (4)
 이전글 개발자를 위한 컨링페이퍼 (2)

댓글

변종원(웅파) / 2010/03/03 17:51:41 / 추천 0

잘 정리해주셨네요. 감사합니다.

영어기준이죠?
한글은 어떻게 나올지 함 테스트 해봐야겠네요.
 

헛발이 / 2010/03/03 18:26:37 / 추천 0
잘 나옵니다.. 한글은 테스트 안하고 아시다시피 일본어 테스트 했는데 되네요..
언어 설정은 다음과 같이 하시면 됩니다..
일본어의 경우에..
$this->load->library('mpdf','ja');
라이브러리를 로드 할때 함께 언어를 설정하면 됩니다..
이거 찾아내는데 상당히 걸렸습니다.. ㅋㅋ

더 찾아 보니 멀티언어도 지원 하네요... 다국어도 가능합니다..
헛발이 / 2010/03/03 18:54:32 / 추천 0

아~ 이거 이미지 불러 드리는게 쉽지 않네요.. ㅡ.ㅡ;;

우와~ 2시간 삽질 끝에... 드디어 찾아 냈습니다... 이미지 백그라운드로 css에 불러 오는거.. ㅡ.ㅡ;;
힘드네요..

일단 찾아 낸것은
 

$this->mpdf->showImageErrors = true;
이걸 해서 에라가 나는지 확인 할 수 있구요...

..../mpdf/tmp 라는 폴더가 있는데 그 폴더에 복사해서 저장하더라구요..
그 권한이 없어서 저장을 못하고 있더라구요.. 그거 777이나 권한을 주면 될듯 싶네요...

이제 마지막으로 그림을 글씨 위에 올려야 하는데...postion:absolute가 잘 안되네요..
이것만 하면 되는데.. ㅡ.ㅡ;;
변종원(웅파) / 2010/03/04 11:37:24 / 추천 0
그렇군요. 예전 pdf라이브러리들은 한글처리를 따로 했어야 했고
설정이나 사용법이 좀 불편했는데 mPDF는 편하네요.
이것도 찜입니다. ^^
헛발이 / 2010/03/04 15:21:44 / 추천 0
아! 그럼 제가 잘 한거군요 ㅋㅋ 앗싸~
그리고 저도 뭐 이것저것 해결 해서 지금은 열심히 내용을 만들고 있답니다..
간혹 css가 먹히는게 있고 안 먹히는게 있구 그러네요.. 그래서 이것도 메뉴얼을 봐야 할듯 싶어요..
헛발이 / 2010/03/04 19:12:59 / 추천 0

아~ 드디어 완성했습니다.. 휴~ 아주 편리(?) 하네요...  ^^;
아마 사용하려면 메뉴얼에 샘플코드 보고 따라 하시면 될듯 싶네요.. ^^;
웹에서 인쇄물을 출력한다는게 엑티브엑스 없이 힘들거 같은데.. 이렇게 PDF를 이용해서 출력물을 만들면
좋은 콘텐츠도 생길듯 싶네요... ^^;

변종원(웅파) / 2010/03/04 21:33:14 / 추천 0

ㅎㅎ 고생하셨습니다.

ci세상 / 2010/03/05 09:13:58 / 추천 0
헛발이님 ~~ 이제 ci 초보가 아니신것 같습니다. ci 중급으로 올려주세요^^
헛발이 / 2010/03/05 09:21:55 / 추천 0

아직은 중급은 좀 그렇고 초중급으로 ㅋㅋ

미드필드 / 2010/03/06 11:51:33 / 추천 0
고맙습니다 헛발이님 ..
변종원(웅파) / 2010/03/08 21:49:05 / 추천 0
ci포럼의 새로운 스타 탄생입니다. ^^
양승현 / 2010/03/22 11:06:31 / 추천 0
아주 좋은데요..? 프린트 할때 따로 프린트 페이지 제작하곤 했는데 그냥 pdf로 떨궈서 보여줘버리면.. ㅎㅎ
다니엘SEO / 2012/03/30 21:38:07 / 추천 0
 정말 도움이 많이 됐습니다.
이 내용으로만은 안되고...메뉴얼을 보면서 차근 차근 하면 해결이 되네요 ^^

감사합니다!!!
맛스타 / 2012/06/08 10:11:58 / 추천 0
감사합니다
덕분에 어렵던 문제를 잘 해결했습니다^^


계돌이다 / 2012/11/16 16:18:16 / 추천 0
혹시요 지금 사이트가 막혀있는데 그 mpdf 파일 좀 보내주실수 있나요??