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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
pdf 출력 관련 질문입니다.ㅠㅠ

QA

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

본문

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을 싹다 제거하고 다시 재선언해줬습니다 ㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
전체 765
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT