2017-01-18 5 views
0

html에서 PDF 파일을 생성하는 데 jspdf library을 사용하고 있습니다. 정말 좋은 것입니다. 그러나 나는 pdf의 각 페이지 마지막 줄에 문제가있다. 당신이 버튼을 클릭하여 PDF를 생성 할 때jspdf - 마지막 단락 줄을 자르고 있습니다.

var pdf = new jsPDF(); 
$('#generatePdfBtn').click(function() { 
    pdf.fromHTML($('#printableContent').html(), 15, 15, { 
     'width': 400 
    }); 
    pdf.save('myPdf.pdf'); 
}); 

, 당신은 우리가 일반적으로에 "pararaph 30"을 가지고 있으며 첫 번째 페이지의 끝이 표시됩니다 여기에

DEMO 내 자바 스크립트입니다 pdf의 다음 페이지는 다음 "pararaph 31"단락을보아야합니다. 그러나 나는 그것을 보지 않고 "pararaph 32"를 본다. 왜 마지막 줄을 잃어버린거야? 어떤 아이디어라도 제발?

+0

그냥 생각 : 왜 인쇄 명령을 사용하지 않고 pdf로 저장을 선택할 수 있습니다. 모든 브라우저에서 지원됩니다. 빠르고 간단합니다. 인쇄 가능한 인쇄물 만 인쇄 할 수 있습니다. –

+0

시도했지만 제대로 페이지가 표시되지 않는 것이 좋습니다. – aidadev

+0

@media print css를 사용하여 printablecontent 만 표시하고 CSS 값을 조정하려고했거나 다른 문제가 발생했습니다. –

답변

0

내 여백 안에 쓴 것이므로 줄을 자릅니다. 가장 간단한 방법은 매 31 행마다 중복되는 루프를 만드는 것입니다. 최고의 솔루션은 아니지만 가장 빠릅니다.

1

글쎄, 거기에 속임수가 있습니다, 당신이 결정할 수 있다면, 페이지 나누기를해야 할 곳에, 당신은 단순히 거기에 ""을 강제로 배치 할 수 있습니다. 이 방법으로 텍스트가 잘리는 것을 방지 할 수 있습니다.

근무 DEMO는 :http://jsfiddle.net/nq361uoz/4/

불행하게도, 이것은 GitHub 저장소에 open 상태에서 여전히 jsPDF에서 알려진 버그입니다. 여기

추가 정보 :이 도움이https://github.com/MrRio/jsPDF/issues/555

희망! 당신의 jspdf.js 또는 jspdf.debug.js 로컬 파일을 열고

이 수정 :

+0

예 ""넣으면 작동하는 것을 볼 수 있지만, 제 경우에는 동적 인 내용을 가지고있어 길거나 짧을 수 있습니다. 페이지가 깨질 필요가있는 곳을 모르겠습니다. @David R – aidadev

+0

방금이 ''를 추가하면 휴식 시간이 추가되고 다음 페이지로 콘텐츠가 이동하는 것으로 나타났습니다. 하지만 어떻게 동적 인 방식으로이 작업을 수행 할 수 있는지 궁금합니다. @ 데이비드 R – aidadev

0

이 시도

this.pdf.internal.getVerticalCoordinateString(this.y), style.color, "Td");

style.color을 삭제하고 다른 이름으로 저장 :

this.pdf.internal.getVerticalCoordinateString(this.y), "Td");

를 그 다음은 제대로 실행 파이어 폭스와 크롬에 적어도 저것은 저를 위해 작동하고 이것은 그 실패를 고칠 때까지 해결책입니다.

관련 문제