3

JSPDF で PDF をエクスポートしたいのですが、テーブルを作成するためにプラグインを「jspdf.autotable」として使用しています。問題は、以下のような書式設定スタイルが必要なことです。

ここに画像の説明を入力

ご覧のとおり、ヘッダー部分ではなくテーブルの外側に境界線がありますが、行がページの高さを超えると、テーブルの書式設定が適切にレンダリングされません.autotableプラグインには機能が組み込まれていないため、テーブルの外側に境界線があります。HTML全体をpdfに追加する別の解決策がありますが、写真を表にしたくありません。これを手伝ってください..

4

2 に答える 2

3

残念ながら、プラグインの作成者として、これを実現する簡単な方法は思いつきません。頭に浮かぶ唯一のことは、たとえばafterContentフックを利用して、テーブルよりも数ピクセル大きい長方形を各ページに追加できることです。実際には境界線をエミュレートしています。

ただし、以前に言及されたこの機能要求を見たことがあり、将来のリリースで追加することを検討しています. ただし、近い将来ではありません。

于 2016-03-01T18:49:23.910 に答える
2

私もこの問題を抱えていましたが、残念ながら私を導く作者がいなかったので、スタックオーバーフローが戻ってくることに気づいていませんでした。目的の結果を得るには、ライブラリを編集する必要がありました。

メソッドを変更しprintRows()、最初のページと、テーブルを開始する必要がある場所から残りのページをチェックするチェックを配置する必要がありました。最初のページにはグラフの余白があるためです。

メソッドtable.rows.forEach()をチェックする最初の if 条件で、次を使用しました。isNewPage()

if (pageCount == 1) {
    doc.setDrawColor(228, 228, 228);
    doc.rect(settings.margin.left, settings.startY + table.headerRow.height, table.width, row_height);
} else {
    doc.setDrawColor(228, 228, 228);
    doc.rect(settings.margin.left, settings.margin.top + table.headerRow.height + 30, table.width, row_height);
}
addPage();

これらは私が使用したチェックであり、私のアプリケーションに固有のものです。残りを自分で実装する方法についてアイデアを得ることができるかどうかを確認してください。

于 2016-07-04T14:13:40.087 に答える