type TSPdfRectangleRange = class(TSPdfBasicRange) public function Create(); function Do();override; end; function TSPdfRectangleRange.Create(); begin class(TSPdfBasicRange).Create(); end; function TSPdfRectangleRange.Do();override; begin // self.Page.SetRGBStroke(1.0, 0.0, 0.0); // println("page = {}, endx = {}, endy = {}, DynamicHeight = {}, Width = {}", self.Page, self.EndX, self.EndY, self.DynamicHeight, self.Width); self.Page.SetGrayStroke(0.5); self.Page.SetLineWidth(0.5); self.Page.Rectangle(self.EndX, self.EndY - self.DynamicHeight, self.Width, self.DynamicHeight); self.Page.Stroke(); self.Page.SetGrayStroke(0); end;