AutoFitTableColumns
页面布局、表格
描述
测量样式化表格单元格内容,并为每列分配恰好填满请求表格宽度的宽度
语法
Delphi
Function TPDFlib.AutoFitTableColumns(TableID: Integer; TotalWidth, MinColumnWidth, MaxColumnWidth: Double): Integer;ActiveX
Function PDFlib::AutoFitTableColumns(TableID As Long, TotalWidth As Double, MinColumnWidth As Double, MaxColumnWidth As Double) As LongDLL
int DLAutoFitTableColumns(int InstanceID, int TableID, double TotalWidth, double MinColumnWidth, double MaxColumnWidth);参数
| TableID | 由 CreateTable 返回的句柄 |
|---|---|
| TotalWidth | 在当前坐标系中分配到所有列的精确总宽度 |
| MinColumnWidth | 应用于每一列的正硬性最小值 |
| MaxColumnWidth | 应用于每一列的硬性最大值,且不小于 MinColumnWidth |
返回值
分配宽度时返回 1;表格未知、值非有限、边界无效或总宽度不可行时返回 0
备注
单元格文本使用与表格绘制相同的 HTML 字体、内联样式、文本大小、颜色和水平内边距进行测量
单列单元格先建立首选宽度,随后逐渐变宽的合并单元格会在其跨越的列范围内增加约束
若首选宽度超过 TotalWidth,列会按比例收缩至 MinColumnWidth;剩余宽度会分配给尚未达到 MaxColumnWidth 的列
被拒绝的调用具有原子性,并保留所有现有列宽
示例
TableID:= PDF.CreateTable(20, 3);
PDF.SetTableCellContent(TableID, 1, 1, 'Item');
PDF.SetTableCellContent(TableID, 1, 2, 'Description');
PDF.SetTableCellContent(TableID, 1, 3, 'Amount');
if PDF.AutoFitTableColumns(TableID, 495, 60, 300)= 1 then
PDF.DrawTableRows(TableID, 50, 780, 700, 1, 0);另请参阅
CreateTable、SetTableColumnWidth、MergeTableCells、DrawTableRows