티스토리 뷰
jspdf를 사용하면 화면의 일정부분을 pdf로 다운받을 수 있습니다.
그런데 한글인 경우는 글자가 깨지는 경우가 되죠
딱히 따로 한글 언어셋을 지원해주지는 않는 거 같고
pdf 전환의 방법으로
html -> canvas -> pdf의 방법을 주로 쓰게 되는 거 같습니다.
<textarea name="testpdf" id="testpdf" style="margin: 0px; height: 333px; width: 661px;"></textarea>
<div id="editor"></div>
<button id="cmd">PDF</button>
<script src="//cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<script>
$('#cmd').click(function () {
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
}
html2canvas($("#testpdf"),{
useCORS: true,
allowTaint: true,
onrendered:function(canvas){
var imgData = canvas.toDataURL('image/jpeg');
var doc = new jsPDF("p","mm");
console.log(imgData);
doc.addImage(imgData,'JPEG',0,0);
doc.save('test.pdf');
}
});
});
</script>
추가설명
html2canvas($("#testpdf") 에서 선택자를 고르시면 되고
editor 영역은 jspdf에서 특별한 작업을 중간에 추가할때 사용합니다.
하지만 한글이 깨지는 현상때문에 jpeg=>jspdf로 전환하는 것이기 때문에
지금 중요한 부분은 jpeg를 pdf로 넣어주는 부분입니다
useCORS같은 것은 옵션들어가는 영역부분입니다
doc.save('test.pdf'); 저장 화일이름지정입니다.
'웹' 카테고리의 다른 글
비트코인 api 플러그인 워드프레스용 심플 (0) | 2017.12.14 |
---|---|
웹마스터사이트노출관련네이버그리핀 (0) | 2017.12.09 |
bitnami 윈도우에 설치(wamp -> window + apache + mysql + php) (0) | 2017.12.06 |
그누보드5 게시판에서 다른 게시판 게시물 가져오는 방법 (0) | 2017.12.04 |
soundcloud volume control (사운드클라우드 플에이어 컨트롤)js (0) | 2017.11.28 |
- Total
- Today
- Yesterday
- 제로보드
- 파이썬
- xe
- 오토셋
- 텔레그램봇
- 클라우드플레어
- SSL
- 아미나
- 워드프레스
- .htaccess
- php8
- Cloudflare
- 윈도우
- 셀레니움
- 회원가입
- lsposed
- Magisk
- python
- 유튜브
- 텔레그램
- Apache
- 그누보드
- 그누보드5
- 파이선
- 루팅
- 아파치
- 에러
- Fullcalendar
- 멀티계정
- php
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |