테스트 사이트 - 개발 중인 베타 버전입니다

canvas 를 pdf로 변환할때 페이지 밀림현상 채택완료

태지맘 3년 전 조회 4,120

$('#savePdf').click(function() { // pdf저장 button id                  html2canvas($('#pdfDiv')[0]).then(function(canvas) { //저장 영역 div id           var imgData = cnvs.toDataURL('image/jpeg');

          var imgWidth = 190; // 이미지 가로 길이(mm) A4 기준           var pageHeight = imgWidth * 1; // 출력 페이지 세로 길이 계산 A4 기준           var imgHeight = cnvs.height * imgWidth / cnvs.width + 50;           var heightLeft = imgHeight;           var margin = 10;

          var doc = new jsPDF('p', 'mm', 'a4');           var position = 0;

          // 첫 페이지 출력           doc.addImage(imgData, 'jpeg', margin, position, imgWidth, imgHeight);           heightLeft = heightLeft - pageHeight - 100;  

          // 한 페이지 이상일 경우 루프 돌면서 출력           while (heightLeft >= 50) {             position = heightLeft - imgHeight;             doc.addPage();             doc.addImage(imgData, 'jpeg', margin, position, imgWidth, imgHeight);             heightLeft = heightLeft - pageHeight - 100;           }

          // 파일 저장           doc.save('sample.pdf');     }); 이렇게 해서 여러페이지가 생성이 되는데요. 페이지가 넘어갈수록 윗 여백이 밀립니다. 해결방법이 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
3년 전

어떤 라이브러리를 사용했는지는 모르겠지만, 

미국식 기준은 레터지입니다. 

A4용지가 더 길죠.  A4를 레터로 하면 조금씩 넘어갈 수도 있는데..

 

혹시 모르니 이 부분도 체크해 보세요.

 

그리고 

https://stackoverflow.com/questions/36472094/how-to-set-image-to-fit-width-of-the-page-using-jspdf

 

여기도 참조해 보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

태지맘
3년 전

네~ 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인