2014-09-06 2 views
0

좋아, 체육관을 위해 만든 일정에 대한 기본 테이블이 있습니다. jsPDF를 사용하여 해당 테이블을 다운로드 할 수 있기를 원합니다. 지금 당장은 테이블을 잘 다운로드 할 수 있었지만 몇 가지 일을 할 수는 없습니다.jsPDF를 사용할 때 일부 서식과 단락을 유지하는 방법은 무엇입니까?

먼저 내 인생에서 PDF를 다운로드 할 때 전체 표가 될 수 없습니다. jsPDF에 관한 수십 개의 게시물을 읽었으며 문제를 해결할 수있는 것은 아무것도 없습니다!

두 번째로, 각 셀 내의 정보는 3 개의 다른 p 태그에 있기 때문에 3 개의 다른 라인에 있어야하지만 라인이 함께 뒤죽박죽입니다.

셋째, 텍스트가 가운데에 정렬되도록 셀을 유지하고 싶습니다. ...

jsFiddle 아래까지 내가 들어 왔으로 표시하지만,이 마지막 세 가지 항목은 정말 버그로 시작하고, 나는 행운과 그것의 지옥을 연구 한

http://jsfiddle.net/xzZ7n/695/

function demoFromHTML() { 
var pdf = new jsPDF('p', 'pt', 'letter'); 
source = $('#editor')[0]; 

specialElementHandlers = { 
    // element with id of "bypass" - jQuery style selector 
    '#bypassme': function (element, renderer) { 
     // true = "handled elsewhere, bypass text extraction" 
     return true 
    } 
}; 
margins = { 
    top: 30, 
    bottom: 30, 
    left: 40, 
    width: '100%' 
}; 

pdf.fromHTML(
source, // HTML string or DOM elem ref. 
margins.left, // x coord 
margins.top, { // y coord 
    'width': margins.width, // max width of content on PDF 
    'elementHandlers': specialElementHandlers 
}, 

function (dispose) { 

    pdf.save('Test.pdf'); 
}, margins); 
} 

답변

3

html2canvas 포함하고 pdf.addHTML() 대신 pdf.fromHTML() 사용합니다. 그것은 위대한 작품. 나는 그것을 사용했고 그것은 페이지에서 모든 스타일을 유지했다.

var pdf = new jsPDF('p', 'pt', 'letter'); 
pdf.addHTML($('#NameOfTheElementYouWantToConvertToPdf')[0], function() { 
    pdf.save('Test.pdf'); 
}); 
+0

내가 서버에 추가하지만, PDF를 렌더링 할 때 지금은 완전히 검은 색 :

여기 내 코드입니다. 이 방법을 조금 더 설명 할 수있는 방법이 있습니까? –

+0

배경색을 흰색으로 설정했는지 확인하십시오. – adam0101

+0

나는 그게 무슨 뜻인지 모르겠다. html2canvas 문서를보고 있는데 아무 것도 찾을 수 없습니다. –

관련 문제