Delphi 查找使用eDocEngine生成的表的结尾

Delphi 查找使用eDocEngine生成的表的结尾,delphi,pdf-generation,Delphi,Pdf Generation,我们有几个报告使用将单独的表输出到PDF中,只要数据正确地放入单元格中,这些报告都可以正常工作 问题是,当数据包装时,它会更改行高,使表变大。这意味着当我们输出下一个表时,它会重叠并破坏报告输出。目前,我们使用了一些变通方法,比如测试字符串长度,看看是否将换行或向下一个表顶部添加一个常量,以便在顶部表稍微增长时添加一点空间 我希望能够在调用EndTable后获得表格的高度或底部,以便相应地调整后续表格 我们使用的是Delphi2007,eDocEngine 2.5 Type TExposePro

我们有几个报告使用将单独的表输出到PDF中,只要数据正确地放入单元格中,这些报告都可以正常工作

问题是,当数据包装时,它会更改行高,使表变大。这意味着当我们输出下一个表时,它会重叠并破坏报告输出。目前,我们使用了一些变通方法,比如测试字符串长度,看看是否将换行或向下一个表顶部添加一个常量,以便在顶部表稍微增长时添加一点空间

我希望能够在调用
EndTable
后获得表格的高度或底部,以便相应地调整后续表格

我们使用的是Delphi2007,eDocEngine 2.5

Type TExposeProtectedeDocEngine = Class (TgtCustomDocumentEngine)
    public
        function GetTableBottom: Double;
        function GetTableTop: Double;
        Function GetTableHeight: Double;
End;

{ TExposeProtectedeDocEngine }

function TExposeProtectedeDocEngine.GetTableTop: Double;
begin
    if Assigned(FTableItem) then
    begin
        Result := FTableItem.Y;
    end
    else
        Result := 0;
end;

function TExposeProtectedeDocEngine.GetTableHeight: Double;
var
  i: Integer;
begin
    Result := 0;
    if Assigned(FTableItem) then
    begin
        for i := 0 to FTableItem.RowHeights.Count - 1 do
            Result := Result + Int64(FTableItem.RowHeights[i]);
    end;
end;

function TExposeProtectedeDocEngine.GetTableBottom: Double;
begin
    Result := GetTableHeight + GetTableTop;
end;

function GetPreviousTableBottom(Engine : TgtCustomDocumentEngine): Double;
begin
    Result := TExposeProtectedeDocEngine(Engine).GetTableBottom;
end;