發表文章

目前顯示的是 12月, 2019的文章

itextSharp繪製表單使用攻略(如何美化)

筆者從2011年開始接觸itextsharp這個從java轉到c#的套件,累積了一些心得與大家分享。 一、itextSharp 的物件概念很徹底,從文件本體的 doc 出發,最小單元的phrase(詞彙),到paragraph(段落),乃至於table,都是以組件的方式新增到doc之中。因為用法很靈活,初學者很常會搞不清楚而寫出冗長的程式碼。 例如畫出一個表格,語法大概像下面這樣,先指定有幾欄、帶入每欄寬度、表格的寬度,以及欄位的padding預設值。可以用預設值方式設定格子的留白(padding),看起來較專業。若是padding沒設,字會跟儲存格黏再一起,感覺就像是工程師畫的 XD float[] tbPreReqColWidth = { 250f, 250f, 250f, 250f }; PdfPTable tbCredit = new PdfPTable(4); tbCredit.SetWidths(tbPreReqColWidth); tbCredit.WidthPercentage = 95; //寬度 tbCredit.DefaultCell.Padding = 7; 若是宣告好 paragraph,直接用addcell方法塞進表格而產生cell的,會自動套用 DefaultCell的屬性值,如: tbCredit.AddCell(thisTeach2); 若是這是個需要獨立個別屬性的儲存格,就不受到tbCredit.DefaultCell底下屬性的影響,必須都自己來。 Paragraph BriefTitle = new Paragraph("一、教師姓名:" + query1.NAME_CH.Trim() + "\n", largeFontBold); BriefTitle.Alignment = Element.ALIGN_LEFT; PdfPCell cellTitle = new PdfPCell(BriefTitle); cellTitle.Colspan = 4; cellTitle.PaddingBottom = 7; cellTitle.BackgroundColor = new BaseColor(System.Drawing.Color.LightGra...