THPDFPage.UserWidth

THPDFPage

 

Top  Previous  Next

Zwraca szerokość strony w jednostkach rysowania, 1/THotPDF.Resolution cala

 

Delphi syntax:

property UserWidth: Single; // read-only

 

C++ syntax:

__property float UserWidth = {read=GetUserWidth};

 

Description

Współrzędne X, marginesy, rozmiary czcionek i wartości zwracane przez TextWidth i TextHeight są w 1/Resolution cala. Width trzyma szerokość strony w punktach i przy ustawianiu przyjmuje punkty, więc przy Resolution innej niż 72 nie zgadza się ze współrzędnymi, którymi rysujesz. Czytaj UserWidth zawsze, gdy porównujesz albo łączysz szerokość strony ze współrzędnymi rysowania — na przykład żeby znaleźć prawą krawędź marginesu, wyśrodkować blok albo zdecydować, kiedy treść musi przejść na następną stronę

Przy domyślnym Resolution 72 UserWidth równa się Width. Strona wymiarowana przez ustawienie Width i Height rysuje w punktach niezależnie od Resolution, więc UserWidth również równa się Width

 

Code Example

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