canvas 를 pdf로 변환할때 페이지 밀림현상

canvas 를 pdf로 변환할때 페이지 밀림현상

QA

canvas 를 pdf로 변환할때 페이지 밀림현상

답변 2

본문

$('#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

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

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

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

 

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

 

그리고 

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

 

여기도 참조해 보세요

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