2016-06-02 6 views
1

以下のコードは、Link to PDF on Google Docsをレンダリングします。 (私はこのポストに絵を貼り付けることはできませんでした)anglejsからPDFMakeテーブルセルを作成します。ループ全体にわたってループ

各曲には曲のタイトルとコード進行があります。私が探しているのは、各曲/コードのセルに対して1つの行を持つことです。この例では、コード内に最後の1曲をコーディングして、どのようにレンダリングするかを示しました。各曲には独自のテーブル行が必要です。私は数時間それを理解していません...それは簡単な解決策を期待し、私はちょうどかなり明白な何かを見逃しています。

ありがとうございました。

//Fired when SET header clicked to generate PDF 
    $scope.openPDF = function (SetName, setSongs) {      
     songTitles = []; 
     songChords = []; 

     angular.forEach(setSongs, function(value, key) {    
      songTitles.push({ text: value.Title, style: 'tableHeader'}); 
      songChords.push({ text: value.Chords, style: 'tableHeader'}); 
     }); 

     var docDefinition = 
     {  
      pageOrientation: 'landscape', 

      content: [ 
      { text: 'SET 01', style: 'firstLine'}, 
      { text: SetName, style: 'secondLine' },     
       { 
        table: 
        { 
         headerRows: 0,        
         body: 
         [      
          [songTitles, songChords],['American Girl', 'D - E - G - A'] 
         ] 
        } 
       } 
      ], 

      styles: { 
      firstLine: { 
       fontSize: 32, 
       bold: true, 
       alignment: 'center' 
      }, 
      secondLine: { 
       fontSize: 15, 
       bold: true, 
       alignment: 'center' 
      }, 
      } 

     };//End docDefinition 

     //Generate PDF 
     pdfMake.createPdf(docDefinition).open(); 

    }; //END Function 

答えて

2

誰かを助ける場合は投稿ソリューションを選んでください。 PDFへ

リンクは、以下の機能を使用して作成:https://drive.google.com/open?id=0B9COonOvl5koR09aNkRZUHpPczA

すべてのデータはMySQLデータベースから引き出され

...ので、さまざまな属性(タイトル、アーティスト、メイン和音構造など)を備えた曲のテーブルがあります - セットごとに3つのセットリストを含むセットのテーブル。

//Fired when SET header clicked to generate PDF 
    $scope.openPDF = function (setList, setSongs, setNumber) {      
     songRows = []; 

     angular.forEach(setSongs, function(value, key) {    
      songRows.push({Title: value.Title, Chords: value.Chords, WhoStarts: value.WhoStarts});     
     }); 

     var items = songRows.map(function(item) { 
     return [(100 + songRows.indexOf(item) + 1).toString().slice(-2) + '.', item.Title, item.Chords, item.WhoStarts]; 
     }); 

     var docDefinition = 
     {  
      pageOrientation: 'landscape', 

      content: 
      [ 
       { text: setNumber, style: 'firstLine'}, 
       { text: setList.EventDate + ' - ' + setList.SetName + ' @ ' + setList.Venue + '\n\n', style: 'secondLine' },     
       { 
        style: 'songRow', 
        table: 
        {             
         body: 
         [ 
         [        
          { text: '------' }, 
          { text: '--------------------------------------' }, 
          { text: '--------------------------------------' }, 
          { text: '--------------------------------------' }, 
         ] 
         ].concat(items)       
        } 
       } 
      ], 

      styles: { 
      firstLine: { 
       fontSize: 32, 
       bold: true, 
       alignment: 'center' 
      }, 
      secondLine: { 
       fontSize: 15, 
       bold: true, 
       alignment: 'center' 
      }, 
      songRow: { 
       fontSize: 18, 
       bold: true, 
       alignment: 'center',     
      }, 
      } 

     };//End docDefinition 

     //Generate PDF 
     pdfMake.createPdf(docDefinition).open(); 
    } //END Generate PDF Function 
+0

こんにちは、それはPDFを生成するのに良いです。私の必要条件は、各ページには3行のヘッダーがあり、ページの下部には表があることです。このようにしてpdfを生成しなければならない配列。私を助けてください。 –

+0

こんにちはニテン...申し訳ありませんが、私は非常に良い開発者ではありません...私はあなたを助けることができるとは思わない。あなたは本当に私が考える新しい質問を作成する必要があります...これは古い投稿であり、あなたが求めていることは新しい質問です。申し訳ありませんが私は助けることはできません。がんばろう!! – robertsirwin

関連する問題