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

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

QA

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

본문

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

 

여기도 참조해 보세요

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

회원로그인

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