iText の表に斜線を引く

帳票印刷等で、表のセルに斜め線を入れたいことがあります。
PdfPTable や PdfPCell には斜線を引くメソッドがありませんが、
PdfContentByte で、直接、描画する方法が考えられます。

座標の原点は左下で、A4用紙の幅は595ユニット、高さは842ユニットです。
なので例えば、上下左右に30ユニットずつ余白をとって作成した表の、左上隅のセルに斜線を入れたい場合には次のようにします。(セルの高さが20ユニット、セルの列幅が、表の幅の1/3の場合の例。)

float  w = (595 - 60)/3;
float  h = 20;
float px = 30;
float py = 842 - 30;
PdfContentByte cb = pdfwriter.getDirectContent();
cb.moveTo(px, py);
cb.lineTo(px+w, py-h);
cb.stroke();

サンプルコード

tebletest