THPDFPage.UserWidth

THPDFPage

 

トップへ  前へ  次へ

ページの幅を作図単位(1/THotPDF.Resolution インチ)で返します。

 

Delphi 構文:

property UserWidth: Single; // read-only

 

C++ 構文:

__property float UserWidth = {read=GetUserWidth};

 

説明

X 座標、マージン、フォントサイズ、TextWidth と TextHeight の戻り値は、いずれも 1/Resolution インチです。Width はページの幅をポイントで保持し、設定にもポイントを受け取るため、Resolution が 72 以外のときは作図に使う座標と一致しません。ページの幅を作図座標と比較したり組み合わせたりするとき、たとえば右マージンの端を求めるとき、ブロックを中央揃えにするとき、コンテンツを次のページへ移すタイミングを判定するときは、UserWidth を読み取ってください

既定の Resolution 72 では、UserWidth は Width と等しくなります。Width と Height の設定でページサイズを決めた場合、Resolution が何であってもポイント単位で作図されるため、このときも UserWidth は Width と等しくなります。

 

コード例

program RightAlignedText;
{$APPTYPE CONSOLE}
uses
  SysUtils,
  HPDFDoc;

var
  HPDF: THotPDF;
  Text: AnsiString;
  X: Single;

begin
  HPDF:= THotPDF.Create(nil);
  try
    HPDF.FileName:= 'RightAlignedText.pdf';
    HPDF.Resolution:= 144;                    // Coordinates in 1/144 inch
    HPDF.BeginDoc;
    HPDF.CurrentPage.SetFont('Arial', [], 24); // 12 pt
    Text:= 'Right aligned with a one inch margin';
    // UserWidth is 1190 on an A4 page here; Width stays 595 points
    X:= HPDF.CurrentPage.UserWidth- 144- HPDF.CurrentPage.TextWidth(Text);
    HPDF.CurrentPage.TextOut(X, 144, 0, Text);
    HPDF.EndDoc;
  finally
    HPDF.Free;
  end;
end.

 

See also: Width, UserHeight, THotPDF.Resolution