2017-03-21 9 views
0

私はJSPDFを使用して、私たちのサイトでpdfファイルを生成しています。私は毎回長さが変わることがあるいくつかのコンテンツを持っています。どのように私は自動的たびに新しいページを追加するために最初のページのコンテンツがオーバーフローをJsPdfパラメータを調整することができますjspdf最初のページにテキストがいっぱいになると新しいページを追加します

答えて

0

ヘソン、

それは少し後だと答えは完璧ではないですが、それは(ES6で)私のために仕事をしていません。

private createNewPdf() { 
    this.positionY = MARGIN_TOP; // margin top 
    this.pdf = new jsPDF({ orientation: 'portrait', unit: 'mm', lineHeight: 1 }); 
} 

// convert mm to fontSize 
private setTextHeight(this.textHeight) { 
    let fontSize = this.textHeight * 4; 
    this.pdf.setFontSize(fontSize); 
} 

private addText(text) { 
    this.setTextHeight(textHeight); 
    if (this.positionY + textHeight > (this.pdf.internal.pages.height - MARGIN_BOTTOM)) { 
     this.addPage(); 
    } 
    this.pdf.text(MARGIN_LEFT, this.positionY + this.textHeight, text); 
    this.positionY += textHeight; 
} 

private addPage() { 
    this.pdf.addPage(); 
    this.positionY = MARGIN_TOP; 
} 

あなただけに持っているので、後:

this.textHeight = 3; // mm 
this.positionY = 0; // position of previous text 
this.pdf = null; 

this.createNewPdf(); 
this.addText('My first text'); 
this.addText('My second text'); 
... 

そして、ページが自動的にMARGIN_TOPで追加される場所よりも多くのテキストがある場合(あなたはトンを定義する必要があります彼の)

関連する問題