2016-08-10 3 views
0

jspdf-autotable을 사용하여 pdf에 데이터를 인쇄하고 있습니다. 나는 문자열의 두 가지 유형이 있습니다 유형 (2) 문자열이 너무 경우 그것이 의미jspdf autotable의 Custom 열 안의 문자열 인쇄

  1. 문자열
  2. (5 흰색 공간) + 문자열

을 그 문자열의 나머지 부분 것이다 다음 줄에 인쇄하십시오 (linebreak 옵션을 사용하고 있습니다). 내가 기대하는 것은 다음 줄에 인쇄되는 나머지 문자열은 첫 번째와 같은 5 공백으로 인쇄해야한다는 것입니다. 그러나 공백없이 인쇄됩니다. HTML과 javascript 및 jspdf 만 사용하고 있습니다. 각 줄마다 동일한 들여 쓰기 (같은 공백)를 어떻게 피할 수 있습니까?

실제 출력 :

Trees are in proper shape and labeled 
appropriately 

내가 원하는 무엇 :

Trees are in proper shape and labeled 
    appropriately 
+0

그래서 '나무'와 '적절하게'두 개의 공백 들여 쓰기를 원하게됩니다 (예를 들어 보셨습니까?). '나무'대신에 공백이 5 개 들여 쓰이고 '적절하게'는 0입니다. –

+0

예 ... 예 .... 당신은 절대적으로 옳습니다. –

+0

@ Simon Bengtsson –

답변

0

당신은 두 가지 옵션이 있습니다.

첫 번째 것은 cellPadding 옵션입니다. 그것은 셀의 양쪽에 같은 수평 공간을 만들 것입니다.

var doc = new jsPDF('p', 'pt'); 
doc.autoTable(columns, data, { 
    styles: {cellPadding: 10} 
}); 
return doc; 

다른 옵션은 셀 내용 자신을 인쇄하는 곳 drawCell 후크를 사용하여 결정하는 것입니다. 나는 이것을 시험하지는 않았지만 일해야한다.

var doc = new jsPDF('p', 'pt'); 
doc.autoTable(columns, data, { 
    drawCell: function (cell, data) { 
     if (cell.dataKey === "email") { 
      cell.x += 20; 
     } 
    } 
}); 
return doc; 
+0

죄송합니다. 친구, 내 경우에는 둘 다 작동하지 않습니다. –

+0

작동하지 않는 것에 대해 좀 더 구체적으로 설명해 주시겠습니까? 귀하의 질문에 대한 수정이 정확합니까? –

+0

예, 수정 사항이 올바른 것입니다. –