回复 14楼450289068的帖子
如果想要模板的页数控制在一页,就无法避免有空白的现象。
或者是高度和宽度安照不同比例设置,这样图像就失去比例了。不协调。
两者只能取其一。
如果是第一种情况,可以通过以下方法获取Table高度:
所以我们需要获取 Table 的高度来限制 Image 的比例,代码如下:
- public int getTableHeight(TXTextControl.Table table)
- {
- int beginPos = 0;
- int endPos = 0;
- // Get Table
- table = textControl1.Tables.GetItem(0);
- // Get cell in first row
- TXTextControl.TableCell cell = table.Cells.GetItem(1, 1);
- textControl1.Selection.Start = cell.Start;
- /***********
- * Calculate BeginPoint.Y of table
- * *********/
- // Get first TextChar in Cell
- TXTextControl.TextChar textChar = textControl1.TextChars[textControl1.Selection.Start + 1];
- // Get Rectangle.Position.Y of textChar
- beginPos = textChar.Bounds.Y; // TWIPS
- // Deduct TopBorderWidth and TopTextDistance
- beginPos = beginPos - (cell.CellFormat.TopBorderWidth + cell.CellFormat.TopTextDistance); // TWIPS
- /*************
- * Calculate EndPoint.Y of table
- * ***********/
- // Get cell in last row
- cell = table.Cells.GetItem(table.Rows.Count, 1);
- textControl1.Selection.Start = cell.Start;
- // Get first TextChar in Cell
- textChar = textControl1.TextChars[textControl1.Selection.Start + 1];
- // Get Rectangle.Position.Y and deduct Height of TextChar
- endPos = textChar.Bounds.Y + textChar.Bounds.Height; // TWIPS
- // Add BottomBorderWidth and BottemTextDistance
- endPos = endPos + (cell.CellFormat.BottomBorderWidth + cell.CellFormat.BottomTextDistance);
- /************
- * Calculate Height
- * **********/
- int height = endPos - beginPos; //TWIPS
- return height; //TWIPS
- }
复制代码 |