私はPDFBoxを使用してJavaでPDFファイルを作成しようとしていますにBoxableとPDFBoxを使用してPDFファイルに大きなテーブルをレンダリング。このファイルには、2列の大きな表が含まれています。テーブルをPDF内にレンダリングするには、別のライブラリ:boxableを使用しています。javaの
ファイルが正常に作成され、テーブルもレンダリングされます。しかし、行の1つに大きなデータが含まれていると問題が発生します。その場合、テーブルは、分割してデータを適切に表示されない:最初のページが空のまま
大行が新しいページに自動的に移動されます。 2番目のページでは、行が突然終了しますセルにデータ全体を表示せずに、テスト用に新規タスクを入力してを入力しました。 これは再発問題であり、このケースに固有の問題ではありません。
Row<PDPage> headerRow;
Row<PDPage> row;
Cell<PDPage> cell;
int i;
headerRow = table.createRow(15f);
cell = headerRow.createCell(30, "Goal Category");
cell.setFont(PDType1Font.HELVETICA);
cell.setFontSize(11);
cell = headerRow.createCell(70, "My Goal");
cell.setFont(PDType1Font.HELVETICA);
cell.setFontSize(11);
table.addHeaderRow(headerRow);
for(i=0;i<goals.size();i++)
{
ArrayList<String> goal=goals.get(i);
row = table.createRow(12);
cell = row.createCell(30, goal.get(0));
cell.setFont(PDType1Font.HELVETICA);
cell.setFontSize(11);
System.out.println("My Goal="+goal.get(1));
cell = row.createCell(70, goal.get(1));
cell.setFont(PDType1Font.HELVETICA);
cell.setFontSize(11);
}
table.draw();
私は解決策またはPDF内のテーブルをレンダリングする別の方法を探しています。
ちょうど読んでから、これは箱の側で何らかの調査が必要なバグです。まず、ページに収まる行の表セルを最大限に確保してください。 1つの行の「キャリーオーバー」セルを導入することによって達成される。行にセルの繰り越しがある場合は、新しい行を追加します。 –
@JoopEggenセルの最大行を修正するにはどうすればよいですか?可変ラインを持つ多くのセルが存在する可能性があります。その場合、最大ラインも変化します – HBK
以下にいくつかのパッチコードを追加しました。 –