DrawTextFlowColumns

文字、版面

描述

把剩餘文字由左至右流經頁面區域內的等寬欄位

語法

Delphi

Function TPDFlib.DrawTextFlowColumns(FlowID: Integer; Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; Balance: Integer): Integer;

ActiveX

Function PDFlib::DrawTextFlowColumns(FlowID As Long, Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, Balance As Long) As Long

DLL

int DLDrawTextFlowColumns(int InstanceID, int FlowID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int Balance);

參數

FlowIDNewTextFlow 傳回的控制代碼
Left, Top完整欄位區域的左上角位置
Width, Height整個欄位區域的可用尺寸
Columns等寬欄數,1 到 64
Gutter相鄰欄位之間的非負間距
Balance0 讓每一欄填滿到全高;1 則對完成後的區域做配平

傳回值

傳回已繪製的總行數;一行都放不下、控制代碼無效或幾何無效時傳回 0

備註

當 Balance 為 1 且剩餘文字放得進完整區域時,函數會把確切的剩餘行數平均分配到要求的欄位

剩餘文字超過區域容量時,每欄都保持完整的要求高度,避免中繼頁面的容量被縮減

平衡量測最多只超出區域容量一行,避免為必須延續到下一頁的長段落做完整掃描

幾何無效或區域短到放不下一行時,排版游標保持不變

範例

while PDF.TextFlowFinished(Flow)= 0 do
begin
  PDF.DrawTextFlowColumns(Flow, 50, 60, 495, 720, 3, 18, 1);
  if PDF.TextFlowFinished(Flow)= 0 then PDF.NewPage;
end;

另見

DrawTextFlow, MeasureTextFlow, SetTextFlowMinLines