2014-11-20 3 views
0

У меня есть таблица html. Я хочу загрузить его в формате pdf. Я пытаюсь использовать html table export plugin. Но плагин работает неправильно. В таблице девять столбцов. Все они не находятся в файле pdf. Только четыре из них находятся в файле pdf. Это случилось с кем-то раньше. Я застрял уже несколько дней. Заранее спасибо.Html Table Экспорт плагина не работает должным образом

мой HTML

<table id="table-id"> 
     <thead>   
      <tr> 
       <th>Country</th> 
       <th>Population</th> 
       <th>Date</th> 
       <th>Age</th> 
       <th>Name</th> 
       <th>Shift</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Chinna</td> 
       <td>1,363,480,000</td> 
       <td>March 24, 2014</td> 
       <td>19.1</td> 
       <td>Shamir</td> 
       <td>morning</td> 
      </tr> 
      <tr> 
       <td>India</td> 
       <td>1,241,900,000</td> 
       <td>March 24, 2014</td> 
       <td>17.4</td> 
       <td>Shamir</td> 
       <td>morning</td> 
      </tr> 
      <tr> 
       <td>United States</td> 
       <td>317,746,000</td> 
       <td>March 24, 2014</td> 
       <td>4.44</td> 
       <td>Shamir</td> 
       <td>morning</td> 
      </tr> 
      <tr> 
       <td>Indonesia</td> 
       <td>249,866,000</td> 
       <td>July 1, 2013</td> 
       <td>3.49</td> 
       <td>Shamir</td> 
       <td>morning</td> 
      </tr> 
      <tr> 
       <td>Brazil</td> 
       <td>201,032,714</td> 
       <td>July 1, 2013</td> 
       <td>2.81</td> 
       <td>Shamir</td> 
       <td>morning</td> 
      </tr> 
     </tbody> 
    </table> 
<button id="pdf-button">PDF</button> 

мой Javascript

$('#pdf-button').on('click', function(e){ 
     $('#table-id').tableExport({ 
      type:'pdf', 
      escape:'false' 
     }); 
    }); 
+0

Вы можете добавить скрипку или код здесь? В противном случае это поможет вам. – twain

+0

, пожалуйста, подождите, позвольте мне изменить вопрос –

+0

@twain Я отредактировал вопрос –

ответ

1

Проблема, кажется, эти две части в PDF части кода ниже:

var colPosition = startColPosition + (index * 50); 

* 50 ширина колонки и если есть более 4 столбцов, они просто не видны, потому что они не находятся на странице больше. Его немного грязно, но вы можете изменить это значение, поэтому все ваши столбцы помещаются на странице, а затем меняют fontSize, пока он не выглядит нормально. В противном случае вы можете добавить опцию в плагин, где вы можете установить это значение.

else if (defaults.type == 'pdf') { 

      var doc = new jsPDF('p', 'pt', 'a4', true); 
      doc.setFontSize(defaults.pdfFontSize); 

      // Header 
      var startColPosition = defaults.pdfLeftMargin; 
      $(el).find('thead').find('tr').each(function() { 
       $(this).filter(':visible').find('th').each(function(index, data) { 
        if ($(this).css('display') != 'none') { 
         if (defaults.ignoreColumn.indexOf(index) == -1) { 
          var colPosition = startColPosition + (index * 50); 
          doc.text(colPosition, 20, parseString($(this))); 
         } 
        } 
       }); 
      }); 


      // Row Vs Column 
      var startRowPosition = 20; 
      var page = 1; 
      var rowPosition = 0; 
      $(el).find('tbody').find('tr').each(function(index, data) { 
       rowCalc = index + 1; 

       if (rowCalc % 26 == 0) { 
        doc.addPage(); 
        page++; 
        startRowPosition = startRowPosition + 10; 
       } 
       rowPosition = (startRowPosition + (rowCalc * 10)) - ((page - 1) * 280); 

       $(this).filter(':visible').find('td').each(function(index, data) { 
        if ($(this).css('display') != 'none') { 
         if (defaults.ignoreColumn.indexOf(index) == -1) { 
          var colPosition = startColPosition + (index * 50); 
          doc.text(colPosition, rowPosition, parseString($(this))); 
         } 
        } 

       }); 

      }); 
      // Output as Data URI 
      doc.output('datauri'); 


     } 
+0

Большое вам спасибо, вы абсолютный гений –

+0

рад, что я мог помочь :) – twain

+0

OMG ... Это решение? О, мальчик, я должен угадать колонны и размеры? –

Смежные вопросы