iText In Actionという本から、第6章の終わり:
iText API を見ると、他のテーブル クラスもいくつか見つかります。com.lowagie.text.Tableは元のテーブル クラスです。それは初期の iText 時代からのものです。クラスcom.lowagie.text.pdf.PdfTableを内部的に使用して、テーブルを PDF にレンダリングします (このクラスをPdfPTableと混同しないでください)。PdfPTableとTable
の間のリンクを形成しようとする
新しいSimpleTableクラス
もあります。PDF を書き込むドキュメントに追加する場合はPdfPTableに、 HTML または RTF を生成する場合はTableに変換することができます。[...]テーブル
の主な欠点
クラスは、サポートされなくなったことです。さまざまな人が既知の問題のほとんどを修正しましたが、今日では、すべてのテーブル メソッドが機能するかどうか、およびどのように機能するかを理解している人は 1 人もいません。このクラスを使用することにした場合、多かれ少なかれ独力で行うことになり、歴史的な設計上の決定に基づいて多くの風変わりなレイアウトの問題に遭遇することになります。ただし、これはTableクラスを十分に活用できないという意味ではありません。
Table クラスの利点
Table クラスを使用すると、PDF、RTF、および HTML でレンダリングできるテーブル構造を生成できます。結果を比較すると、表の表示方法にわずかな違いがあることがわかります。これは正常です; すべてのテーブル機能がすべてのドキュメント形式でサポートされているわけではありません。
- 同じコードを使用して、PDF、HTML、または RTF でテーブルを生成できます。
- HTML と同じようにパディングとスペーシングを設定できます。
- ネストした表に頼らなくても、行スパンを使用できます。
- セルを追加した後でも、列の数を変更できます。
- 特定の位置にセルを追加できます (行数は動的に増加します)。
- テーブルをドキュメントに追加する前に、列を削除できます。
- PdfPTableであるかのように iText にテーブルを追加させることができます。
- Tableオブジェクトに基づいてPdfPTableオブジェクトを取得します。
PdfPTable とは対照的に、テーブルにセルをランダムな順序で追加し、必要に応じて列を追加または削除できます。setRowspan() を使用しなかった場合は、Table を PdfPTable に変換することもできます。
( PdfP )- Tableの簡易版であるSimpleTableクラスもあります。SimpleTableを PDF ドキュメントに追加する場合、iText は最初にテーブルをPdfPTableとして追加しようとします。これが失敗した場合は、Tableとして追加されます。SimpleTableを RTF または HTML ドキュメントに追加すると、 Table として追加されます。SimpleTableはTableおよびPdfPTableとは異なります行の概念を再導入するという意味で。これは、table-row-cell 構造を持つ XML ファイルを解析する場合に便利です。行に対応するタグに属性がある場合、行のセルごとにこのプロパティを個別に定義する必要はありません。行全体のプロパティを一度に設定できます。
概要
PdfPTableを最初に選択する必要があります。ただし、プロジェクトに定義された要件によっては、TableまたはSimpleTableを選択する正当な理由がある場合があります。