pdf 출력 관련 질문입니다.ㅠㅠ

pdf 출력 관련 질문입니다.ㅠㅠ

QA

pdf 출력 관련 질문입니다.ㅠㅠ

답변 2

본문

fpdf를 쓰다가 html 출력이 어려워서 조언을 듣고 tcpdf로 바꿨는데요~

 

html은 잘 나오는데 table이 제대로 안나와가지고 ㅠㅠ

 

아래는 pdf출력시 나오는 이미지 입니다

 

1794815956_1562053345.4353.png

 

 

입력될때 width 값이 들어가있어서 그 값 그대로 나오는 것 같더라구요.

 

1794815956_1562053393.5313.png

 

아래는 스마트에디터로 표를 넣고 html텝으로 변환해서 복사한 표 소스입니다.

 

<p>6. 특이사항 : 없음</p><p> <img src="http://vdware.vdream.co.kr/data/editor/1907/2322dac06427506395649b65b22fc12b_1562049678_8252.png" title="2322dac06427506395649b65b22fc12b_1562049678_8252.png" alt="2322dac06427506395649b65b22fc12b_1562049678_8252.png"> </p><p> </p><table border="0" cellpadding="0" cellspacing="0" style="border:1px solid #cccccc;border-left:0;border-bottom:0;" class="__se_tbl"><tbody><tr><td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
</tr><tr><td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
</tr><tr><td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
</tr><tr><td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
<td style="border:1px solid #cccccc;border-top:0;border-right:0;background-color:#ffffff;" width="265"><p> </p></td>
</tr></tbody></table>

 

보시는것처럼 style로 width값이 박혀있는데..

그래서 php 로 style을 제거하는 정규식을 써서 style을 제거를 하니까 표 자체가 안나오더라구요 ㅋㅋㅋ ㅠㅠ

 

에디터를 다른걸쓰니까 제각각으로 나오긴하던데..

에디터를 바꿔달자니 일이 좀 많고..

 

요약

1. 네이버스마트에디터로 작성한 표가 tcpdf로 출력시 깨집니다.ㅜㅜ

2. 어떤 방향으로 접근해봐야 할지 조언좀 부탁드립니다 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

https://codeday.me/ko/qa/20190322/125725.html

 

jquery를 활용해서 해당 td를 반복시키고 반복된 값에서 해당 width값을 빼주시면 될거 같은데요

 



$('td').each(function() {
    $(this).attr("width",'');
});

감사합니다 ㅎㅎ말씀해주신 것에 영감을 얻어 해결했습니다~

$row['wr_content'] = preg_replace('%<table[^>]*?style\s*=\s*"[^"]*"[^>]*>(.*?)</table>%si', '<table>$1</table>', $row['wr_content']);
$row['wr_content'] = preg_replace('%<td[^>]*?style\s*=\s*"[^"]*"[^>]*>(.*?)</td>%si', '<td border="1">$1</td>', $row['wr_content']);
$row['wr_content'] = "<style>td{text-align:center;}</style>".$row['wr_content'];

정규식으로 table와 td의 style을 싹다 제거하고 다시 재선언해줬습니다 ㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로