【iTextSharp】セルの中の任意位置に,直線を引きたい場合
関連記事
- 【iTextSharp】セルの高さ指定は,FixedHeightプロパティ 【2014年02月20日(木)】
- iTextSharpのPdfPCellオブジェクト内文字列を丸付き文字にしたい♥ 【2012年06月08日(金)】
- 難航中...難航中... 【2012年05月30日(水)】
- C#でPDFファイルを作るときは『itextsharp』を使うのが楽っぽい 【2012年02月28日(火)】
セルの任意位置に直線を引きたい!とか,2重線を引きたい!!とか
丸描きたい!!!とか,いろいろ,Bitmap系の小細工をやりたい場合
たとえば,こんな感じで,下線を引きたいとか?(Borderプロパティあたりでもこれぐらいなら実現できますけど:汗)
IPdfPCellEventインターフェースの継承クラスを作って,
CellLayout()メソッドを定義してやればよろしい感じ
ソースはこんな感じにて (セル内に丸を描きたい場合のソースはこちら)
//Cell描画イベントクラス
private class _add_event_MidasiLineYoko : IPdfPCellEvent {
public void CellLayout( PdfPCell cell, Rectangle position, PdfContentByte[] canvases)
{
PdfContentByte cb = canvases[PdfPTable.TEXTCANVAS];
cb.SetLineWidth(1.5f);
cb.MoveTo(position.Left, position.Bottom – 3);
cb.LineTo(position.Right, position.Bottom – 3);
cb.Stroke();
//直線だけじゃなく,丸でも,☆でも,Bitmapでも描画できまする(Bitmapだけは試してない:汗)
}
}
_add_event_MidasiLineYoko line = new _add_event_MidasiLineYoko(); //Cell描画イベントクラスのインスタンスを作る
PdfPCell cell = new PdfPCell(new Phrase(“請 求 書”, fntNormal));
cell.HorizontalAlignment = Element.ALIGN_LEFT ;
cell.BackgroundColor = BaseColor.WHITE;
cell.VerticalAlignment = Element.ALIGN_MIDDLE;
cell.FixedHeight = 22f;
cell.Border = Rectangle.NO_BORDER;
cell.CellEvent = line; // <--Cell描画イベントにインスタンスをセット
tbl.AddCell(pcell);
[/csharp]
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)