Beispiel #1
0
        private int GetLinesInCell(TableCell cell, int cellIndex, TableGrid grid)
        {
            string text = cell.InnerText.Replace("\n", " ");
            //Paragraph p = cell.Descendants<Paragraph>().First();
            //Style style = p.Descendants<Style>().First();
            //DocumentFormat.OpenXml.Wordprocessing.Font f = style.Descendants<DocumentFormat.OpenXml.Wordprocessing.Font>().First();
            //string fontFamily = f.FontFamily.ToString();
            //float fontSize = Convert.ToSingle(cell.Descendants<Style>().First().Descendants<DocumentFormat.OpenXml.Wordprocessing.Font>().First().ToString());

            string fontFamily = "Calibri";
            float  fontSize   = 11;

            System.Drawing.Font font = new System.Drawing.Font(fontFamily, fontSize);
            float textWidth          = Filler.Graphics.MeasureString(text, font).Width * 72 / Filler.Graphics.DpiX;

            float cellWidth = Convert.ToSingle(grid.Descendants <GridColumn>().ToList()[cellIndex].Width.Value) / 20;

            return(Convert.ToInt32(Math.Ceiling(textWidth / cellWidth)));
        }