TableRoundBorders.cs
C# VB
//// This code is part of Document Solutions for PDF .NET demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System.IO;using System.Drawing;using GrapeCity.Documents.Pdf;using GrapeCity.Documents.Text;using GrapeCity.Documents.Drawing;using GrapeCity.Documents.Layout;using GCTEXT = GrapeCity.Documents.Text;using GCDRAW = GrapeCity.Documents.Drawing;
namespace DsPdfWeb.Demos{ // This example shows how to draw a table with rounded // table and cell borders, // using the GrapeCity.Documents.Drawing.TableRenderer and related classes. public class TableRoundBorders { public int CreatePDF(Stream stream) { var doc = new GcPdfDocument(); var g = doc.NewPage().Graphics;
DrawTable(g, g.CanvasSize.Width, g.CanvasSize.Height);
// Save the PDF: doc.Save(stream); return doc.Pages.Count; }
static void DrawTable(GcGraphics g, float pageWidth, float pageHeight) { var host = new LayoutHost(); var view = host.CreateView(pageWidth, pageHeight);
var rt = view.CreateRect(); rt.AnchorTopLeftRight(null, 36, 36, 36);
var ta = new TableRenderer(g, rt, FixedTableSides.TopLeftRight, rowCount: 5, columnCount: 4, gridLineColor: Color.Transparent, gridLineWidth: 1, rowMinHeight: 30, paddingAll: 3) { TableFrameStyle = new FrameStyle { FillColor = Color.AliceBlue, LineColor = Color.CornflowerBlue, LineWidth = 1, CornerRadius = 5 } };
var columns = ta.ColumnRects; columns[0].SetStarWidth(1); columns[1].SetStarWidth(5); columns[2].SetStarWidth(2); columns[3].SetStarWidth(3);
var fmt = new TextFormat { Font = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "NotoSans-Regular.ttf")), ForeColor = Color.CornflowerBlue, FontSize = 14, FontSizeInGraphicUnits = true }; var csNormal = new CellStyle { TextFormat = fmt, ParagraphAlignment = ParagraphAlignment.Center, PaddingLeftRight = 10, FillColor = Color.MistyRose, LineColor = Color.CornflowerBlue, LinePaddingAll = 2, LineWidth = 1, CornerRadius = 5 }; var csCenter = new CellStyle(csNormal) { TextAlignment = TextAlignment.Center, PaddingLeftRight = 0, }; var csHeader = new CellStyle(csCenter) { TextFormat = new TextFormat(fmt) { ForeColor = Color.White, FontBold = true }, FillColor = Color.LightBlue };
ta.AddCell(csHeader, 0, 0, "#"); ta.AddCell(csHeader, 0, 1, "Name"); ta.AddCell(csHeader, 0, 2, "Age"); ta.AddCell(csHeader, 0, 3, "Country");
ta.AddCell(csCenter, 1, 0, "1."); ta.AddCell(csNormal, 1, 1, "Alice"); ta.AddCell(csCenter, 1, 2, "25"); ta.AddCell(csNormal, 1, 3, "Spain");
ta.AddCell(csCenter, 2, 0, "2."); ta.AddCell(csNormal, 2, 1, "Bob"); ta.AddCell(csCenter, 2, 2, "36"); ta.AddCell(csNormal, 2, 3, "Germany");
ta.AddCell(csCenter, 3, 0, "3."); ta.AddCell(csNormal, 3, 1, "Ken"); ta.AddCell(csCenter, 3, 2, "5"); ta.AddCell(csNormal, 3, 3, "Brazil");
ta.AddCell(csCenter, 4, 0, "4."); ta.AddCell(csNormal, 4, 1, "Teddy"); ta.AddCell(csCenter, 4, 2, "12"); ta.AddCell(csNormal, 4, 3, "Mexico");
ta.ApplyCellConstraints();
ta.Render(); } }}