【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]
コメント
宮崎ー台湾 国際定期便が週2往復に増便へ 来月30日から(25/2/15)
『にっぽん縦断 こころ旅』4月から田中美佐子が新たな旅人に 火野正平さんが14年間担当
オリックス・バファローズのキャンプ見学に行ってきた,昨日(爆(25/2/9)
【大雪】9日も降り続く見込み 交通影響に警戒 雪崩など注意を(25/2/9)
日産、ホンダとの統合合意撤回へ(25/2/5)
【特殊詐欺:トクリュウ】+1-844-173-3313から電話キター 特殊詐欺だぁ~~これはアカンヤツ
備蓄米放出へ準備、流通不足で初 政府、買い戻し条件に売り出し