PageObjectInfo retorna um snapshot TPdfPageObjectInfo contendo o handle, o tipo de objeto, os limites normais e rotacionados, a matriz efetiva, o estado ativo, a transparência, as cores de preenchimento e de traço, os valores de alfa, a largura do traço, a junção de linha, o terminal de linha, o array de tracejado e a fase de tracejado
HasRotatedBounds, HasActiveState e os demais campos Has* distinguem um valor nativo indisponível de um valor zero válido
RotatedBounds carrega o quadrilátero rotacionado, HasLineJoin e HasLineCap condicionam os estilos de junção e de terminal, e DashPhase desloca o início do padrão de tracejado
Info := Pdf1.PageObjectInfo(0);
Info.StrokeWidth := 4;
SetLength(Info.DashArray, 2);
Info.DashArray[0] := 8;
Info.DashArray[1] := 4;
Pdf1.UpdatePageObject(0, Info, [pocStrokeWidth, pocDashPattern]);
UpdatePageObject aplica todos os campos selecionados ao mesmo objeto nativo e regenera o conteúdo da página uma única vez
TransformPageObject compõe uma FS_MATRIX afim com o objeto selecionado
PathInfo retorna o modo de preenchimento, o estado do traço, o tipo de segmento, o ponto final e o estado de fechamento de cada segmento do caminhoPageObjectClipPath retorna todos os subcaminhos e segmentos de recorte associados a um objeto de páginaTransformPageObjectClipPath(Index, Matrix) transforma somente essa geometria de recorte e deixa a matriz do objeto de página inalteradaFormObjectChildren retorna snapshots detalhados dos filhos imediatos de um Form XObjectDetachFormObjectChild(FormIndex, ChildIndex) remove um filho e transfere a posse do FPDF_PAGEOBJECT retornado ao chamador, que deve inseri-lo ou destruí-loTextObjectGlyphOutline expõe a geometria do caminho do glifo, enquanto TextObjectGlyphWidth(Index, GlyphIndex, FontSize) retorna o avanço nativo do glifo no tamanho solicitadoTextObjectFontSize(Index) lê o tamanho nativo do objeto de texto e SetTextObjectFontSize(Index, FontSize) o edita sem aproximar por meio de uma transformação de matrizGetImageObjectRenderedBitmap(Index) retorna um bitmap pertencente ao chamador com a máscara de imagem, a conversão de cores e a matriz de imagem aplicadas pelo PDFiumAnnotationObjectCount, AnnotationObjectInfo, AddPathToAnnotation e RemoveAnnotationObject operam em objetos de aparência de anotaçõesIsAnnotationObjectSubtypeSupported(Subtype) verifica se o módulo PDFium carregado suporta extração, atualização e remoção de objetos de aparência para o subtypePerformNamedAction despacha uma ação conhecida do documento e OnNamedAction relata os callbacks de named-actionCharacterInfo retorna as cores de preenchimento e de traço, o nome da fonte, os flags de fonte PDF, os limites amplos do glifo, a matriz efetiva e o handle do objeto de texto associado
CharacterIndexToTextIndex e TextIndexToCharacterIndex convertem entre índices de caracteres do PDFium e índices no fluxo de texto gerado
TPdfAnnotation expõe os raios e a largura da borda por meio de HasBorder, BorderHorizontalRadius, BorderVerticalRadius e BorderWidth
A cobertura de cores se estende a ColorAlpha, InteriorColor e InteriorColorAlpha, os metadados de marcação são condicionados por HasAuthor, HasName, HasSubject, HasModificationDate, HasCreationDate e HasIcon, e gestos de tinta, geometria de quad-points e destinos de links são expostos por meio de InkList, HasAttachmentPoints, HasLinkUri e LinkUri
Os fluxos de aparência normal, rollover e down estão disponíveis por meio das sentinelas HasAppearanceNormal, HasAppearanceRollover e HasAppearanceDown e suas strings correspondentes AppearanceNormal, AppearanceRollover e AppearanceDown
Ao ler uma anotação, essas sentinelas identificam conteúdo de aparência não vazio: a API nativa retorna a mesma string vazia para um fluxo ausente e para um fluxo vazio, então ambos reportam False e ficam intocados quando o record é gravado de volta; o chamador ainda pode definir explicitamente uma sentinela como True para gravar uma aparência vazia
Atribua o registro de anotação atualizado de volta a Annotation[Index] para gravar valores selecionados de borda ou de aparência
ConfigurePdfLibrary, GetPdfLibraryConfiguration e PdfLibraryConfigurationSealed configuram e auditam a política imutável de inicialização nativa e de sandbox em todo o processo antes do primeiro carregamentoTPdfLibraryConfiguration carrega UserFontPaths, V8Isolate, V8EmbedderSlot, V8Platform, Renderer, FontBackend, BrotliEnabled, IsolatePerDocument e AllowMachineTime, e usa TPdfRendererPreference (prpDefault, prpAgg, prpSkia) e TPdfFontBackendPreference (pfbpDefault, pfbpFreeType, pfbpFontations) para selecionar somente os campos nativos de que a configuração solicitada precisaPdfDefaultTtfMapCount e TryGetPdfDefaultTtfMapEntry enumeram substituições de fontes padrão nativas com acesso indexado verificadoTPdfDefaultTtfMapEntry copia o nome da fonte, o charset e os metadados nativos de fonte da plataforma de uma entrada de mapeamento indexadaFormFieldZOrderAtPoint e LinkZOrderAtPoint retornam o z-order nativo mais frontal ou -1 quando não existe alvoTryGetAnnotationFileAttachment copia metadados e payload limitados de arquivo enquanto seu handle nativo de anotação é válidoTPdfAnnotationAttachment possui esses metadados e payload copiados independentemente dos handles de página e de anotaçãoGetLinkedAnnotationIndex e GetLinkedAnnotationChain resolvem relações Popup e IRT com proteção contra referências pendentes, ciclos e profundidadeTPdfAnnotationRelationship seleciona a relação Popup (parPopup) ou IRT (parInReplyTo) e TPdfAnnotationSubtypes armazena o array de subtypes da política de focoGetAnnotationDictionaryValue e GetAttachmentDictionaryValue informam o tipo exato do valor nativo antes de retornar um valor escalar suportadoTPdfDictionaryValueKind preserva a categoria nativa do objeto (pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull, pdvkReference) e TPdfDictionaryValue carrega o escalar numérico ou de string suportado em NumberValue e StringValue, com HasScalarValue como sentinela explícitaSetFocusableAnnotationSubtypes e GetFocusableAnnotationSubtypes controlam a elegibilidade de foco de teclado por meio do handle nativo de formulárioTPdfStructureElement.Attributes é uma árvore plana TPdfStructureAttributeValues cujos nós TPdfStructureAttributeValue se vinculam ao dicionário de atributos ao qual pertencem por meio de AttributeIndex e preservam valores aninhados tipados e blobs sem perda em BlobValueTPdfView.FormFieldZOrderAt, TPdfView.LinkZOrderAt e TPdfView.ReplaceFormTextAndKeepSelection expõem a conversão de coordenadas correspondente e as operações de formulário que preservam a seleção por meio do controle visualThumbnailRawData retorna o fluxo de miniatura incorporado antes da decodificação do filtroThumbnailDecodedData retorna o fluxo de miniatura incorporado depois da decodificação do filtroTransformPageContent transforma e recorta todos os objetos da página, regenera a página e recarrega seus handles derivadosTransformPageAnnotations aplica o mesmo modelo de coordenadas afins a todas as anotações da página atual
Matrix.a := 0.5;
Matrix.b := 0;
Matrix.c := 0;
Matrix.d := -0.5;
Matrix.e := 0;
Matrix.f := 421;
Clip.Left := 0;
Clip.Top := 0;
Clip.Right := 300;
Clip.Bottom := 421;
Bitmap := Pdf1.RenderPageWithMatrix(300, 421, Matrix, Clip);
RenderPageWithMatrix aceita uma FS_MATRIX invertível e um retângulo de recorte em coordenadas de dispositivo
A sobrecarga que recebe um TBitmap de propriedade do chamador renderiza diretamente em um DIB de 32 bits compatível e recorre a uma única cópia somente quando um bitmap externo do PDFium não pode ser criado
A renderização por matriz desenha o conteúdo da página e as anotações não interativas selecionadas por meio de render flags, mas não invoca o renderizador de sobreposição de preenchimento de formulários