PDFium Delphi Component Docs

Método UpdatePageObject

Componente: TPdf  ·  Unidade: PDFium
Escreve de volta atributos selecionados de um objeto de página, deixando intactos todos os atributos fora do conjunto de alterações

Syntax

procedure UpdatePageObject(Index: Integer; const Value: TPdfPageObjectInfo; Changes: TPdfPageObjectChanges);

IndexInteger. Índice de base zero do objeto de página a modificar
ValueTPdfPageObjectInfo. Registo que transporta os novos valores de atributos, normalmente obtido de PageObjectInfo e depois editado
ChangesTPdfPageObjectChanges. Conjunto de flags TPdfPageObjectChange que seleciona os atributos a escrever: pocMatrix, pocActive, pocFillColor, pocStrokeColor, pocStrokeWidth, pocLineJoin, pocLineCap, pocDashPattern

Description

Aplica os campos nomeados por Changes ao objeto de página em Index. Um conjunto vazio não faz nada, por isso um chamador pode calcular um conjunto de alterações e chamar incondicionalmente

O conjunto de alterações existe porque um registo TPdfPageObjectInfo transporta sempre todos os atributos, incluindo os que o PDFium não expõe para esse tipo de objeto. Escrevê-los todos de volta empurraria valores sem sentido para o objeto - por exemplo uma cor de traço para uma imagem. Nomear os campos explicitamente mantém a edição tão estreita quanto o chamador pretendia

As alterações de cor tomam o valor alfa do campo correspondente do registo: pocFillColor escreve FillColor juntamente com FillAlpha, e pocStrokeColor escreve StrokeColor com StrokeAlpha. A página de texto em cache é descartada porque uma edição de geometria ou cor pode alterar as posições do texto extraído

Example

var Info: TPdfPageObjectInfo;
Info := Pdf.PageObjectInfo(2);
Info.FillColor := clRed;
Info.FillAlpha := $FF;
Pdf.UpdatePageObject(2, Info, [pocFillColor]);
Pdf.UpdatePage;

See Also

PageObjectInfo, TransformPageObject, RemoveObject, UpdatePage