property ObjectType[Index: Integer]: TObjectType; // somente leitura
| Index | Índice baseado em zero do objeto de página, no intervalo de 0 a ObjectCount - 1 |
ObjectType retorna um valor de enumeração TObjectType que descreve
o tipo de objeto de página em Index:
otText — operador de exibição de texto (Tj, TJ, ', ") — uma sequência de glifos que compartilham uma fonte e uma matriz de textootPath — caminho vetorial: linhas, curvas, retângulos e preenchimentos. Use ObjectBounds para obter o retângulo na páginaotImage — imagem raster. Combine com ObjectBitmap para recuperar os pixelsotShading — padrão de sombreamento em gradiente ou baseado em função (sombreamento axial/radial/coon do PDF)otForm — XObject de formulário: um subfluxo reutilizável que pode conter ele próprio texto, caminhos e imagensA classificação é estável e barata; chamá-la em um laço apertado sobre
ObjectCount é a maneira padrão de triar o conteúdo
da página antes de decidir qual acessor mais custoso chamar (ObjectBitmap,
ObjectBounds, propriedades de caractere)
XObjects de formulário não são expandidos recursivamente por esta propriedade — o tipo
relata otForm e os chamadores devem descer na própria lista de objetos do formulário
se precisarem do conteúdo no nível das folhas
otText para índices fora do intervalo válido; sempre verifique com ObjectCountFPDF_PAGEOBJ_* do PDFium na API nativa subjacente
// Histogram of object types on the current page
var
I: Integer;
Counts: array[TObjectType] of Integer;
T: TObjectType;
begin
FillChar(Counts, SizeOf(Counts), 0);
for I := 0 to Pdf.ObjectCount - 1 do
Inc(Counts[Pdf.ObjectType[I]]);
for T := Low(TObjectType) to High(TObjectType) do
Memo1.Lines.Add(Format('%s: %d', [GetEnumName(TypeInfo(TObjectType), Ord(T)), Counts[T]]));
end;