【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]
コメント
【地震】日向灘でM4.4の地震
【#第三次世界大戦】ウクライナ空軍 “ICBM1発がロシア南部から発射された”
司法省 “グーグルはクローム売却を” 裁判所に要求へ 米報道
最近,仕事がずっと激しい...ドロドロドロ
今日は謎の宴会らしい...スーツが入るのかっ!?(GRB爆
「侍ジャパン」宮崎県入り 「プレミア12」向け きょうから合宿
【#総選挙】 衆議院選挙 きょう投票 ...ドロドロドロ(24/10/27)
【#線状降水帯】宮崎 延岡「土砂崩れで家がつぶれている」通報 1人不明(24/10/23)
【冬】お~日本海に筋雲が出ちょる!冬がキター
【#寒冷前線】13時頃30℃の気温が今は25℃無いぞー