THPDFPage.UserWidth

THPDFPage

 

Κορυφή  Προηγούμενο  Επόμενο

Επιστρέφει το πλάτος της σελίδας σε μονάδες σχεδίασης, δηλαδή σε 1/THotPDF.Resolution της ίντσας

 

Delphi syntax:

property UserWidth: Single; // read-only

 

C++ syntax:

__property float UserWidth = {read=GetUserWidth};

 

Περιγραφή

Οι συντεταγμένες X, τα περιθώρια, τα μεγέθη γραμματοσειρών και οι τιμές που επιστρέφουν οι TextWidth και TextHeight είναι σε 1/Resolution της ίντσας. Η Width κρατά το πλάτος της σελίδας σε points και δέχεται points όταν την ορίζετε, οπότε με Resolution διαφορετικό από 72 δεν αντιστοιχεί στις συντεταγμένες με τις οποίες σχεδιάζετε. Διαβάζετε το UserWidth κάθε φορά που συγκρίνετε ή συνδυάζετε το πλάτος της σελίδας με συντεταγμένες σχεδίασης, για παράδειγμα για να βρείτε το δεξί όριο του περιθωρίου, να κεντράρετε ένα block ή να αποφασίσετε πότε το content πρέπει να μεταφερθεί στην επόμενη σελίδα

Στην προεπιλογή Resolution 72 το UserWidth ισούται με την Width. Μια σελίδα που διαστασιολογείται ορίζοντας Width και Height σχεδιάζει σε points ανεξάρτητα από το Resolution, και τότε το UserWidth πάλι ισούται με την 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