2016-04-01 18 views
0

Kann mir jemand sagen, wie Text zu erhalten zu wiederholen wie Header in jspdf tun. Wenn ich Text wie folgt hinzufügen (jspdf.text (x, y, 'test') geht es nur auf die erste Seite!Text hinzufügen mit .text Methode header

Hinweis: Ich habe bereits eine Kopfzeile auf diesem Dokument, aber das ist in der HTML mit dem <header> Tag getan . ich mag diese Art von anhängen. ich habe den Text auf diese Weise als eine Arbeit um für Ausrichtungsprobleme hinzufügen jspdf.

var pdf = new jsPDF('p', 'pt', 'letter'); 
pdf.rect(430, 20, 125, 50); 
pdf.text('Order', 430, 35); 
pdf.autoTableHtmlToJson 
source = $('#content')[0]; //table Id 

Antwort

0

ich den gesamten jspdf.debug.js Code Knacken am Ende hat und das hinzufügen von Tonnen von if-Anweisungen dazu, um meine Probleme mit, wie es Tabellen rendert zu lösen. ein paar Beispiele unten:

- die Zelle Höhe war riesig für die Header

if (printHeaders) { 
//changed by me on 4/5/16 to calculate lineheight manually 
var lineHeight = 20;//this.calculateLineHeight(headerNames, columnWidths, headerPrompts.length?headerPrompts:headerNames); 

hatte ich ein Problem, das einmal war ich Tabellen zu meinem Header hinzugefügt wurde der doc den letzten Header aus dem Header für meinen MAIN DATA Tabelle wiederholen, die 100 Datensätze oder mehr hatten (so es wiederholt um mehrere Seiten und Seiten 2+ falschen Kopf hatte)

// Store the table header config 
     //changed by me 
     this.setTableHeaderRow(tableHeaderConfigs); 
     if (tableHeaderConfigsMain != undefined) { 
      if (tableHeaderConfigsMain.length > 0) { 
       this.setTableHeaderRowMain(tableHeaderConfigsMain); 
      } 
     } 

-I dies für die Schleife hinzugefügt, dass die Kopfzeile (meine Haupttabelle konstruiert hatte 5 Spalten)

 if (headerNames.length == 5) { 
      tableHeaderConfigsMain.push([x, y, columnWidths[header], lineHeight, String(headerPrompts.length ? headerPrompts[i] : header)]); 
} 

diese an den Druckkopf --added Zeilenfunktion

if (this.tableHeaderRowMain != undefined && new_page) { 
    if (this.tableHeaderRowMain.length > 0) { 
     this.tableHeaderRow = this.tableHeaderRowMain; 
    } 
} 

--in der tabletojson Funktion i dies manuell einstellen meine Tabellen

if(table.id=='rightAlignTable'){ 
       headers[i] = { 
        name : cell.textContent.toLowerCase().replace(/\s+/g, ''), 
        prompt: 'Date', //cell.textContent.replace(/\r?\n/g, ''), 
        width : 100 //(cell.clientWidth/table_with) * renderer.pdf.internal.pageSize.width 

       }; 
       headers[1] = { 
        name : cell.textContent.toLowerCase().replace(/\s+/g, ''), 
        prompt: 'PO #',//cell.textContent.replace(/\r?\n/g, ''), 
        width : 100 //(cell.clientWidth/table_with) * renderer.pdf.internal.pageSize.width 
       }; 
      } 

--i Tabellen manuell verändert auch hier im **** TABLE RENDERING geändert up **** Abschnitt :

  if (cn.id === "rightAlignTable") { 
       x = 425; 
       y = 25; 
      }