2017-03-08 3 views
1

私はテーブルからなるPDFファイルを生成する必要があります。 私はPDFを生成することができます。しかし、私は国境にスタイルを適用したい。現在、国境は黒色で表示されています。私は白に色を変更したい。ホーは私がそれをするのですか?JSPDFのpdf.cellにcssを適用するには

「PDFへのエクスポート」リンクをクリックしたときに呼び出されるjs関数です。

function exportToPDF(tableId){ 
    var doc = new jsPDF('p','pt','a4'); 

    var table = document.getElementById(tableId); 
    doc.cellInitialize(); 

    for(var i=0; i<table.tBodies[0].childNodes.length; i++){ 
     for(var j=0; j<table.tBodies[0].childNodes[i].childNodes.length; j++){ 
      doc.setFont("'Open Sans', san-serif"); 
      doc.setFontType("bold"); 
      doc.setFontSize(14); 
      doc.setTextColor(43,56,65); 
      var styleName = table.tBodies[0].childNodes[i].childNodes[j].className; 
      var cellWidth = 299; 
      var headerRowHeight = 20; 
      console.log(table.tBodies[0].childNodes[i].childNodes[j].innerHTML.length); 
      if(styleName.indexOf("search_criteria_title_cell")>-1){ 
       doc.setFontType("bold"); 
      } 
      if(styleName.indexOf("search_criteria_header_cell")>-1){ 
       doc.setFontType("italic"); 
      } 
      if(styleName.indexOf("search_criteria_date_cell")>-1){ 
       doc.cell(0, 0, cellWidth, headerRowHeight, table.tBodies[0].childNodes[i].childNodes[j].innerHTML, i,"right"); 
      } 
      else 
       doc.cell(0, 0, cellWidth, headerRowHeight, table.tBodies[0].childNodes[i].childNodes[j].innerHTML, i); 
     } 
    } 
    doc.save('sample Report.pdf'); 
} 

tableId私はテーブル名を渡しています。

示すように、私のテーブルには、次のとおりです。示すように生成された

enter image description here

私のPDFは以下のとおりです。

enter image description here

私は「グレー」に私の生成PDFの境界線の色を変更したいです。私はどうしたらいいのですか?誰もがこれで私を助けてくれる?

答えて

1

cell()メソッドを呼び出す前に、drawColorプロパティを設定する必要があります。

色の使用を描く設定するsetDrawColor方法は、この方法について

setDrawColor(R,G,B);

詳細はAPIドキュメントにここにあります。 ドロー色がにRGB値を設定することにより、にリセットすることができhttp://rawgit.com/MrRio/jsPDF/master/docs/global.html#setDrawColor

setDrawColor(0);

例:

//Set text color 
    doc.setTextColor(0); 
    doc.text(10, 10, 'This is a test'); 

    //Change text color 
    doc.setTextColor("#42d254"); 
    //Set draw color 
    doc.setDrawColor(150,150,150); 
    doc.cell(40, 40, 50, 20, "cell"); //cell(x,y,w,h,text,i) 

チェックの参考のため、このフィドル:https://jsfiddle.net/Purushoth/x4xo4owj/

してくださいチェックアウトjsPDF-Autotable buiがたくさんあるプラグインカスタムスタイリングのための機能は、https://simonbengtsson.github.io/jsPDF-AutoTable/#header-footerです。

関連する問題