THPDFPage.UserWidth

THPDFPage

 

Topo  Anterior  Próxima

Retorna a largura da página em unidades de desenho, 1/THotPDF.Resolution de polegada

 

Sintaxe Delphi:

property UserWidth: Single; // read-only

 

Sintaxe C++:

__property float UserWidth = {read=GetUserWidth};

 

Descrição

Coordenadas X, margens, tamanhos de fonte e os valores retornados por TextWidth e TextHeight ficam em 1/Resolution de polegada. Width guarda a largura da página em pontos e aceita pontos quando você a define, então com uma Resolution diferente de 72 ela não corresponde às coordenadas com que você desenha. Leia UserWidth sempre que for comparar ou combinar a largura da página com coordenadas de desenho, por exemplo para achar a borda da margem direita, centralizar um bloco ou decidir quando o conteúdo precisa passar para a próxima página

Na Resolution padrão de 72, UserWidth é igual a Width. Uma página dimensionada definindo Width e Height desenha em pontos qualquer que seja a Resolution, e nesse caso UserWidth também fica igual a Width

 

Exemplo de código

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