2016-08-10 48 views
0

jspdf-autotableを使用してPDF内のデータを印刷しています。タイプ(2)文字列が長すぎる場合、それは文字列の残りの部分をすることを意味しますjspdf autotableのCustom列の文字列を印刷

  1. 文字列
  2. (5白スペース)+文字列

:私は、文字列の2種類があります次の行に印刷してください(私は改行オプションを使用しています)。私が期待しているのは、次の行に印刷されている残りの文字列は、最初のものと同じ5つの空白で印刷する必要があるということです。しかし、空白なしで印刷されます。私はhtmlを使用していないことに注意してください。javascriptとjspdfだけです。どのようにして、新しい行ごとに同じインデント(同じ空白量)を得ることができますか?

実際の出力:

Trees are in proper shape and labeled 
appropriately 

私が欲しいもの:

Trees are in proper shape and labeled 
    appropriately 
+0

だから、「ツリー」と「適切に」同じ2つのスペースインデントを付ける(この例のように見えます)? 'Trees 'の代わりに、5つの空白がインデントされ、'適切に 'がゼロになります。 –

+0

はい...はい....あなたは絶対に正しいです。 –

+0

@Simon Bengtsson –

答えて

0

2つのオプションがあります。

最初は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

はい、編集は正しいです。 –

関連する問題