PDFium Delphi Component Docs

Referência da API PDFium VCL

O Windows usa a VCL ou o conjunto de widgets de Windows do Lazarus. As compilações nativas de Free Pascal/LCL usam Linux Qt6 ou macOS Cocoa com uma biblioteca partilhada do PDFium correspondente; veja a configuração nativa da LCL para os requisitos de toolchain e de runtime. O wrapper VCL de Delphi/C++Builder continua a ser um caminho para Windows; a qualificação dos auxiliares nativos de criptografia e de timestamps do Delphi no macOS é separada do wrapper visual

Unidades auxiliares

UnidadeDescrição
FPdfAsyncFornece cancelamento estruturado, futures configuráveis e um conjunto limitado de workers com prioridades para trabalho PDF reativo em segundo plano
FPdfMatrixFornece composição afim, diagnóstico, mapeamento de retângulos ajustados, geometria inversa, decomposição e transformações em massa de pontos ou retângulos para as APIs de objetos de página do PDFium
FPdfMeasureAcrescenta os métodos auxiliares TPdf.MeasureText, MeasureTextWidth e WrapText para disposição de texto em unidades de utilizador PDF
FPdfLayoutConstrói layouts paginados, etiquetados, baseados em grelha, Markdown, HTML, tabelas, imagens, links e nós reutilizáveis
FPdfTextShapingMolda texto Unicode bidirecional em sequências visuais de glifos limitadas com uma interface de moldagem extensível e uma implementação Windows Uniscribe
FPdfProductionFornece fluxos de trabalho de produção limitados de cor, tipos de letra, SVG, substituição, XFA, códigos de barras, Portfolio e RichMedia
FPdfDiffAlinhamento de páginas com limites definidos, diferenças de texto Unicode e regiões visuais conectadas
FPdfMergeMerge transacional de páginas com outline, named destinations e links internos, com verificação por reabertura independente
FPdfOcrTesseractFornecedor opcional de OCR com Tesseract, com limites explícitos de dependência e de reconhecimento
FPdfFormMergeMerge transacional de campos AcroForm com políticas de colisão explícitas
FPdfBarcodeZXingGeração e reconhecimento nativos opcionais de códigos de barras
FPdfStyledEditSubstituição verificada de texto PDF com estilo, com pré-visualização e rollback
FPdfSemanticDiffAlterações semânticas estáveis de anotações e formulários, com coordenadas de overlay de antes/depois
FPdfColourLittleCmsTransformações ICC nativas opcionais para amostras Gray, RGB e CMYK originais
FPdfDocumentColourConversão de cores de documentos PDF com limites definidos e relatórios explícitos de objetos não suportados
FPdfRedactionGeometria de Forms aninhados, caminhos preenchidos e imagens afins para redaction transacional
FPdfStandardsExecutionExecuta fluxos de trabalho de medição, GeoPDF, reparação PDF/A, PDF/UA, PDF/X, evidência PAdES, PDF/VT, PDF/E e PDF/R
FPdfAsn1Codifica, navega, descodifica e valida dados DER ASN.1 limitados com identificadores de tag alta, valores tipados, verificações canónicas e limites de recursos
FPdfPreflightReportConstrói relatórios de normas consultáveis, planos de reparação PDF/A, preflight de produção PDF/X, regras declarativas, orçamentos de recursos, validação paralela isolada, agregação e exportação legível por máquina
FPdfBenchmarkExecuta corpora limitados de desempenho e conformidade com gates de carregamento, primeira página, renderização, gravação, memória, semântica, píxeis e reabertura independente
FPdfXmpLê, edita e escreve incrementalmente pacotes XMP limitados com consciência de namespaces, valores RDF tipados e preservação de namespaces desconhecidos
FPdf standards helpersAPIs autónomas de validação e gravação de associated files, PAdES, PDF/A, PDF/E, PDF/R, PDF/UA, PDF/VT e PDF/X
FPdfThumbnailFornece o controlo de navegação por miniaturas com deslocamento TPdfThumbnailView
FPdfCompressCompressão FlateDecode ao nível do fluxo, injeção predefinida de open-action, normalização pós-gravação e inspeção de versão PDF usadas pela linha de gravação do TPdf
FPdfContentNormalizeAnalisa e normaliza sequências de conteúdo PDF, incluindo processamento limitado de imagens inline
FPdfXfdfImportação e exportação XFDF autónoma de campos de formulário e anotações sem carregar pdfium.dll
FPdfEditBinding de edição de objetos de página do PDFium mais funções auxiliares autónomas de cores ARGB
FPdfPdfvtMimeConstrói e valida fluxos de partes MIME PDF/VT-2s de ficheiro único com um documento PDF/VT inline, anexos reutilizáveis e perfil ICC
FPdfIccProfileExecuta validação limitada do cabeçalho ICC e da tabela de tags com MD5, SHA-256, metadados de perfil e correspondência de descrições multilingues
FPdfEncryptEscreve PDFs encriptados AESV3-CBC ou ISO/TS 32003 AESV4-GCM e autentica a desencriptação de compatibilidade AESV4
FPdfAesCifra de blocos AES-128 e AES-256 em Pascal puro com expansão de chave e invólucros de fluxo AES-256-CBC
FPdfHmacHMAC-SHA256, HKDF-SHA256, comparação de bytes em tempo constante e limpeza segura de bytes em Pascal puro
FPdfMacConstrói e verifica tokens CMS AuthenticatedData autónomos ISO/TS 32004
FPdfAesGcmEncriptação autenticada AES-GCM em Pascal puro para chaves AES-128 e AES-256
FPdfSha256Hash SHA-256 em Pascal puro com auxiliares incrementais e de uma só passagem
FPdfSha512Hash SHA-512 e SHA-384 em Pascal puro a partilhar um tipo de contexto
FPdfSha3Hash SHA3-256, SHA3-384, SHA3-512 e SHAKE256 em fluxo em Pascal puro para extensões criptográficas PDF 2.x
FPdfCmsConstrói CMS RFC 5652 e CAdES SignedData a partir de um digest destacado e de um backend de criptografia ICmsSigner
FPdfTsaCliente de autoridade de carimbos temporais RFC 3161 para os perfis PAdES B-T e B-LTA
FPdfTsaWinBackend de transporte de carimbos temporais WinHttp do Windows para pedidos RFC 3161
FPdfTsaFpcTransporte de timestamp via libcurl para pedidos RFC 3161 em Linux e macOS
FPdfTsaPosixTransporte HTTP POSIX nativo do Delphi para pedidos de timestamp RFC 3161 com limites definidos
FPdfCryptoFachada de resolução de assinantes PAdES sobre o backend de criptografia ativo
FPdfTrustedListAnálise autenticada de listas de confiança europeias com caching, atualização, trust anchors e avaliação de serviços qualificados
FPdfCryptoWinBackend do Windows para assinatura CNG, verificação CMS destacada, extração do certificado do assinante e avaliação de confiança do sistema apenas em cache
FPdfCryptoMacBackend de assinatura em macOS com uma identidade do Keychain e verificação de CMS através de CMSDecoder e SecTrust
FPdfCryptoSslBackend OpenSSL para a verificação de CMS onde não existe um serviço de verificação do sistema
FPdfCryptoOcspPré-filtro de DER e de frescura de OCSP com limites definidos antes da autenticação nativa do respondedor
FPdfPkcs11Backend de assinatura com token PKCS#11 que mantém a chave privada dentro do token, em todas as plataformas
FPdfSha1SHA-1 em Pascal puro usado apenas para identificar um certificado pela impressão digital, nunca como algoritmo de assinatura
FPdfBidiResolução do algoritmo bidirecional do Unicode (UAX #9) e reordenação visual, sem dependência da plataforma
FPdfTextShapingHbBackend de shaping de texto HarfBuzz para plataformas sem Uniscribe

Métodos do componente TPdf

Gestão de documentos

MétodoDescrição
CreateDocumentCria um novo documento PDF vazio
LoadDocument(Data: TMemoryStream; Buffered: Boolean = True)Carrega um documento PDF a partir de um fluxo de memória
LoadDocument(Data: Pointer; Size: Integer; Buffered: Boolean = True)Carrega um documento PDF a partir de um buffer de memória
LoadDocumentCarrega um documento PDF a partir de FileName
LoadDocument(const Data: TBytes; Buffered: Boolean = True)Carrega um documento PDF a partir de TBytes
LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Carrega em fluxo um documento PDF a partir de qualquer TStream via FPDF_LoadCustomDocument; o PDFium lê blocos sob pedido em vez de copiar o ficheiro inteiro para a memória. AOwnsStream = True transfere a vida do fluxo para a instância TPdf
TPdfLoadOptions, TPdfLoadReport, LastLoadReportSeleciona carregamento compatível, estrito ou de recuperação e inspeciona evidência de auditoria xref limitada
SaveAsRepairedEscreve uma cópia completa de revisão única e carrega-a de forma estrita e independente antes da entrega
TPdfRandomAccessStoreArmazenamento com navegação thread-safe, I/O posicionado e transbordo unidirecional de memória limitada para armazenamento temporário privado eliminado ao fechar
SaveMemoryLimit, SaveTemporaryDirectory, LastSaveSpillCount, LastSaveLargestMemoryBufferConfigura e mede o armazenamento de trabalho limitado usado pela preparação de gravação do TPdf
SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanGrava o documento num fluxo com compressão opcional e verificações explícitas de conformidade de PDF 1.3 até PDF 1.7; a saída de versão explícita encriptada e pv13 com saIncremental geram EPdfError
SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanGrava o documento num ficheiro de forma atómica com compressão opcional e verificações explícitas de conformidade de PDF 1.3 até PDF 1.7; uma normalização ou validação falhada deixa um destino existente inalterado
SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve saída Fast Web View do Anexo F com agrupamento da primeira página e tabelas de sugestões verificadas de deslocamentos de página e objetos partilhados
SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve saída Fast Web View de forma atómica através de um ficheiro temporário no mesmo diretório
SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanEscreve object streams de PDF 1.5+ limitados com um fluxo xref tipo 2 completo
SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanEscreve saída moderna de object streams de forma atómica através de um ficheiro temporário no mesmo diretório
SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve conteúdo lógico de página normalizado e coalescido com validação de sintaxe limitada
SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve saída de conteúdo normalizado de forma atómica através de um ficheiro temporário no mesmo diretório
SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanReescreve o documento como uma única revisão limpa, mantendo apenas os objetos alcançáveis a partir do catálogo e de trailer /Info
SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanEscreve de forma atómica uma cópia podada de revisão única através de um ficheiro temporário no mesmo diretório
SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanReescreve o documento varrendo objetos inalcançáveis e fundindo tipos de letra, imagens e Form XObjects compatíveis num único representante
SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanEscreve de forma atómica uma cópia desduplicada de revisão única através de um ficheiro temporário no mesmo diretório
SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanReescreve o documento recodificando fluxos FlateDecode com compressão máxima quando a poupança ultrapassa um limiar definido pelo chamador
SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanEscreve de forma atómica uma cópia recomprimida com Flate através de um ficheiro temporário no mesmo diretório
SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanReescreve o documento extraindo imagens inline BI/ID/EI para XObjects reutilizáveis e substituindo blocos inline por operadores Do
SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanEscreve de forma atómica uma cópia com imagens externalizadas através de um ficheiro temporário no mesmo diretório
SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanReescreve o documento removendo timestamps não determinísticos e /ID para que gravações repetidas sejam byte-idênticas
SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanEscreve de forma atómica uma cópia reproduzível através de um ficheiro temporário no mesmo diretório
ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanExporta valores diretos e de object streams ativos como JSON tipado limitado com digests SHA-256 opcionais de fluxos codificados
SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanAplica patches transacionais tipados a dicionários de topo e carrega estritamente o resultado preparado antes da entrega
SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de a transação completa de patches do grafo de objetos ter sucesso
ExportObjectGraph / SaveAsObjectGraphPatched object-graph envelopePágina de modelo de inspeção e patch do grafo de objetos partilhada por ambos os métodos, cobrindo o envelope versionado pdf-object-graph-v1 e patches transacionais verificados por strict load
InspectOptionalContent(out Inventory: TPdfOptionalContentInventory; Usage: TPdfOptionalContentUsage = ocuView; ConfigurationIndex: Integer = -1): BooleanLê o modelo de optional content e o estado efetivo de renderização nativo
SaveAsOptionalContentConfigured(Stream: TStream; const Changes: TPdfOptionalContentStateChanges; const Options: TPdfOptionalContentConfigureOptions; out Report: TPdfOptionalContentConfigureReport; AllowSignedDocument: Boolean = False): BooleanEscreve e verifica estritamente o estado de optional content selecionado pelo chamador
BeginEditTransaction(const LabelText: WString = ''; AllowSignedDocument: Boolean = False)Inicia uma transação de edição atómica do documento a partir de um snapshot nativo reproduzível
CommitEditTransaction: BooleanGuarda a transação alterada como um delta bidirecional limitado com cadeia SHA-256
RollbackEditTransactionRestaura o documento anterior à transação sem adicionar uma entrada de undo
BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False)Inicia um lote atómico de mutações nativas no âmbito de uma página
CommitPageObjectEditTransaction: BooleanGera o conteúdo da página uma vez e confirma todas as mutações nativas bem-sucedidas
RollbackPageObjectEditTransactionRestaura o snapshot validado do documento anterior ao lote
PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatusReporta estado da transação, página, número de mutações e número de gerações de conteúdo
BeginPageObjectEditTransaction / CommitPageObjectEditTransaction / RollbackPageObjectEditTransaction / PageObjectEditTransactionStatusModelo de transação de edição com âmbito de página atómica, cobrindo o snapshot com limites definidos, mutações nativas em lote, regeneração única de conteúdo e rollback
UndoEdit: BooleanAplica e verifica o delta inverso na posição atual do journal
RedoEdit: BooleanAplica e verifica o delta direto após a posição atual do journal
EditCanUndo: BooleanReporta se uma transação de documento confirmada pode ser anulada
EditCanRedo: BooleanReporta se uma transação de documento anulada pode ser reaplicada
ClearEditJournalLiberta o histórico de edições confirmadas mantendo o estado atual do documento
ConfigureEditJournal(const Options: TPdfEditJournalOptions)Define limites de entradas, deltas armazenados e snapshots
GetEditJournalInfo: TPdfEditJournalInfoLê posição do journal, etiquetas, impressões digitais, uso dos limites e disponibilidade de undo ou redo
ExportEditJournal(Stream: TStream)Escreve o formato portátil limitado do journal
ImportEditJournal(Stream: TStream; ApplyRecordedPosition: Boolean = True; AllowSignedDocument: Boolean = False)Valida e reproduz um journal apenas contra a sua impressão digital raiz ou registada
SaveRecoverySnapshotEscreve um pacote de recuperação com checksum contendo impressões digitais da origem e o journal de edição verificado
RestoreRecoverySnapshotRestaura um pacote de recuperação apenas após verificação de checksum, origem, journal e resultado
InspectRecoverySnapshotLê metadados de recuperação e valida o pacote sem aplicar edições
EnableRecoveryAutosave(const FileName: string)Atualiza de forma atómica um ficheiro de recuperação explícito após commit, undo ou redo
DisableRecoveryAutosavePara as gravações de recuperação orientadas a commit sem apagar um pacote existente
RecoveryAutosaveFileName: stringLê o caminho absoluto do autosave de recuperação ou uma cadeia vazia quando desativado
ValidatePagePlan(const Plan: TPdfPagePlan; ImportedSource: TPdf = nil; AllowSignedDocument: Boolean = False): TPdfPagePlanValidationReportCompila uma operação de páginas num mapa exato de antigo para novo e reporta efeitos sobre navegação, etiquetas, formulários, estrutura, funcionalidades importadas e assinaturas sem alterar nenhum dos documentos
GenerateLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanMede e pagina primeiro e depois acrescenta de forma atómica texto nativo, réguas, bordas de tabelas, imagens, páginas e XObjects de página reutilizáveis com totais de páginas estáveis
GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): BooleanEnvia comandos para armazenamento navegável, materializa uma matriz limitada de páginas de cada vez e acrescenta páginas PDFium sequencialmente
GenerateTaggedLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; const Language: string = 'en-US'): BooleanGera um novo documento de layout semântico com MCIDs nativos, árvore de estrutura e de pais completa, texto alternativo, associações de cabeçalhos de tabela e links etiquetados
TPdfLayoutDocument.AddLink / AddSemanticNode / SetLastItemSemanticsAnexa links URI, contentores semânticos não visuais e metadados de função, pai, ID, idioma, texto alternativo, listas e tabelas aos itens de layout
TPdfLayoutDocument.AddTable(Table: TPdfLayoutTable)Faz snapshot e pagina uma tabela com legendas, cabeçalhos repetidos, linhas divisíveis, células fundidas, links, bordas e semântica etiquetada contínua
TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0)Constrói um nó lazy uma vez, coloca em cache o plano medido e emite colocações repetidas a partir de um único template nativo de Form XObject
BeginIncrementalSave(AllowSignedDocument: Boolean = False)Inicia uma sessão de revisão de objetos alterados a partir de um snapshot semântico estável, mantendo o prefixo exato da origem encriptada ou não encriptada
CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanAcrescenta apenas objetos indiretos alterados ou novos, herdando parâmetros de segurança encriptados e validando a cadeia completa de revisões
CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanFaz flush durável, reabre, valida e substitui de forma atómica através de um ficheiro lateral no mesmo diretório, revertendo o estado da sessão após qualquer falha
EndIncrementalSaveLiberta a baseline e o estado de revisões acumuladas da sessão
SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanGrava o PDF ativo com encriptação AESV3-CBC ou ISO/TS 32003 AESV4-GCM
SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanEscreve a saída PDF encriptada em qualquer TStream navegável sem passar pelo disco
ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultValida um PDF MAC autónomo ISO/TS 32004 contra os bytes originais carregados
SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanGrava o PDF ativo num caminho de ficheiro enquanto injeta associated files no catálogo ou nas páginas em conformidade com ISO 32000-2 §7.11.4
SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanEscreve a saída PDF com associated files injetados em qualquer TStream navegável sem passar pelo disco
CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): BooleanCompara número de páginas, geometria, rotação, texto extraído e píxeis renderizados com tolerância
ImportImposed(const Options: TPdfImpositionOptions; out Plan: TPdfImpositionPlan; out Report: TPdfImpositionExecutionReport): TPdfConstrói saída N-up ou em livreto através de composição nativa PDFium em lote e reporta contadores de execução
ImportPages(Pdf: TPdf; const Range: string; PageNumber: Integer = 1): BooleanImporta páginas de outro documento PDF. Formato do intervalo: '1,3,5-7'
ImportPreferences(Pdf: TPdf): BooleanImporta preferências do visualizador de outro PDF

Operações de página

MétodoDescrição
AddPage(PageNumber: Integer; Width, Height: Double)Acrescenta uma nova página na posição indicada, baseada em 1, com as dimensões indicadas (em pontos, 72 pontos = 1 polegada). O valor 0 é aceite como alias de compatibilidade para inserir a primeira página, e a página inserida passa a ser a atual
DeletePage(PageNumber: Integer)Elimina a página no índice indicado
ExtractThumbnail(PageNumber: Integer): TBitmapDescodifica a miniatura incorporada de qualquer página baseada em 1 sem alterar a página ativa
GetPageBox(Box: TPdfPageBox): TPdfRectangleLê a caixa selecionada do dicionário de página na página atual
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Remove um objeto de página da página atual e regenera o conteúdo da página
ReloadPageRecarrega a página atual
SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Define a caixa selecionada do dicionário de página na página atual
UpdatePageAplica alterações pendentes à página atual (chama FPDFPage_GenerateContent)

Operações de texto

MétodoDescrição
Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringExtrai texto da página atual
TextInRectangle(Left, Top, Right, Bottom: Double): WStringExtrai texto de uma área retangular (coordenadas da página)
TextInRectangle(Rectangle: TPdfRectangle): WStringExtrai texto de um retângulo
ReadTextPageSnapshot(PageNumber: Integer; const Options: TPdfTextSnapshotOptions; out Status: TPdfTextSnapshotStatus): TPdfTextPageSnapshotCaptura metadados de texto, Unicode, geometria, estilo e objetos de texto normalizados numa única passagem nativa explicitamente limitada
TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshotDevolve uma cópia profunda pertencente ao chamador a partir da LRU de snapshots de texto com conhecimento de revisões, sem alterar a página ativa
TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextSnapshotCacheHitCount, TextSnapshotCacheMissCountConfigura a retenção limitada e reporta ocupação da cache, acertos e falhas
TPdfTextPageSnapshot / TPdfTextSnapshotStatusRecord de snapshot de texto da propriedade do chamador e modelo de estado de leitura limitada, juntamente com o comportamento da cache LRU sensível a revisões
ReadPageObjectsSnapshot(PageNumber: Integer; const Options: TPdfPageObjectSnapshotOptions; out Status: TPdfPageObjectSnapshotStatus): TPdfPageObjectsSnapshotCaptura geometria, estilo, marcas, clips, factos de imagem e factos de texto de objetos de página imutáveis sob orçamentos explícitos
PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshotDevolve uma cópia profunda pertencente ao chamador a partir da LRU de snapshots de objetos de página com conhecimento de revisões
PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshotCacheHitCount, PageObjectSnapshotCacheMissCountConfigura a retenção limitada de objetos de página e reporta ocupação da cache, acertos e falhas
TPdfPageObjectsSnapshot / TPdfPageObjectSnapshotStatusRecord de snapshot de objetos de página da propriedade do chamador e modelo de estado de leitura limitada, juntamente com o comportamento da cache LRU sensível a revisões
GetStructuredText(const Options: TPdfStructuredTextOptions): TPdfStructuredTextPageConstrói um modelo limitado de páginas, blocos, linhas e segmentos estilizados com geometria nativa de caracteres e enriquecimento semântico opcional
ExtractTables(const Options: TPdfTableExtractionOptions): TPdfTablesDeteta tabelas delimitadas por linhas e alinhadas por espaços na página atual, com células fundidas, confiança e saída CSV e JSON
ExtractDocumentTables(const Options: TPdfTableExtractionOptions): TPdfTablesExtrai tabelas limitadas em todas as páginas e marca cadeias de continuação entre páginas correspondentes
BuildReflowDocument(const Options: TPdfReflowOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocumentConstrói uma árvore semântica de páginas limitada e emite HTML responsivo e com escaping, com títulos, parágrafos, listas, figuras e tabelas com conhecimento de spans
ApplyOcrSearchLayer(Provider, Options, Report, CancellationToken): BooleanRenderiza as páginas selecionadas através do PDFium e acrescenta texto OCR invisível filtrado por confiança sem recodificar as imagens da página
AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Acrescenta texto na posição indicada com tipo de letra, cor, transparência e ângulo de rotação
SetText(ObjectIndex: Integer; const Text: WString)Define o texto de um objeto de texto existente (API não documentada do PDFium, pode causar problemas de formatação)
SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Define posições por carácter para um objeto de texto existente. As posições começam no segundo carácter e são relativas à origem do objeto de texto
FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerInicia a pesquisa de texto; devolve o índice do carácter ou -1 se não encontrar
FindNext: IntegerContinua a pesquisa de texto para a frente; devolve o índice do carácter ou -1
FindPrevious: IntegerContinua a pesquisa de texto para trás; devolve o índice do carácter ou -1
CreateDocumentSearch(Text, Options, StartPage, Direction, CancellationToken): TPdfDocumentSearchCria uma pesquisa preguiçosa de documento completo, para a frente ou para trás, com retenção de um handle nativo de uma página, cancelamento e geometria por correspondência
CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerObtém o índice do carácter numa posição da página
RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerObtém o número de retângulos de texto para um intervalo de caracteres
ReadingUnits: TPdfReadingUnitsDevolve unidades de leitura ao nível da frase para leitura assistida por voz e navegação semântica
DocumentReadingUnits: TPdfReadingUnitsConstrói registos TPdfReadingUnit ao nível da frase para o fluxo de conteúdo legível de todo o documento
PageWordBoxes: TPdfWordBoxesDevolve caixas de palavras com intervalos FTextPage e retângulos no espaço da página para realce palavra a palavra
SetReadingWord(const Word: TPdfWordBox)Realça um TPdfWordBox como a palavra atualmente falada no TPdfView
ClearReadingWordLimpa a sobreposição atual do cursor de leitura ao nível da palavra no TPdfView
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerMapeia um deslocamento de carácter da página para o TPdfWordBox que o contém, realça-o e devolve o índice da palavra
SelectWordBox(const Word: TPdfWordBox): BooleanSeleciona o intervalo de texto do visualizador representado por um TPdfWordBox
SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanSeleciona um intervalo de TPdfWordBox da mesma página como uma única seleção de texto do visualizador
BuildReadingUnits(Fragments)Converte TPdfContentFragments em registos TPdfReadingUnit ao nível da frase sem carregar pdfium.dll
NextReadingUnitOfKind(Units, CurrentIndex, Kind, GoForward)Encontra o próximo ou anterior TPdfReadingUnit cujo Kind corresponde a um TPdfContentFragmentKind pedido
BuildWordBoxes(PageText)Divide o texto da página em registos TPdfWordBox com o texto da palavra e intervalos de caracteres FTextPage
WordBoxIndexAtCharIndex(Words, CharIndex)Mapeia um índice de carácter de volta para o índice TPdfWordBox, baseado em zero, que o contém
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Acrescenta um segmento de texto falado mapeado a TPdfSpokenText
BuildSpokenTextFromWords(Words, FirstWord, LastWord)Constrói TPdfSpokenText a partir de um intervalo contíguo de TPdfWordBox
SpokenToPageChar(Spoken, SpokenOffset, Page, CharIndex)Traduz um deslocamento de carácter do motor de fala de volta para um carácter da página PDF
EstimateSpokenWordIndex(Words, ElapsedMs, WordsPerMinute)Estima o índice da palavra falada quando o motor de fala não reporta a posição da palavra

Operações de anotações

MétodoDescrição
CreateAnnotation(const Annotation: TPdfAnnotation)Cria uma nova anotação na página atual
DeleteAnnotation(Index: Integer)Elimina a anotação no índice indicado

Achatamento de formulários

MétodoDescrição
GenerateFormAppearancesRegenera os fluxos de aparência /AP de todos os widgets de formulário em todas as páginas (FPDF_FFLDraw). Chamar depois das atribuições a FormField[] e antes de SaveAs / FlattenPage / FlattenAllPages
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAchata anotações e widgets de formulário da página atual em conteúdo estático. Devolve FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO ou FLATTEN_FAIL
FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanAchata todas as páginas do documento. Devolve True quando todas as páginas têm sucesso
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Define as flags de campo AcroForm do campo de formulário no índice de anotação indicado na página atual
SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Define as flags de campo AcroForm do campo de formulário nas coordenadas de página indicadas

Operações XFA

As bibliotecas normais do Windows v3.125.3 reportam as escritas finais em buffer falhadas como gravações falhadas, acompanhando a correção V8 da v3.125.2. As bibliotecas V8 do Windows preservam o texto editado em gravações de arrays de pacotes e XDP single-stream suportados, incluindo espaços em branco originais e Unicode suplementar. Na v3.126.0, o XDP single-stream suportado também retém comentários e instruções de processamento fora dos datasets ativos e pacotes de formulário substituídos, incluindo entradas UTF-8 e UTF-16 com BOM; codificação de entrada inválida, tags incompletas, referências a entidades inválidas, instruções de processamento malformadas, comentários ou instruções dentro dos pacotes substituídos, declarações DTD e XMLDSig são rejeitados. São guardas de gravação limitadas, não um validador XML completo. Os restantes pacotes e namespaces de raiz suportados são retidos a nível semântico; a conformância com formas externas arbitrárias e a serialização XML byte a byte ficam fora do âmbito verificado

A cópia, o corte e a colagem de formulário no visualizador Windows usam um orçamento limitado de repetição de 100ms na abertura da área de transferência na v3.126.0, sem bombear mensagens de UI; o acesso indisponível à área de transferência continua a devolver falha, e um corte falhado preserva o texto e a seleção originais do campo

Na v3.126.1, as adições e remoções dinâmicas de páginas XFA atualizam TPdf.PageCount e OnXfaPageCountChanged a partir da contagem total real do layout concluído, em vez de interpretarem o delta do evento nativo como o total

Na v3.126.2, a visualização de XFA completo mantém seguras as definições predefinidas de seleção de texto, substitui o texto selecionado do campo durante a introdução pelo teclado e refresca os handles de página depois de um callback de layout dinâmico devolver; os campos apenas de leitura e AllowFormEvents mantêm as suas restrições de introdução

As guardas de gravação V8 do Windows v3.126.2 validam sintaxe de atributos, atributos duplicados, nomes qualificados, âmbitos de namespace e declarações XML antes de alterar XDP single-stream; schemas XML, DTD, XMLDSig, XML 1.1 e nomes de caracteres fora do plano básico mantêm-se fora do âmbito suportado

AnalyzeSignatureRevisions separa a propriedade da página das ligações de navegação de widgets e preserva o contexto de conteúdo de página para payloads de aparência partilhados, impedindo que uma edição posterior da página seja tratada como uma atualização permitida de formulário ou anotação

As bibliotecas V8 do Windows v3.126.1 também refrescam a geometria dos widgets de introdução carregados quando o layout dinâmico move um campo, mantendo o texto e a área de hit de introdução nativa alinhados com a nova localização. O fixture obrigatório do repositório verifica adição, remoção e alterações de altura de instâncias através de eventos nativos; formulários externos arbitrários e introdução do visualizador em primeiro plano continuam a ser trabalho de aceitação separado

MétodoDescrição
GetXfaConfigObtém os bytes XML em bruto do pacote de configuração XFA do documento PDF
GetXfaDatasetsObtém os bytes XML originais dos datasets XFA do documento PDF
GetXfaFormPacketsFaz snapshot de todos os pacotes XFA incorporados numa coleção TXfaPacketList
GetXfaPacketByNameDevolve os bytes de conteúdo em bruto do pacote XFA identificado pelo nome
GetXfaPacketContentDevolve os bytes de conteúdo em bruto do pacote XFA no índice baseado em zero indicado
GetXfaPacketCountDevolve o número de pacotes XFA incorporados no documento
GetXfaPacketNameDevolve o nome do pacote XFA no índice baseado em zero indicado
GetXfaTemplateObtém os bytes XML em bruto do pacote de template XFA do documento PDF

Operações de anexos

MétodoDescrição
CreateAttachment(const Name: WString): BooleanCria um novo anexo vazio
DeleteAttachment(Index: Integer): BooleanElimina o anexo no índice indicado

Operações de imagem

MétodoDescrição
AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanAcrescenta uma imagem JPEG a partir de um fluxo na posição e tamanho indicados
AddPicture(Picture: TPicture; X, Y: Double)Acrescenta uma imagem na posição (tamanho original)
AddPicture(Picture: TPicture; X, Y, Width, Height: Double)Acrescenta uma imagem na posição com o tamanho indicado
AddImage(const FileName: string; X, Y, Width, Height: Double)Inserção direta de ficheiro de imagem (delega em AddPicture através de um TPicture temporário); aceita qualquer formato de imagem registado nas unidades gráficas VCL ou LCL
AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double)Insere um TBitmap pf32bit diretamente, sem o intermediário TPicture; gera EPdfError para um bitmap nil

Operações de desenho

MétodoDescrição
CreatePath(X, Y: Single; FillMode; FillColor; FillAlpha; Stroke; StrokeColor; StrokeAlpha; StrokeWidth; LineCap; LineJoin; BlendMode)Cria um caminho a começar na posição (X, Y)
CreatePath(X, Y, Width, Height: Single; ...)Cria um caminho retangular com os limites indicados
MoveTo(X, Y: Single)Move o ponto atual para (X, Y)
LineTo(X, Y: Single)Desenha uma linha do ponto atual até (X, Y)
BezierTo(X1, Y1, X2, Y2, X3, Y3: Single)Desenha uma curva de Bezier com dois pontos de controlo e um ponto final
ClosePathFecha o subcaminho atual
AddPathAcrescenta o caminho concluído à página atual

Renderização

MétodoDescrição
RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation; Options)Renderiza a página num contexto de dispositivo (HDC)
RenderPage(Left, Top, Width, Height: Integer; Rotation; Options; Color): TBitmapRenderiza a página num novo bitmap
RenderPage(Bitmap: TBitmap; Left, Top, Width, Height: Integer; Rotation; Options; Color)Renderiza a página num bitmap existente
RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation; Options; Color): TBitmapRenderiza qualquer página com tamanho exato sem alterar a página ativa, reutilizando cenas de página já analisadas
RenderPageSkia(Canvas, Width, Height, DrawFormOverlay)Renderiza a página ativa e a sobreposição opcional de formulário num SkCanvas do chamador quando o módulo PDFium carregado expõe Skia
RenderPageSkiaByIndex(Canvas, PageNumber, Width, Height, DrawFormOverlay)Renderiza qualquer página para Skia através da cache limitada de cenas de página analisadas sem alterar a página ativa
SpotPlates / RenderSpotPlate / PageUsesOverprint / RenderOverprintPreviewEnumera e renderiza chapas de impressão exatas ou pré-visualização de overprint através do ABI opcional de saída de impressão com verificação de capacidades
GetSkiaRenderCapabilities / GetPrintOutputCapabilitiesSonda as exportações opcionais de renderização nativa sem as tornar requisitos de carregamento da DLL PDFium
RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight, Rotation, Options, Background, ColorScheme): TBitmapRenderiza qualquer página baseada em 1 num bitmap de miniatura pertencente ao chamador, com rotação, flags, fundo e cores para baixa visão opcionais, sem alterar PageNumber
ThumbnailCacheMaxEntries / ThumbnailCacheMaxBytes / ThumbnailCacheStatistics / ClearThumbnailCacheLimita a retenção de miniaturas incorporadas e renderizadas por tetos de itens e de bytes de píxeis e inspeciona a telemetria LRU
ClearPageSceneCacheLiberta todas as cenas de página analisadas não utilizadas e reforma as entradas em curso quando a respetiva renderização termina
RenderPagesParallel(PageNumbers; Options; CancellationToken): TPdfParallelRenderReportRenderiza vários pedidos de páginas baseadas em 1 em concorrência, através de documentos worker isolados que partilham uma origem imutável de memória, ficheiro mapeado ou acesso aleatório nativo
RenderPageBandedToEncoder(Width, Height, BandHeight; Encoder): TPdfBandedImageReportAlimenta um codec do chamador com bandas de página corretamente recortadas, sem montar um bitmap de página completa
RenderPageBandedToStream(Stream, Width, Height, StreamOptions): TPdfBandedImageReportEscreve saída PNG ou TIFF apenas para a frente, com memória de bandas limitada e um teto opcional de bytes de saída
RenderDiffOverlay(Other: TPdf; const Difference: TPdfPageDifference; const Options: TPdfDocumentDiffOptions): TBitmapRenderiza um TPdfPageDifference devolvido pelo CompareWith como um bitmap de overlay da propriedade do chamador
RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...): TBitmapRenderiza um tile (porção) de uma página num novo bitmap
RenderTile(Bitmap: TBitmap; Left, Top, Width, Height, PageWidth, PageHeight: Integer; ...)Renderiza um tile num bitmap existente
InvertPdfBitmap(Bitmap)Inverte os canais RGB de um TBitmap de 32 bits renderizado, no próprio bitmap, para visualização em modo escuro ou de alto contraste
GrayscalePdfBitmap(Bitmap)Converte um TBitmap de 32 bits renderizado em tons de cinzento de luminância, no próprio bitmap
DuotonePdfBitmap(Bitmap, DarkColor, LightColor)Mapeia a luminância de um bitmap renderizado para cores escuras e claras escolhidas pelo chamador, no próprio bitmap

Conversão de coordenadas

MétodoDescrição
DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanConverte coordenadas de dispositivo em coordenadas de página
PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanConverte coordenadas de página em coordenadas de dispositivo

Assinaturas digitais PAdES

MétodoDescrição
PadesCryptoAvailableIndica se o backend criptográfico de assinaturas está disponível no sistema
AnalyzeSignatureRevisionsClassifica revisões posteriores de bytes originais face às permissões DocMDP e FieldMDP de cada assinatura
BuildPadesEvidenceReport(Options)Correlaciona factos nativos de assinatura, confiança, carimbos temporais, políticas, cobertura DSS/VRI e revisões posteriores em evidência limitada em JSON ou CSV
PreparePadesRemoteSignature(Prepared; Options; out Request)Prepara um marcador de posição de assinatura destacada vinculado a impressão digital, com restrições opcionais de seed value, certificado, FieldMDP e DocMDP, para um fluxo de trabalho HSM, na nuvem ou interrompido
CompletePadesRemoteSignature(Prepared; Dest; Request; CmsDer)Valida e preenche uma sessão de assinatura remota persistida com o valor CMS destacado devolvido
SavePadesRemoteSigningRequest(Stream; Request)Serializa um pedido de assinatura remota versionado para retoma posterior
LoadPadesRemoteSigningRequest(Stream)Carrega e valida um pedido de assinatura remota persistido
RenewPadesArchiveTimestamp(FileName; Options; out Report)Acrescenta um novo Document Time-stamp de arquivo sem modificar revisões assinadas anteriores
RenewPadesArchiveTimestampToStream(Stream; Options; out Report)Escreve a cadeia B-LTA renovada num fluxo após validação completa
SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions)Grava o PDF ativo com material DSS PAdES desduplicado e dicionários VRI específicos da assinatura
SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions)Grava o PDF ativo num fluxo com material DSS PAdES desduplicado e dicionários VRI específicos da assinatura
SignPades(const FileName: string; const Options: TPadesSignOptions)Acrescenta uma assinatura PAdES de aprovação ou certificação restringida, usando repositórios de certificados locais
SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions)Escreve uma atualização de assinatura PAdES de aprovação ou certificação restringida num fluxo
SignPadesWithPdfA(const FileName: string; const Options; PdfAOptions)Grava um documento PDF assinado com PAdES em conformidade com as normas de arquivo PDF/A
ValidatePadesInspeciona estruturas PAdES nos bytes de origem originais, rejeita chaves obrigatórias ambíguas, prova a exclusão exata do token Contents e reporta revisões cobertas, estados criptográficos, perfis de algoritmo ISO/TS 32002, nível baseline e problemas estruturais
ValidatePadesTrust(Options)Valida integridade da assinatura em bytes originais, confiança do sistema atual, evidência de revogação opcional e tokens de carimbo temporal RFC 3161
ValidatePadesTrustAsync(Options; Reply)Executa a validação de confiança faseada numa thread worker, com progresso e cancelamento

Propriedades do componente TPdf

Propriedades publicadas (tempo de design)

PropriedadeTipoDescrição
AboutstringInformação de versão do componente (stored False)
ActiveBooleanDefina como True para carregar/ativar o documento, False para o fechar
FileNamestringCaminho para o ficheiro PDF a carregar
FormFillBooleanAtiva o preenchimento interativo de formulários com suporte para JavaScript (valor predefinido True)
PageNumberIntegerNúmero da página atual (baseado em 1, 0 quando nenhum documento está carregado)
PasswordstringPalavra-passe para abrir documentos PDF encriptados

Propriedades do documento

PropriedadeTipoR/WDescrição
AuthorWStringRAutor do documento
CompressedBooleanR/WQuando True (predefinido), SaveAs pós-processa a saída para garantir que todos os fluxos ficam comprimidos com FlateDecode
CreationDateWStringRMetadados da data de criação do documento
CreatorWStringRAplicação que criou o documento
DocumentFPDF_DOCUMENTRHandle de documento PDFium de baixo nível
FileIdentifier[IDType: TPdfFileIdentifierType]TBytesRBytes do identificador de ficheiro do trailer, permanente ou mutável, sem o byte terminador do PDFium
FormTypeTPdfFormTypeRTipo de formulário: ftNone, ftAcroForm, ftXFAFull, ftXFAForeground
IsTaggedBooleanRTrue se o documento é um PDF etiquetado
JavaScriptAction[Index]TPdfJavaScriptActionRAção JavaScript da name tree ao nível do documento, pelo índice baseado em zero
JavaScriptActionCountIntegerRNúmero de ações JavaScript da name tree ao nível do documento
JavaScriptActionsTPdfJavaScriptActionsRTodas as ações JavaScript da name tree ao nível do documento
KeywordsWStringRPalavras-chave do documento
LanguageWStringR/WIdioma do catálogo do documento (/Lang)
StructureElementsTPdfStructureElementsRElementos de estrutura lógica achatados da página atual, através da cache de snapshots partilhada
StructureElementsForPage[PageNumber]TPdfStructureElementsRSnapshot de estrutura em cache, pertencente ao chamador, para qualquer página baseada em 1, sem alterar a página ativa
StructureCacheCapacityIntegerR/WNúmero máximo de snapshots completos de estrutura de página retidos pela cache LRU
StructureCacheCountIntegerRNúmero atual de snapshots de estrutura de página em cache
StructureCacheHitCount / StructureCacheMissCountInt64RTelemetria cumulativa da cache de snapshots de estrutura para esta instância do componente
MetaText[const Tag: string]WStringRValor de metadados arbitrário pelo nome da tag
MetadataTPdfDocumentMetadataRUm snapshot com os oito campos de metadados padrão do dicionário Info
ModifiedDateWStringRMetadados da data da última modificação
PageCountIntegerRNúmero total de páginas
PdfVersionTPdfVersionRVersão PDF efetiva, incluindo um override /Version válido do catálogo quando presente
PermissionsLongWordRFlags de permissões do documento
GrantedPermissionsTPdfPermissionsRConjunto tipado de permissões de palavra-passe do proprietário, descodificado de Permissions
PrintCopiesIntegerRNúmero de cópias de impressão especificado
PrintPageRangesTPdfPrintPageRangesRIntervalos de páginas de impressão baseados em 1, das preferências do visualizador
PrintPaperHandlingTPrintPaperHandlingRPreferência de manuseamento de papel
PrintScalingBooleanRIndica se a escala de impressão está ativada
ProducerWStringRAplicação produtora do PDF
SubjectWStringRAssunto do documento
TitleWStringRTítulo do documento
UserPermissionsLongWordRPermissões ao nível do utilizador
UserGrantedPermissionsTPdfPermissionsRConjunto tipado de permissões de palavra-passe do utilizador, descodificado de UserPermissions
ViewerPreference[const Key: string]WStringRValor de preferência do visualizador pela chave
XFABooleanRTrue se o documento contém formulários XFA

Propriedades da página

PropriedadeTipoR/WDescrição
PageFPDF_PAGERHandle de página PDFium de baixo nível
PageBoundsTPdfRectangleRRetângulo delimitador da página atual
PageComplexityTPdfPageComplexityRFactos nativos de objetos, segmentos, píxeis de imagem e transparência da página atual
PageBox[Box: TPdfPageBox]TPdfRectangleR/WMediaBox, CropBox, BleedBox, TrimBox ou ArtBox da página atual
PageHeightDoubleRAltura da página atual em pontos
PageLabel[PageNumber: Integer]WStringREtiqueta de página para um número de página indicado
PageModeTPageModeRComo o documento deve ser apresentado quando aberto
PageRotationTRotationR/WRotação da página atual (ro0, ro90, ro180, ro270)
PageWidthDoubleRLargura da página atual em pontos
ThumbnailTBitmapRBitmap de miniatura da página atual
TransparentBooleanRTrue se a página atual contém conteúdo transparente

Propriedades de texto e carácter

PropriedadeTipoDescrição
Character[Index]WideCharCarácter Unicode no índice indicado
CharacterAngle[Index]SingleÂngulo de rotação do carácter em radianos
CharacterCountIntegerNúmero de caracteres na página atual
CharacterFontSize[Index]DoubleTamanho do tipo de letra do carácter no índice indicado; FontSize[Index] mantém-se como alias compatível
CharacterFontWeight[Index]IntegerPeso do tipo de letra do carácter no índice indicado
CharacterGenerated[Index]BooleanTrue se o carácter foi gerado (não provém do conteúdo original)
CharacterIsHyphen[Index]BooleanTrue se o carácter é um hífen suave
CharacterMapError[Index]BooleanTrue se o carácter tem um erro de mapeamento
CharacterOrigin[Index]TPdfPointPonto de origem do carácter
CharacterRectangle[Index]TPdfRectangleRetângulo delimitador do carácter
Charcode[Index]WideCharCódigo do carácter no índice indicado
FindFPDF_SCHHANDLEHandle de pesquisa PDFium de baixo nível
Rectangle[Index]TPdfRectangleRetângulo de texto da última chamada a RectangleCount
TextPageFPDF_TEXTPAGEHandle de página de texto PDFium de baixo nível

Propriedades do tipo de letra

PropriedadeTipoDescrição
FontAscent[Index; FontSize]SingleAscendente do tipo de letra usado pelo objeto de texto no índice indicado
FontBaseName[Index]WStringNome base do tipo de letra do objeto de texto no índice indicado
FontData[Index]TBytesDados em bruto do tipo de letra do objeto de texto no índice indicado
FontDescent[Index; FontSize]SingleDescendente do tipo de letra usado pelo objeto de texto no índice indicado
FontFamilyName[Index]WStringNome da família do tipo de letra do objeto de texto no índice indicado
FontHandle[Index]FPDF_FONTHandle PDFium de baixo nível do tipo de letra do objeto de texto no índice indicado
FontIsEmbedded[Index]BooleanTrue se o tipo de letra do objeto de texto está incorporado no PDF
FontItalicAngle[Index]IntegerÂngulo itálico do tipo de letra do objeto de texto
FontSize[Index]DoubleAlias compatível com versões anteriores de CharacterFontSize[Index]
FontWeight[Index]IntegerPeso do tipo de letra do objeto de texto (por exemplo, 400 = normal, 700 = negrito)

Propriedades do objeto

PropriedadeTipoDescrição
ObjectCountIntegerNúmero de objetos de página
ObjectType[Index]TObjectTypeTipo: otUnknown, otText, otPath, otImage, otShading, otForm
ObjectBounds[Index]TPdfRectangleRetângulo delimitador do objeto
ObjectBitmap[Index]TBitmapRepresentação em bitmap do objeto
ObjectHandle[Index]PointerHandle de objeto de baixo nível
ObjectTransparent[Index]BooleanTrue se o objeto é transparente

Propriedades da imagem

PropriedadeTipoDescrição
Bitmap[Index]TBitmapBitmap do objeto de página no índice indicado
BitmapCountIntegerNúmero de objetos bitmap na página
Image[Index]TPdfImageDados da imagem (Width, Height, Data) no índice indicado
ImageInfo[Index]TPdfImageInfoDimensões, filtros, DPI, profundidade de bits, espaço de cor, marked-content ID e factos ICC, em formato leve, sem copiar os bytes do payload
ImageCountIntegerNúmero de imagens na página

Propriedades de anotações

PropriedadeTipoR/WDescrição
Annotation[Index]TPdfAnnotationR/WObtém ou define a anotação no índice indicado
AnnotationCountIntegerRNúmero de anotações na página atual

Propriedades de formulário

PropriedadeTipoR/WDescrição
FormField[Index]WStringR/WValor do campo de formulário pelo índice
FormFieldAt[X, Y: Single]WStringR/WValor do campo de formulário numa posição da página
FormFieldCountIntegerRNúmero de campos de formulário na página atual
FormFieldInfo[Index]TPdfFormFieldInfoRInformação do campo de formulário pelo índice
FormFieldInfoAt[X, Y: Single]TPdfFormFieldInfoRInformação do campo de formulário numa posição da página
FormFieldTypeAtPoint(X, Y: Double; out FieldType)BooleanRDevolve o tipo nativo de campo num ponto da página sem alocar um handle de anotação
FocusedFormFieldValue()WStringRDevolve o valor lógico atual do campo de formulário através de FocusedFormFieldIndex, sem depender do caret interativo
FocusedFormFieldName()WStringRDevolve o nome de apresentação lógico atual do campo de formulário, preferindo AlternateName e using Name como alternativa
FocusedFormFieldDetails()TPdfFormFieldInfoRDevolve TPdfFormFieldInfo para o campo de formulário lógico atual
FormHandleFPDF_FORMHANDLERHandle de preenchimento de formulários de baixo nível
HasFormFieldAt[X, Y: Single]BooleanRTrue se existe um campo de formulário na posição

Propriedades de anexos

PropriedadeTipoR/WDescrição
Attachment[Index]TBytesR/WDados do anexo pelo índice
AttachmentCountIntegerRNúmero de anexos
AttachmentName[Index]WStringRNome de ficheiro do anexo pelo índice
AttachmentType[Index]WStringRSubtipo MIME do anexo pelo índice

Propriedades de navegação

PropriedadeTipoDescrição
Bookmark[const Title: WString]TBookmarkProcura um marcador pelo título, com destino, ação, estado aberto, número de descendentes, caminho e metadados de cor
BookmarkChildren[const Bookmark: TBookmark]TBookmarksMarcadores filhos de um marcador
BookmarkFrom[Handle: FPDF_BOOKMARK]TBookmarkDados do marcador a partir de um handle
BookmarksTBookmarksMatriz de marcadores de topo
Destination[Index]TDestinationDestino com nome pelo índice, com modo de vista e parâmetros de vista em bruto
DestinationByName[const Name: WString]TDestinationDestino com nome pelo nome
DestinationCountIntegerNúmero de destinos com nome
HasBookmarkChildren[const Bookmark: TBookmark]BooleanTrue se o marcador tem filhos
LinkAnnotation[PageNumber, Index]TLinkAnnotationAnotação de link numa página indicada
LinkAnnotationCount[PageNumber]IntegerNúmero de anotações de link numa página
WebLink[PageNumber, Index]TWebLinkLink web (URL) numa página indicada
WebLinkCount[PageNumber]IntegerNúmero de links web numa página

Propriedades de assinatura digital

PropriedadeTipoDescrição
Signature[Index]TPdfSignatureInformação da assinatura digital no índice indicado
SignatureCountIntegerNúmero de assinaturas digitais no documento
SignaturesTPdfSignaturesSnapshot pertencente ao chamador de todas as assinaturas digitais nativas

Eventos do TPdf

EventoTipoDescrição
OnFormFieldEnterTPdfFormFieldEnterEventOcorre quando se entra num campo de formulário. Parâmetros: Sender: TObject; const Text: WString
OnFormFieldExitTNotifyEventOcorre quando o foco sai de um campo de formulário
OnJavaScriptAlertTPdfJavaScriptAlertEventOcorre quando JavaScript incorporado no PDF chama app.alert para mostrar uma caixa de mensagem
OnJavaScriptBeepTPdfJavaScriptBeepEventOcorre quando JavaScript incorporado no PDF chama app.beep para tocar um som do sistema
OnJavaScriptMailTPdfJavaScriptMailEventOcorre quando JavaScript incorporado no PDF chama mailDoc ou app.mailMsg para compor uma mensagem de email
OnJavaScriptPrintTPdfJavaScriptPrintEventOcorre quando JavaScript incorporado no PDF chama print para iniciar um trabalho de impressão
OnJavaScriptResponseTPdfJavaScriptResponseEventOcorre quando ações JavaScript incorporadas no PDF pedem interação do utilizador
OnJavaScriptSubmitFormTPdfJavaScriptSubmitFormEventOcorre quando JavaScript incorporado no PDF submete um formulário para um URL
OnNamedActionTPdfNamedActionEventOcorre quando o documento despoleta uma ação com nome; defina Handled para assumir os quatro nomes padrão de navegação
OnPageChangeTNotifyEventOcorre quando a página atual muda
OnUnsupportedFeatureTPdfUnsupportedFeatureEventOcorre quando o PDF contém uma funcionalidade não suportada
OnXfaEmailTPdfXfaEmailEventOcorre quando um formulário XFA dinâmico pede uma ação de email
OnXfaFocusChangeTPdfXfaFocusChangeEventOcorre quando o campo com foco muda dentro de um formulário XFA dinâmico
OnXfaGotoUrlTPdfXfaGotoUrlEventOcorre ao navegar para URLs de links dentro de formulários XFA dinâmicos
OnXfaHttpRequestTPdfXfaHttpRequestEventOcorre quando um formulário XFA dinâmico emite um pedido HTTP
OnXfaOpenFileTPdfXfaOpenFileEventOcorre quando um formulário XFA dinâmico pede para abrir um ficheiro externo
OnXfaPageCountChangedTPdfXfaPageCountChangedEventOcorre quando o número de páginas de um formulário XFA dinâmico muda em tempo de execução
OnXfaRuntimeMissingTNotifyEventOcorre quando um documento XFA é aberto mas o runtime XFA não está disponível
OnXfaUriActionTPdfXfaUriActionEventOcorre quando ações de URI de links são despoletadas dentro de contextos XFA dinâmicos
OnFormCursorTPdfFormCursorEventOcorre quando um campo de formulário pede uma forma de cursor; defina Handled para sobrepor o cursor nativo
OnFormValueChangeTPdfFormValueChangeEventOcorre depois de o valor do campo de formulário com foco mudar
OnFormUriActionTPdfFormUriActionEventOcorre quando um campo de formulário despoleta uma ação de URI; defina Handled para suprimir a navegação nativa
OnFormGoToActionTPdfFormGoToActionEventOcorre quando um campo de formulário despoleta uma ação go-to com página, modo de zoom e posições; defina Handled para navegar manualmente
OnFormSelectionRectTPdfFormSelectionRectEventOcorre quando a camada de formulário reporta um retângulo de seleção para o campo com foco

Outros Métodos e Propriedades Públicos

APIDescrição
function AnalyzeSignatureRevisions: TPadesRevisionAnalysisReportReconstrói a cadeia de revisões original e classifica alterações posteriores de objetos para cada assinatura incorporada
function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReportConstrói evidência exportável de assinaturas múltiplas a partir de uma única captura retida dos bytes originais
property About: stringReporta informação de versão do componente PDFium Delphi Component para TPdf
ActiveAbre ou fecha o documento PDF selecionado
function AddAnnotationFileAttachment(AnnotIndex: Integer; const Name: WString; const FileData: TBytes): BooleanAnexa um ficheiro incorporado a uma anotação existente e escreve o seu conteúdo numa única chamada
procedure AddImage(const FileName: string; X, Y, Width, Height: Double)Insere uma imagem de um ficheiro na página PDF atual. Usa internamente TPicture.LoadFromFile, pelo que aceita qualquer formato de imagem registado nas unidades gráficas VCL ou LCL (BMP, PNG via Vcl.Imaging.PngImage / LCL TPortableNetworkGraphic, JPG, etc.). As coordenadas estão no espaço de utilizador do PDF (origem no canto inferior esquerdo da página); Width e Height são o tamanho de colocação em unidades de utilizador, não o tamanho em píxeis da imagem de origem
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): BooleanAcrescenta uma imagem JPEG à página PDF atual usando as coordenadas indicadas
procedure AddPage(PageNumber: Integer; Width, Height: Double)Cria uma nova página em branco com as dimensões indicadas, em pontos
AddPathConfirma o caminho acumulado de MoveTo/LineTo/BezierTo como um novo objeto de página com a pintura pedida
procedure AddPathToAnnotation(Index: Integer)Entrega o caminho CreatePath pendente a uma anotação de tinta ou de carimbo, em vez de o entregar ao conteúdo da página
procedure AddPicture(Picture: TPicture; X, Y: Double)Acrescenta uma imagem à página PDF atual usando as coordenadas indicadas
function AddPageObjectMark(Index: Integer; const Name: AnsiString; const Params: TPdfContentMarkParams): IntegerAcrescenta uma entrada de marked-content e a sua lista inicial de propriedades tipadas a um objeto de página
PageObjectInfo / AnnotationObjectInfo / PageObjectMarks / PathInfo / TransformPageObject / RenderPageWithMatrixInspeção avançada de conteúdo de página e de objetos de anotação, marcas, caminhos, transformações e métricas de texto numa única página de visão geral
function SharePageObjectMark(TargetIndex, SourceIndex, SourceMarkIndex: Integer): BooleanReutiliza uma marca nativa de propriedades de marked-content noutro objeto de página
function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanMolda segmentos bidi e de escritas complexas em glifos CID Type 2 posicionados, com semântica ToUnicode e ActualText lógica
procedure AddStandardFontText(const Text: WString; StandardFont: TPdfStandardFont; FontSize: Single; X, Y: Double; Color: TColor; Alpha: Byte; Angle: Double = 0.0)Desenha texto com um dos 14 tipos de letra padrão do PDF, sem incorporar nenhum programa de tipo de letra
function AddCidType2Text(const FontData: TBytes; const Glyphs: TPdfCidGlyphs; FontSize: Single; X, Y: Double; const Options: TPdfCidFontOptions; out Report: TPdfCidFontReport; Color: TColor = clBlack; Alpha: Byte = $FF): BooleanIncorpora glifos CID Type 2 posicionados com mapeamentos Unicode explícitos, subsetting TrueType opcional, fallback controlado e verificação de extração
procedure AddText(const Text, Font: WString; FontSize: Single; X, Y: Double; Color: TColor = clBlack; Alpha: Byte = $FF; Angle: Double = 0.0)Acrescenta texto à página PDF atual na posição indicada
AnnotationPropriedade indexada — devolve o registo de anotação no índice indicado na página atual (subtipo, retângulo, cor, conteúdo, etc.)
AnnotationCountNúmero de objetos de anotação associados à página atualmente ativa
function AnnotationObjectCount(Index: Integer): IntegerConta os objetos de página a partir dos quais uma anotação de tinta ou carimbo se desenha
function AnnotationObjectInfo(Index, ObjectIndex: Integer): TPdfPageObjectInfoLê o tipo, os limites, a matriz, as cores e o estilo de linha de um objeto de página pertencente a uma anotação
property Attachment[Index: Integer]: TBytesLê ou substitui o payload de bytes em bruto do ficheiro incorporado ao nível do documento no índice baseado em zero indicado. Cada posição corresponde a uma entrada da name tree PDF EmbeddedFiles definida na secção 7.11 da especificação PDF 1.7
AttachmentCountNúmero de anexos de ficheiros incorporados declarados no documento
property AttachmentDescription[Index: Integer]: WStringLê ou escreve a descrição /Desc de um ficheiro incorporado ao nível do documento
function AttachmentHasKey(Index: Integer; const Key: WString): BooleanTesta se um anexo incorporado tem uma dada chave da especificação de ficheiro
AttachmentNameDevolve o nome de ficheiro Unicode registado para o ficheiro incorporado no índice baseado em zero indicado na name tree EmbeddedFiles do documento
property AttachmentRelationship[Index: Integer]: WStringDevolve o nome /AFRelationship de um ficheiro incorporado ao nível do documento (ISO 32000-2 Table 43), ou uma cadeia vazia quando está ausente
AttachmentTypeDevolve a cadeia MIME / subtipo registada para o ficheiro incorporado no índice baseado em zero indicado. O valor é obtido da entrada /Subtype do dicionário de especificação de ficheiro, conforme definido na secção 7.11.3 do PDF
AuthorDevolve o valor da entrada /Author do dicionário de informações do documento PDF
BezierToAcrescenta uma curva de Bezier cúbica do ponto atual, passando pelos pontos de controlo (X1,Y1) e (X2,Y2), até (X3,Y3)
BitmapDevolve um TBitmap VCL recentemente descodificado com os dados raster do objeto de imagem indicado na página atual. O bitmap é novo em cada chamada; pertence ao chamador, que é responsável por chamar Free
BitmapCountNúmero de objetos de página de imagem na página ativa, acessíveis como TBitmap VCL
BookmarkProcura um marcador pela cadeia de título e devolve o registo TBookmark correspondente da árvore de outline do documento, definida na secção 12.3.3 do PDF
BookmarkChildrenPropriedade indexada — devolve os marcadores filhos imediatos de um dado nó pai de marcador
BookmarkFromConverte um handle FPDF_BOOKMARK em bruto num registo TBookmark completamente preenchido, lendo o título, a página de destino e os metadados de ação desse nó de outline
BookmarksPropriedade indexada — devolve a lista completa de entradas de outline (marcadores) de topo do documento
CharacterAcesso indexado só de leitura à forma de cadeia UTF-16 do carácter no índice indicado (tipicamente uma code unit, mas duas num par surrogado)
CharacterAngleAcesso indexado só de leitura ao ângulo de rotação do carácter em radianos, tendo em conta a CTM da página
CharacterCountNúmero de caracteres extraíveis na página atualmente ativa
CharacterFontSizeAcesso indexado só de leitura ao tamanho efetivo do tipo de letra usado para renderizar o carácter (em pontos PDF, após a escala da CTM)
CharacterFontWeightAcesso indexado só de leitura ao valor OS/2 usWeightClass do tipo de letra usado (100 = Thin, 400 = Regular, 700 = Bold, 900 = Black)
CharacterGeneratedDevolve True quando o carácter no índice indicado foi sintetizado pelo PDFium durante a extração de texto, em vez de ter sido desenhado explicitamente pelo fluxo de conteúdo da página. Caracteres sintéticos são emitidos para expansão de ligaduras, hifenização suave e heurísticas de limites de palavras/linhas, para que os resultados de pesquisa e de seleção total se leiam de forma natural
function CharacterIndexToTextIndex(Index: Integer): IntegerMapeia um índice de carácter para o seu deslocamento no texto extraído, ou -1 para caracteres gerados
function CharacterInfo(Index: Integer): TPdfCharacterInfoLê cor, nome e flags do tipo de letra, limites, matriz e objeto de texto proprietário de um carácter
function CharacterIndexAtPos(X, Y, ToleranceX, ToleranceY: Double): IntegerObtém o índice de um carácter em ou perto de determinada posição da página. Se não houver nenhum carácter em ou perto do ponto, o valor devolvido é -1. Se ocorrer um erro, é devolvido -3
CharacterIsHyphenDevolve True quando o carácter no índice indicado é reconhecido como um hífen suave usado para quebra de palavras no fim da linha. Útil ao reconstruir palavras através de quebras de linha sem manter a marca visível do hífen
CharacterMapErrorDevolve True quando o carácter no índice indicado não pôde ser mapeado para um code point Unicode válido. A flag é reportada por carácter pelo extrator de texto do PDFium e permite aos chamadores identificar code points provavelmente incorretos porque o tipo de letra de origem não tem um CMap ToUnicode ou vetor de encoding utilizável
CharacterOriginAcesso indexado só de leitura à origem (âncora esquerda da baseline) do carácter em pontos do espaço de utilizador do PDF
CharacterRectangleAcesso indexado só de leitura ao retângulo delimitador do carácter em coordenadas do espaço de utilizador do PDF (origem no canto inferior esquerdo, em pontos)
CharcodeAcesso indexado só de leitura ao code point Unicode (UCS-4) do carácter no índice indicado
function ChooseRenderFlags(Scale: Double; DestWidth, DestHeight: Integer): IntegerEscolhe flags nativas FPDF_RENDER_* a partir da escala final e do tamanho de destino, para subsampling adaptativo de imagens
procedure ClearFormFieldFocusTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
procedure ClearPageSceneCacheLimpa cenas de página analisadas que estão em cache, sem alterar a página ativa
procedure ClearThumbnailCacheLiberta bitmaps de miniaturas incorporadas e renderizadas retidos, sem alterar limites nem telemetria da cache
ClosePathFecha o subcaminho atual desenhando uma linha reta de volta ao MoveTo mais recente
CompressedControla se os fluxos do PDF de saída são comprimidos com FlateDecode quando SaveAs / Save é chamado. O motor de compressão pós-gravação analisa o PDF serializado, substitui quaisquer fluxos não comprimidos pelos equivalentes zlib-deflate e reconstrói a tabela xref. Fluxos já comprimidos passam inalterados
constructor Create(AOwner: TComponent); overrideCria o componente TPdf e inicializa o estado de documento, renderização, formulários e caches
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Cria uma nova anotação
CreateAttachmentAcrescenta um novo ficheiro incorporado (anexo) ao nível do documento
procedure CreateDocumentFecha o documento atual (se existir) e inicia um PDF novo e vazio
procedure CreatePath(X, Y: Single; FillMode: TPdfFillMode = fmNone; FillColor: TColor = clBlack; FillAlpha: Byte = $FF; Stroke: Boolean = True; StrokeColor: TColor = clBlack; StrokeAlpha: Byte = $FF; StrokeWidth: Single = 1.0; LineCap: TPdfLineCap = lcDefault; LineJoin: TPdfLineJoin = ljDefault; BlendMode: TPdfBlendMode = bmDefault)Cria um novo objeto de caminho numa posição inicial
CreateXObjectFromPageEncapsula uma página de outro TPdf como um handle de Form XObject reutilizável que pode ser estampado neste documento quantas vezes for necessário
CreationDateTimestamp de criação original do dicionário Info do documento
CreatorNome da aplicação de autoria de origem guardado no dicionário Info
property CrossReferenceTableValid: BooleanReporta se o documento carregado tem uma tabela de referências cruzadas intacta
DeleteAnnotationRemove a anotação no índice indicado na página atual
function DeleteAttachment(Index: Integer): BooleanRemove o anexo de ficheiro incorporado no índice indicado
procedure DeletePage(PageNumber: Integer)Remove a página em PageIndex do documento
DestinationDevolve o registo TDestination do destino com nome no índice baseado em zero indicado. Os destinos com nome são os destinos indiretos definidos na árvore Dests / Names do catálogo do documento, conforme descrito na secção 12.3.2 do PDF
DestinationByNameProcura um destino /Names pelo nome de cadeia e devolve a sua página de destino / tipo de ajuste / coordenadas
DestinationCountNúmero de destinos com nome declarados no documento
function DetectPageSkew(out Report: TPdfSkewReport): BooleanMede a inclinação da página atual com precisão de cerca de 0.1 graus, com um valor de confiança
destructor Destroy; overrideLiberta handles de documento, estado de formulários, tipos de letra em cache, fluxos e timers antes de o TPdf ser destruído
ExportXFDFSerializa campos de formulário e anotações para XFDF UTF-8, preservando caminhos de campos aninhados e a distinção entre valores ausentes e explicitamente vazios
function ExportXFDFToStream(Stream: TStream): IntegerEscreve todos os valores de formulário e anotações do documento num fluxo como XFDF
function ExtractAttachmentsToStreams(const Destinations: array of TStream; const Options: TPdfAttachmentBatchOptions; out Report: TPdfAttachmentBatchReport; const CancellationToken: IPdfCancellationToken = nil): BooleanEscreve anexos descodificados em fluxos do chamador sob orçamentos de contagem e de bytes, com cancelamento e resultados por item
TPdfAttachmentBatchOptions / TPdfAttachmentBatchReportModelo de processamento em lote de anexos numa única passada com limites definidos, para enumeração de metadados e extração de payload da propriedade do chamador
ExtractThumbnail(PageNumber: Integer): TBitmapDescodifica a miniatura de página incorporada sem mudar nem recarregar a página ativa
function DeviceToPage(X, Y, Left, Top, Width, Height: Integer; Rotation: TRotation; out PageX, PageY: Double): BooleanConverte a coordenada de ecrã de um ponto em coordenada de página
property DocumentHandle nativo FPDF_DOCUMENT do PDFium para acesso direto de baixo nível
function DocumentReadableContent: TPdfContentFragmentsDevolve fragmentos de conteúdo legível semântico para fluxos de trabalho de leitor de ecrã, texto para fala e acessibilidade
function DocumentReadingUnits: TPdfReadingUnitsConstrói registos TPdfReadingUnit ao nível da frase para o fluxo de conteúdo legível de todo o documento
FileIdentifierFlag só de leitura — devolve o array de identificadores de ficheiro do documento para a posição de identificador pedida
property FileNameCaminho do PDF a abrir; atribuir enquanto Active recarrega a partir do novo caminho
FindPesquisa Pattern a partir de PageNum (ou da página atual se -1) e devolve o índice global de caracteres da primeira correspondência
function FindFirst(const Text: WString; Options: TSearchOptions = []; StartIndex: Integer = 0; DirectionUp: Boolean = True): IntegerInicia a pesquisa do texto indicado. StartIndex é baseado em zero; -1 refere o fim da página. O parâmetro DirectionUp determina a direção desta operação de pesquisa
function FindNextAvança o cursor de uma sessão Find em curso e devolve o próximo índice de caracteres com correspondência
function FindPreviousRecua o cursor de Find uma correspondência
function CreateDocumentSearchCria uma pesquisa preguiçosa em todo o documento que devolve uma correspondência e os seus retângulos no espaço da página por chamada
function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): BooleanWrapper de conveniência que achata todas as páginas do documento. Devolve True quando todas as páginas terminam com FLATTEN_SUCCESS ou FLATTEN_NOTHINGTODO. Fluxo de trabalho recomendado: GenerateFormAppearances → FlattenAllPages → SaveAs
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAchata anotações e widgets de formulário da página atual em conteúdo de página permanente (não editável). nFlag seleciona o perfil de achatamento: FLAT_NORMALDISPLAY (0) para visualização no ecrã ou FLAT_PRINT (1) para saída impressa. Devolve um de FLATTEN_SUCCESS, FLATTEN_NOTHINGTODO ou FLATTEN_FAIL. Chame GenerateFormAppearances primeiro quando for achatar valores de formulário preenchidos
FlattenPageRotationCozinha o /Rotate atual de todas as páginas no fluxo de conteúdo, nas caixas de página e nos retângulos das anotações, e depois repõe /Rotate em 0, preservando o layout visual sem depender da dica de apresentação da rotação
function FocusedFormFieldDetails: TPdfFormFieldInfoDevolve TPdfFormFieldInfo para o campo de formulário lógico atual
function FocusedFormFieldIndex: IntegerTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusedFormFieldName: WStringDevolve o nome de apresentação do campo de formulário lógico atual, preferindo AlternateName e recorrendo a Name em alternativa
function FocusedFormFieldText: WStringTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusedFormFieldTextDirection: TPdfFormTextDirectionLê a direção de texto em memória do widget com foco através da exportação FORM_GetTextDirection do PDFium
function FocusedFormOptionSelected(Index: Integer): BooleanReporta se uma opção da lista ou caixa de combinação com foco está selecionada
function FocusedFormFieldValue: WStringDevolve o valor do campo de formulário lógico atual através de FocusedFormFieldIndex, sem depender do caret interativo
function FocusFormField(Index: Integer): BooleanTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusNextFormField: IntegerTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusPreviousFormField: IntegerTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
FontAscentDevolve a ascendente do tipo de letra (distância da baseline ao ascendente mais alto) do tipo de letra de um objeto de página, expressa em pontos PDF e escalada para um tamanho de tipo de letra indicado pelo chamador
FontBaseNameDevolve o nome base PostScript (a entrada /BaseFont do dicionário de tipos de letra PDF) do tipo de letra usado por um objeto de página, incluindo qualquer sufixo de estilo como -Bold ou ,Italic
FontDataAcesso indexado só de leitura aos bytes em bruto do programa de tipo de letra incorporado (só é preenchido quando o tipo de letra está incorporado)
FontDescentDevolve a descendente do tipo de letra (distância da baseline ao descendente mais baixo) do tipo de letra de um objeto de página, expressa em pontos PDF e escalada para um tamanho de tipo de letra indicado pelo chamador
FontFamilyNameDevolve o nome tipográfico da família (por exemplo Helvetica, Times New Roman, Noto Sans CJK SC) do tipo de letra usado por um objeto de página na página atual
property FontFlags[Index: Integer]: IntegerDevolve as flags nativas do descritor de tipo de letra PDF, ou -1 quando o objeto não tem tipo de letra
FontHandleDevolve o handle nativo FPDF_FONT do tipo de letra usado por um objeto de página. O handle dá aos chamadores avançados acesso direto a APIs de tipos de letra do PDFium não encapsuladas pelo componente
FontIsEmbeddedIndica se o tipo de letra usado por um objeto de página está incorporado no PDF (True) ou apenas referenciado e resolvido na altura da visualização a partir do sistema operativo (False)
FontItalicAngleAcesso indexado só de leitura ao ângulo itálico do tipo de letra em graus (negativo para itálico típico; 0 para direito)
FontSizeDevolve o tamanho renderizado, em pontos PDF, de um carácter individual na página atual. FontSize é um alias de CharacterFontSize mantido para compatibilidade com versões anteriores
FontWeightDevolve o peso ao estilo CSS (intensidade de negrito) do tipo de letra usado por um objeto de página na página atual. Os valores típicos são 400 para regular e 700 para negrito
FormFieldPropriedade indexada — devolve um campo de formulário na página atual
FormFieldAtLê ou escreve o valor do campo de formulário situado na coordenada de página indicada
FormFieldCountNúmero de widgets de campos de formulário na página atualmente ativa
FormFieldInfoRegisto completo que descreve um campo de formulário num índice indicado na página ativa
FormFieldInfoAtRegisto do campo de formulário para o widget situado na coordenada de página indicada
FormHostCallbacksComplete, FormSelectionRects, OnForm*Páginas de formulário nativas seguras em termos de vida útil, mais callbacks controlados pelo anfitrião para navegação, URI, cursor, mudança de valor e seleção
function FormFieldTypeAtPoint(X, Y: Double; out FieldType: TPdfFormFieldType): BooleanUsa hit testing nativo de pontos para devolver o tipo de campo sem criar um handle de anotação
function FormFieldTabOrder: TPdfIntegerArrayTrabalha com o cursor lógico de foco AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
property FormFillInterface que permite à aplicação fornecer callbacks relacionados com formulários (Beep, Invalidate, OutputDocFile, etc.)
FormHandleHandle nativo do ambiente de preenchimento de formulários do PDFium associado ao documento
function DetachFormObjectChild(FormIndex, ChildIndex: Integer): FPDF_PAGEOBJECTRemove um filho de Form XObject e transfere a propriedade do seu handle nativo
function FormObjectChildren(Index: Integer): TPdfPageObjectInfosLista os objetos de página aninhados dentro de um Form XObject
function GetAnnotationFontColor(AnnotIndex: Integer; out Color: TColor): BooleanLê a cor do texto de uma anotação widget de campo de formulário
function GetAttachmentStringValue(Index: Integer; const Key: WString): WStringLê uma entrada de cadeia do dicionário de especificação de ficheiro de um anexo
function GetImageObjectRenderedBitmap(Index: Integer): TBitmapRenderiza um objeto de imagem com a sua máscara, conversão de cor e matriz aplicadas
function GetObjectRenderedStrokePattern(Index: Integer): TBitmapRasteriza o tiling pattern com que um path object é traçado num bitmap da responsabilidade de quem chamou, ou devolve nil quando não há nenhum
property FormTypeIndica se o documento contém campos AcroForm, XFA ou nenhum formulário
procedure GenerateFormAppearancesRegenera o /AP (fluxo de aparência) de todos os widgets de formulário em todas as páginas, renderizando cada página através de FPDF_FFLDraw. É a chamada companheira recomendada das atribuições FormField[i] := value — sem ela, os valores dos formulários podem ficar visíveis apenas quando o campo tem o foco, e qualquer operação de achatamento subsequente perderá silenciosamente os valores. Chamar depois de todas as atribuições a FormField[] e antes de SaveAs / FlattenPage / FlattenAllPages
function GetPageBoxLê o retângulo da caixa de página com nome na página atual
function GetXfaConfig: TBytesObtém os bytes XML em bruto do pacote de configuração XFA do documento PDF
function GetXfaDatasets: TBytesObtém os bytes XML originais dos datasets XFA do documento PDF
function GetXfaFormPackets: TXfaPacketListFaz snapshot de todos os pacotes XFA incorporados numa coleção TXfaPacketList
function GetXfaPacketByName(const Name: string): TBytesDevolve os bytes de conteúdo em bruto do pacote XFA identificado pelo nome
function GetXfaPacketContent(Index: Integer): TBytesDevolve os bytes de conteúdo em bruto do pacote XFA no índice baseado em zero indicado
function GetXfaPacketCount: IntegerDevolve o número de pacotes XFA incorporados no documento
function GetXfaPacketName(Index: Integer): stringDevolve o nome do pacote XFA no índice baseado em zero indicado
function GetXfaTemplate: TBytesObtém os bytes XML em bruto do pacote de template XFA do documento PDF
GrantedPermissionsDevolve as permissões de palavra-passe do proprietário como um conjunto tipado TPdfPermissions
HasBookmarkChildrenDevolve True quando o nó de outline indicado tem pelo menos um marcador filho
HasFormFieldAtHit test que devolve True quando um widget de campo de formulário cobre a coordenada de página indicada
HasPermission(Permission: TPdfPermission): BooleanTesta uma permissão de palavra-passe do proprietário sem aritmética manual de bits
ImagePropriedade indexada — devolve um objeto de página de imagem na página atual (handle + bbox + profundidade de bits + espaço de cor)
ImageCountNúmero de XObjects de imagem raster na página atualmente ativa
function ImportFDF(const FileName: string): IntegerAplica valores de campos de formulário a partir de um documento FDF; também está disponível uma overload com TStream
ImportXFDFAplica campos e anotações XFDF com consciência de namespaces, incluindo valores explicitamente vazios, texto misto com CDATA e nomes de campos profundamente aninhados
property IncrementalSaveActive: BooleanReporta se existe uma sessão de gravação incremental atualmente aberta
procedure InsertClipPath(Left, Bottom, Right, Top: Single)Recorta tudo o que é desenhado na página atual para um retângulo em unidades de página PDF
procedure InsertObjectAtIndex(StackIndex: Integer; PageObj: Pointer)Insere um objeto de página a uma profundidade escolhida da ordem de desenho, em vez de no topo
class function InspectAvailability(AStream: TStream): TPdfAvailabilityReporta linearização, disponibilidade de análise e primeira página de um fluxo PDF sem o carregar
ImportNPagesToOneConstrói um TPdf novo cujas páginas são composições NumX×NumY das páginas do documento de origem, adequado para layouts de impressão N-up
ImportPagesCopia uma ou mais páginas de outro TPdf aberto para este documento
ImportPagesByIndexImporta um subconjunto específico de páginas de outro TPdf por índice baseado em zero, com controlo sobre o ponto de inserção no documento atual
function ImportPreferences(Pdf: TPdf): BooleanConjunto de bits que controla como ImportPages copia o conteúdo (recursos, destinos com nome, comentários, etc.)
function InsertFormObjectFromXObject(XObject: TPdfXObject): FPDF_PAGEOBJECTInsere UMA cópia da página encapsulada por um TPdfXObject na página atual deste documento, devolvendo o FPDF_PAGEOBJECT para que o chamador a posicione / escale / rode
IsTaggedIndica se o documento declara uma árvore de estrutura para acessibilidade
JavaScriptActionPropriedade indexada — devolve uma ação JavaScript ao nível do documento (name + Type + Source em cadeia)
JavaScriptActionCountNúmero de ações JavaScript ao nível do documento guardadas no PDF
JavaScriptActionsTodas as ações JavaScript ao nível do documento devolvidas como um único dynamic array
KeywordsLista de palavras-chave fornecida pelo autor, do dicionário Info do documento
LanguageIdentificador de língua natural declarado no catálogo do documento
LineToAcrescenta uma linha reta do ponto atual até (X, Y)
LinkAnnotationPropriedade indexada — devolve o /Annot Subtype Link explícito no índice indicado, incluindo a ação ou o destino alvo
LinkAnnotationCountNúmero de entradas de anotação /Link numa página específica
function LinkAtPoint(X, Y: Double): BooleanFaz hit test de uma coordenada no espaço da página contra anotações de link nativas através de FPDFLink_GetLinkAtPoint
procedure LoadCustomDocument(AStream: TStream; AOwnsStream: Boolean = False)Carrega um PDF a partir de qualquer TStream navegável usando o leitor de blocos a pedido do PDFium, pelo que documentos de vários GB e origens remotas ou suportadas por bases de dados não precisam de uma cópia prévia em memória
TPdfRandomAccessStoreGuarda conteúdo navegável sob um teto de memória, transborda para armazenamento temporário privado e suporta chamadas ReadAt e WriteAt independentes de cursor
function TextIndexToCharacterIndex(Index: Integer): IntegerMapeia um deslocamento no texto extraído de volta para o carácter que o produziu
function TextObjectGlyphOutline(Index, GlyphIndex: Integer; FontSize: Single): TPdfPathSegmentsLê o contorno vetorial de um glifo, normalizado de forma que um em corresponda a 1.0
function TextObjectGlyphWidth(Index, GlyphIndex: Integer; FontSize: Single): SingleMede o avanço nativo do glifo num tamanho de tipo de letra pedido
function TextObjectFontSize(Index: Integer): SingleLê o tamanho nativo do tipo de letra de um objeto de página de texto
procedure SetTextObjectFontSize(Index: Integer; FontSize: Single)Edita o tamanho do tipo de letra de objetos de texto sem escala por matriz
procedure LoadDocumentAbre um PDF a partir de um ficheiro, array de bytes, buffer de memória validado ou fluxo de memória não nil
LastLoadReportDevolve o último estado de carregamento, rota nativa de recuperação, validade do xref, contadores de auditoria limitados e problemas tipados
SaveAsRepairedEscreve uma cópia completa e verifica-a através de um carregamento estrito isolado antes de reportar sucesso
property MetaTextDevolve um valor do dicionário Info do documento pelo nome da tag
MetadataDevolve o título, autor, assunto, palavras-chave, creator, producer, data de criação e data de modificação padrão num único registo snapshot
MergeFilesFunde listas de origens suportadas por ficheiros com handles de origem limitados, lotes nativos de importação de páginas, políticas explícitas, progresso, cancelamento, rollback e um relatório detalhado
ModifiedDateTimestamp da última modificação registado no dicionário Info do documento
MovePagesReordena as páginas deste documento no local por índice baseado em zero, mantendo o número de páginas constante
MoveToInicia um novo subcaminho na coordenada de página indicada
ObjectBitmapPropriedade indexada — devolve um objeto de página de imagem como um TBitmap VCL renderizável (descodificação com perdas a partir de JPX/CCITT/etc.)
ObjectBoundsRetângulo delimitador estrito, alinhado com os eixos, de um único objeto de página na página atual
ObjectCountNúmero só de leitura de objetos de página (texto, caminho, imagem, shading, formulário) na página atual
ObjectHandlePonteiro FPDF_PAGEOBJECT em bruto do PDFium para o objeto de página especificado
ObjectTransparentIndica se um objeto de página participa na transparência PDF — quer através
ObjectTypeDevolve a categoria do objeto de página no índice indicado — texto, caminho, imagem, shading ou Form XObject. A classificação corresponde ao operador do fluxo de conteúdo PDF que produziu o objeto e permite aos chamadores iterar o array de objetos de página com um único dispatch por switch
function OptimizeImages(const Options: TPdfImageOptimizeOptions; out Report: TPdfImageOptimizeReport): BooleanReduz a resolução de objetos de imagem de página cujo DPI efetivo de colocação excede um alvo do chamador, através dos caminhos nativos de bitmap e FPDFImageObj_SetBitmap, deixando depois o documento pronto para SaveAs
function GetFeatureInventory: TPdfFeatureInventoryAnalisa todas as páginas uma vez e devolve um registo unificado de contagens de objetos de texto, caminho, imagem, Form XObject e shading, juntamente com factos ao nível do documento
function GetObjectText(Index: Integer): WStringExtrai o texto desenhado por um objeto de texto
function GetObjectsByType(ObjType: TObjectType): TPdfIntegerArrayLista os índices de todos os objetos de página de um dado tipo na página atual
function GetPageActionType(EventType: Integer): IntegerReporta o tipo PDFACTION_* da ação adicional de abertura ou fecho da página, 0 quando não existe
function GetPageActionURI(EventType: Integer): WStringLê o URI que uma ação de abertura ou fecho da página abre
function GetTextInReadingOrder(Order: TPdfReadingOrder): WStringExtrai o texto da página pela ordem bruta do conteúdo ou ordenado pela ordem de leitura física
function GetTextObjectRenderedBitmap(Index: Integer; Scale: Single): TBitmapRasteriza um objeto de texto isolado na escala pedida
function GetTextRenderMode(Index: Integer): IntegerLê o modo FPDF_TEXTRENDERMODE_* de um objeto de texto, que é como se distingue texto OCR invisível de texto visível
function GetWidgetAdditionalActionJavaScript(AnnotIndex, EventType: Integer): WStringLê o script keystroke, format, validate ou calculate de um widget de campo de formulário
function AuditActiveContent: TPdfActiveContentAuditDevolve um snapshot do número de ações JavaScript, ficheiros incorporados, assinaturas, tipo de formulário XFA e permissões, sem executar qualquer script ou ação
property OnFormFieldEnterOcorre quando o motor de preenchimento de formulários ganha o foco num campo de formulário
property OnFormFieldExitOcorre quando o motor de preenchimento de formulários perde o foco num campo de formulário
property OnJavaScriptResponseOcorre quando ações JavaScript incorporadas no PDF pedem interação do utilizador
property OnPageChangeOcorre quando Pdf.Page é atribuído a um índice de página diferente
property OnUnsupportedFeatureOcorre quando o documento usa uma funcionalidade PDF que o PDFium não implementa (por exemplo, formulários XFA full, anotações 3D, multimédia)
property OnXfaGotoUrlOcorre ao navegar para URLs de links dentro de formulários XFA dinâmicos
property OnXfaUriActionOcorre quando ações de URI de links são despoletadas dentro de contextos XFA dinâmicos
function PadesCryptoAvailable: BooleanIndica se o backend criptográfico de assinaturas está disponível no sistema
PageHandle nativo de página do PDFium para a página atualmente ativa
function PageUsesOverprint: BooleanConsulta o uso exato de overprint da página quando a extensão opcional de saída de impressão suporta a deteção
function PathInfo(Index: Integer): TPdfPathInfoLê o modo de preenchimento, a flag de stroke e a geometria de segmentos de um objeto de caminho
property PageBounds[Box: TPdfPageBox]: TPdfRectanglePropriedade ao nível da página — o retângulo da caixa de página pedida (MediaBox/CropBox/BleedBox/TrimBox/ArtBox)
property PageBox[Box: TPdfPageBox]: TPdfRectanglePropriedade ao nível da página — lê ou escreve um retângulo específico de caixa de página na página atual
property PageCount: IntegerPropriedade ao nível da página — número total de páginas no documento aberto
property PageMetrics[PageNumber: Integer]: TPdfPageMetricsDimensões, rotação, etiqueta, transparência e caixas de página padrão em cache para qualquer página
property CacheBudgetBytes: Int64Define o teto unificado de bytes de cache retida para uma instância TPdf
property CacheGovernor: TPdfCacheGovernorDevolve o governor partilhado pertencente ao componente para consultas por tipo e coordenação com a cache da aplicação
property CacheGovernorStatistics: TPdfCacheGovernorStatisticsDevolve telemetria atual, de pico, pinned, de expulsão, de toques e de rejeições
property LifecycleActionPolicy: TPdfLifecycleActionPolicySeleciona execução automática de ações do ciclo de vida de documento e página: desativada, só explícita ou compatível
property PageSceneCacheCapacity: IntegerNúmero máximo de cenas de páginas inativas analisadas retidas para renderização indexada
property PageSceneCacheCount: IntegerNúmero atual de cenas de página analisadas reutilizáveis
PageHeightAltura da página ativa em unidades do espaço de utilizador do PDF (pontos = 1/72 de polegada)
function PageObjectClipPath(Index: Integer): TPdfClipPathLê o clip path que limita onde um objeto de página pode pintar
function PageObjectInfo(Index: Integer): TPdfPageObjectInfoLê todos os atributos editáveis de um objeto de página num único registo
function PageObjectMarkedContentID(Index: Integer): IntegerLê o /MCID que liga um objeto de página à árvore de estrutura, -1 quando não etiquetado
function PageObjectMarks(Index: Integer): TPdfContentMarksLê as tags de marked-content e as listas de propriedades tipadas anexadas a um objeto de página
property PageLabel: WStringPropriedade ao nível da página — devolve a etiqueta de página visível para o utilizador (como "iv" ou "A-3") em vez do índice baseado em zero
property PageMode: TPageModePropriedade ao nível da página — a dica /PageMode do documento (Outlines, Thumbs, FullScreen, ...)
property PageNumber: IntegerÍndice da página atual baseado em 1, de leitura e escrita, com verificação de limites e substituição nativa de página segura quanto a rollback
property PageRotation: TRotationPropriedade ao nível da página — rotação aplicada à página atual na renderização (ro0 / ro90 / ro180 / ro270)
function PageToDevice(PageX, PageY: Double; Left, Top, Width, Height: Integer; Rotation: TRotation; out X, Y: Integer): BooleanConverte a coordenada de página de um ponto em coordenada de ecrã
property PageWidth: DoublePropriedade ao nível da página — largura da página atual em pontos (1 pt = 1/72 de polegada)
function PageWordBoxes: TPdfWordBoxesDevolve registos TPdfWordBox para palavras da página TPdf atual, com intervalos de caracteres e retângulos no espaço da página
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): BooleanExecuta uma ação nativa do ciclo de vida do documento e reporta falhas de política, ambiente ou callback sem propagar exceções
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): BooleanExecuta uma ação de abertura ou fecho de página sem alterar a página ativa e liberta de forma determinística o estado nativo temporário da página
TPdfDocumentLifecycleAction / TPdfPageLifecycleActionModelo de política e de execução de ações do ciclo de vida de documento e de página, cobrindo os modos desativado, apenas explícito e automático compatível
property PasswordPalavra-passe de desencriptação atribuída antes de Active := True
PdfAConformanceNível de conformidade PDF/A só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfA explicitamente
PdfEConformanceNível de conformidade PDF/E só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfE explicitamente
PdfRConformanceNível de conformidade PDF/R só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfR explicitamente
PdfUaConformanceNível de conformidade PDF/UA só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfUa explicitamente
PdfVersionFlag só de leitura — a versão da especificação PDF do documento aberto (por exemplo pv14, pv17, pv20)
PdfVTConformanceNível de conformidade PDF/VT só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfVT explicitamente
PdfXConformanceNível de conformidade PDF/X só de leitura do documento atualmente aberto, sem precisar de chamar ValidatePdfX explicitamente
function PerformNamedAction(const ActionName: string): BooleanExecuta uma ação com nome; NextPage, PrevPage, FirstPage e LastPage movem PageNumber com limitação aos limites
property PermissionsDevolve os bits de permissão da palavra-passe do proprietário tal como descodificados do dicionário /Encrypt
PrintCopiesNúmero sugerido de cópias incorporado que o autor do PDF gostaria de ver na janela de impressão
PrintPageRangesLista descodificada de intervalos de páginas baseados em 1 que o autor do PDF gostaria na impressão
PrintPaperHandlingValor descodificado da dica /Duplex de /ViewerPreferences do documento —
PrintScalingValor descodificado de /PrintScaling de /ViewerPreferences do documento
ProducerNome da biblioteca ou conversor PDF que produziu o ficheiro
function ReadXmpPacket: TPdfXmpPacketLê o pacote de metadados XMP como um objeto analisado, pertencente ao chamador
function InspectPdfAMetadata: TPdfAMetadataReportDevolve evidência tipada de equivalência para os oito mapeamentos Info-to-XMP do ISO 19005-1
function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReportReporta evidência limitada de língua natural usando marked-content, ancestrais de estrutura e herança de idioma do catálogo
function InspectPdfUaUnicodeCoverage: TPdfUaUnicodeCoverageReportReporta cobertura de extração Unicode direta e ActualText no âmbito do objeto, numa única passagem de página de texto nativa
function ReadAttachmentMetadata(MaxAttachments: Integer = 10000): TPdfAttachmentMetadataArrayCaptura metadados de anexos e tamanhos descodificados numa única enumeração nativa limitada, sem carregar bytes de payload
function ReadStructureElements(PageNumber; Options; out Status): TPdfStructureElementsMaterializa um snapshot iterativo da árvore de estrutura sob orçamentos de profundidade, elementos, atributos e tempo escolhidos pelo chamador
ReadableContentDevolve fragmentos de conteúdo legível semântico para fluxos de trabalho de leitor de ecrã, texto para fala e acessibilidade
function ReadablePageContent(PageNumber: Integer): TPdfReadableContentDevolve fragmentos de conteúdo legível semântico para fluxos de trabalho de leitor de ecrã, texto para fala e acessibilidade
function ReadingUnits: TPdfReadingUnitsConstrói registos TPdfReadingUnit ao nível da frase a partir do fluxo de conteúdo legível da página atual, para fluxos de trabalho de leitura assistida por voz
RectangleDevolve um retângulo delimitador de texto do layout de texto da página atual
procedure RefreshAppearance(AnnotIndex: Integer)Força o PDFium a regenerar o fluxo de aparência de uma anotação
procedure RemoveAnnotationObject(Index, ObjectIndex: Integer)Elimina um objeto de página de uma anotação de tinta ou carimbo
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerConta o número de áreas retangulares ocupadas por um segmento de texto. A função funde automaticamente caixas de caracteres pequenas em maiores se esses caracteres estiverem na mesma linha e usarem as mesmas definições de tipo de letra
procedure ReloadPageRecarrega a página atualmente selecionada do motor PDFium, atualizando a cache de objetos de página
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Remove o objeto de página indicado da página atual. Quando DestroyObject é True, o objeto removido é libertado após a remoção. O fluxo de conteúdo da página é regenerado automaticamente
procedure RemovePageObjectMark(Index, MarkIndex: Integer)Remove uma entrada de marked-content de um objeto de página
procedure RemovePageObjectMarkParam(Index, MarkIndex: Integer; const Key: WString)Remove uma propriedade de uma marca existente sem a substituir
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Renderiza o conteúdo de uma página num dispositivo (ecrã, bitmap ou impressora)
function RenderPageByIndex(PageNumber, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRenderiza qualquer página sem alterar PageNumber e reutiliza a sua cena PDFium analisada entre tamanhos de saída
procedure RenderPageSkia(Canvas: FPDF_SKIA_CANVAS; Width, Height: Integer; DrawFormOverlay: Boolean = True)Renderiza a página atual e a sobreposição opcional de formulário num SkCanvas pertencente ao chamador
procedure RenderPageSkiaByIndex(Canvas: FPDF_SKIA_CANVAS; PageNumber, Width, Height: Integer; DrawFormOverlay: Boolean = True)Renderiza qualquer página para Skia através da cache de cenas de página analisadas sem alterar a página ativa
function RenderPageWithMatrix(Width, Height: Integer; const Matrix: FS_MATRIX; const Clip: TPdfRectangle; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRenderiza através de uma transformação arbitrária com um retângulo de recorte no espaço de destino
function RenderSpotPlate(PlateIndex, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRenderiza uma chapa de impressão nativa exata quando o ABI opcional expõe a operação
function RenderOverprintPreview(Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRenderiza pré-visualização nativa exata de overprint quando o ABI opcional expõe a operação
function RenderPageBanded(Width, Height, BandHeight: Integer; BandCallback: TPdfBandCallback; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): IntegerRenderiza a página em bandas horizontais, de forma que uma página grande nunca precise de um bitmap de tamanho completo
function RenderPageBandedToEncoder(Width, Height, BandHeight: Integer; Encoder: TPdfBandedImageEncoder; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportEntrega bandas nativas recortadas em sequência a um encoder pertencente ao chamador e reporta progresso e memória de pico das bandas
function RenderPageBandedToStream(Stream: TStream; Width, Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReportEnvia em fluxo linhas PNG ou TIFF diretamente a partir de bandas da página, sem reter píxeis da página completa
RenderPageProgressiveVariante cancelável de RenderPage que conduz o ciclo de renderização progressiva do PDFium e consulta um IPdfCancellationToken entre iterações, para que renderizações longas de DPI elevado possam abortar a meio da página em vez de bloquear até concluir
function RenderPageProgressiveWithColorScheme(Bitmap: TBitmap; Left, Top, Width, Height: Integer; const AToken: IPdfCancellationToken; const ColorScheme: TPdfColorScheme; Rotation: TRotation = ro0; Options: TRenderOptions = []; Background: TColor = clWhite): TPdfProgressiveStatusRenderização progressiva cancelável que substitui as cores de caminhos e de texto para leitura com baixa visão
function RenderPagesParallel(const PageNumbers: array of Integer; const Options: TPdfParallelRenderOptions; const CancellationToken: IPdfCancellationToken = nil): TPdfParallelRenderReportCaptura o documento atual uma única vez em armazenamento limitado e renderiza as páginas pedidas através de documentos PDFium isolados pertencentes a workers, partilhando memória, um mapeamento de ficheiro só de leitura ou acesso aleatório nativo
function RenderPageThumbnail(PageIndex, MaxWidth, MaxHeight: Integer; Rotation: TRotation; Options: TRenderOptions; Background: TColor; const ColorScheme: TPdfColorScheme): TBitmapRenderiza qualquer página baseada em 1 num bitmap pertencente ao chamador, com cache por revisão e controlo completo da chave de renderização
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TBitmapRenderiza uma área retangular de uma página num novo bitmap. O bitmap devolvido tem de ser libertado manualmente
function SpotPlates: TPdfSpotPlateInfosDevolve índices exatos de chapas spot nativas e nomes UTF-8 quando o ABI opcional expõe a enumeração
InspectOptionalContentEnumera grupos de optional content, configurações, metadados de uso, grupos de rádio, expressões OCMD e o estado efetivo de renderização do PDFium
function IsAnnotationSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanReporta se o módulo PDFium carregado consegue criar o subtipo de anotação
function IsAnnotationObjectSubtypeSupported(Subtype: TPdfAnnotationSubtype): BooleanReporta se o PDFium consegue extrair e editar objetos de aparência para o subtipo de anotação
function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanGrava a cópia do documento PDF no fluxo indicado. Se PdfVersion é pv13 a pv17, a saída gravada é normalizada e validada para essa versão de destino, incluindo overrides /Version existentes do catálogo na saída incremental. O validador cobre a linha completa de funcionalidades PDF 1.1–1.7 / ISO 32000-1: filtros (FlateDecode, JBIG2Decode, JPXDecode), object & xref streams, transparência (SMask, ca/CA, blend modes), Tagged PDF (StructTreeRoot, MarkInfo), espaços de cor (ICCBased, DeviceN), caixas de página (BleedBox/TrimBox/ArtBox), output intents, optional content, tipos de letra CID/Type 0 e OpenType, encriptação AES & AES-256 (CFM AESV2/AESV3), todos os subtipos de anotação restringidos por versão (Widget, Sound, Movie, FreeText, Line, Square, Circle, Highlight, Underline, StrikeOut, Stamp, Ink, Popup, FileAttachment, TrapNet, Squiggly, PrinterMark, Polygon, PolyLine, Caret, Screen, Watermark, 3D, Redact), tipos de ação restringidos por versão (SubmitForm, ResetForm, ImportData, Hide, Named, JavaScript, Trans, SetState, Rendition, GoToE, GoTo3DView) e entradas de catálogo (Perms, Legal, Collection, Requirements, NeedsRendering). Tudo o que exceda a versão de destino escolhida gera EPdfError. Se o documento não tiver OpenAction e a versão de destino o suportar, o PDF gravado abre na primeira página com zoom Fit Height. Builds de avaliação aplicam a marca de água de avaliação durante a gravação
function SaveAsLinearized(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve um PDF Fast Web View de reescrita completa com agrupamento da primeira página, duas secções xref clássicas e sugestões comprimidas do Anexo F quando benéfico
function SaveAsLinearized(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): BooleanEscreve saída Fast Web View num ficheiro de forma atómica, depois de concluir e validar um ficheiro temporário irmão
function SaveAsObjectStream(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanReordena objetos ativos por localidade de página, empacota valores elegíveis em grupos ObjStm limitados e escreve entradas xref tipo 2 completas
function SaveAsObjectStream(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown; MaxObjectsPerStream: Integer = 100; MaxDecodedBytesPerStream: Integer = 65536): BooleanEscreve saída de object streams PDF 1.5+ de forma atómica depois de concluir um ficheiro temporário irmão
function SaveAsNormalizedContent(Stream: TStream; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanNormaliza cada sequência de conteúdo lógico de página e coalesce arrays /Contents seguros num único fluxo
function SaveAsNormalizedContent(const FileName: string; out Report: TPdfContentNormalizeReport; const Options: TPdfContentNormalizeOptions; SaveOption: TSaveOption = saNoIncremental; PdfVersion: TPdfVersion = pvUnknown): BooleanSubstitui um ficheiro de forma atómica depois de escrever o conteúdo normalizado e um xref clássico completo
SaveAsPageLabelledEscreve uma cópia PDF completa cuja árvore numérica /PageLabels do catálogo é substituída pelos intervalos fornecidos, aplicando estilos de numeração decimal, romana e de letras conforme ISO 32000-1 §12.4.2
SaveAsOptionalContentConfiguredEscreve e verifica estritamente uma cópia com visibilidade de grupos de optional content escolhida pelo chamador para uma configuração e uso
function SaveAsReachable(Stream: TStream; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanVarre objetos inalcançáveis e reescreve o documento como uma revisão clássica única, preservando os números de objetos
function SaveAsReachable(const FileName: string; out Report: TPdfPruneReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de uma reescrita podada de revisão única
function SaveAsDeduplicated(Stream: TStream; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanVarre objetos inalcançáveis e reescreve referências para que tipos de letra, imagens e Form XObjects duplicados partilhem um representante
function SaveAsDeduplicated(const FileName: string; out Report: TPdfDedupReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de uma reescrita desduplicada de revisão única
function SaveAsFlateRecompressed(Stream: TStream; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanRecodifica fluxos FlateDecode elegíveis com compressão máxima quando a poupança medida ultrapassa um limiar do chamador
function SaveAsFlateRecompressed(const FileName: string; const Options: TPdfFlateRecompressOptions; out Report: TPdfFlateRecompressReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de uma reescrita recomprimida com Flate
function SaveAsInlineImagesExternalised(Stream: TStream; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanExtrai imagens inline BI/ID/EI para XObjects reutilizáveis, expande abreviaturas e substitui blocos inline por operadores Do
function SaveAsInlineImagesExternalised(const FileName: string; const Options: TPdfInlineImageExternaliseOptions; out Report: TPdfInlineImageExternaliseReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois da externalização de imagens inline
function SaveAsReproducible(Stream: TStream; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanRemove timestamps não determinísticos e /ID para que duas gravações do mesmo documento sejam byte-idênticas
function SaveAsReproducible(const FileName: string; out Report: TPdfReproducibleReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de uma reescrita reproduzível
function ExportObjectGraph(Stream: TStream; const Options: TPdfObjectGraphInspectOptions; out Report: TPdfObjectGraphReport): BooleanExporta valores indiretos ativos como JSON tipado dentro do orçamento e reporta truncamento explícito
function SaveAsObjectGraphPatched(Stream: TStream; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanAcrescenta uma revisão de patch validada apenas de dicionários e carrega-a estritamente antes de copiar para o destino
function SaveAsObjectGraphPatched(const FileName: string; const Operations: TPdfObjectPatchOperations; out Report: TPdfObjectGraphReport; AllowSignedDocument: Boolean = False): BooleanSubstitui um ficheiro de forma atómica depois de uma transação de patch do grafo de objetos bem-sucedida
function SaveAsRedacted(Stream: TStream; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanAplica anotações /Redact a um snapshot isolado, remove objetos de página de topo que se intersetam, pinta substituições opacas e emite um fluxo limpo de revisão única
function SaveAsRedacted(const FileName: string; const Options: TPdfRedactionOptions; out Report: TPdfRedactionReport): BooleanSubstitui um ficheiro de forma atómica depois de o pipeline de redação e saneamento ter sucesso
SaveAsSanitisedProduz uma cópia limpa de revisão única que remove conteúdo ativo e /AF do catálogo, e depois poda objetos inalcançáveis para que corpos órfãos de JavaScript, ações e anexos desapareçam do corpo do ficheiro
BeginIncrementalSave / CommitIncrementalSave / EndIncrementalSaveSessão de gravação incremental de objetos alterados: captura a baseline estável uma única vez, acrescenta revisões que preservam os bytes depois da saída anterior exata e liberta a sessão no fim
procedure BeginIncrementalSave(AllowSignedDocument: Boolean = False)Captura a baseline estável e o prefixo exato da origem encriptada ou não encriptada para uma sessão de revisão de objetos alterados
function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): BooleanAcrescenta objetos indiretos alterados ou novos, herda a encriptação existente e valida o resultado de forma independente
function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): BooleanFaz flush durável e reabre um ficheiro lateral antes da substituição atómica, e restaura o estado da sessão após qualquer falha
procedure EndIncrementalSaveLiberta a baseline da sessão e a saída acumulada
function ExportFDF(const FileName: string): IntegerEscreve valores de campos de formulário como FDF (ISO 32000-1 12.7.11); também está disponível uma overload com TStream
function SaveAsEncrypted(const FileName: string; const Options: TPdfEncryptOptions): BooleanGrava o PDF ativo com encriptação AESV3-CBC ou ISO/TS 32003 AESV4-GCM
function SaveAsEncryptedToStream(Stream: TStream; const Options: TPdfEncryptOptions): BooleanEscreve a saída PDF encriptada em qualquer TStream navegável sem passar pelo disco
function PreparePadesRemoteSignature(Prepared: TStream; const Options: TPadesRemoteSignOptions; out Request: TPadesRemoteSigningRequest): BooleanCria um campo de aprovação ou certificação restringido, mais o digest da assinatura destacada, o ByteRange exato, coordenadas e a impressão digital do PDF preparado necessários para assinatura remota
class function CompletePadesRemoteSignature(Prepared, Dest: TStream; const Request: TPadesRemoteSigningRequest; const CmsDer: TBytes): BooleanRejeita uma sessão modificada ou reutilizada e preenche a posição de assinatura reservada apenas quando o CMS destacado está vinculado ao digest do documento preparado
class procedure SavePadesRemoteSigningRequest(Stream: TStream; const Request: TPadesRemoteSigningRequest)Escreve o formato fixo versionado de pedido de assinatura remota num fluxo
property SecurityHandlerRevision: IntegerRevisão do handler de segurança padrão, ou um valor negativo para um documento não encriptado
function SetAnnotationFontColor(AnnotIndex: Integer; Color: TColor): BooleanSubstitui a cor do texto de uma anotação widget de campo de formulário
procedure SetAttachmentStringValue(Index: Integer; const Key, Value: WString)Escreve uma entrada de cadeia no dicionário de especificação de ficheiro de um anexo
class procedure SetDeterministicTime(FixedEpoch: Int64)Congela o relógio que o PDFium estampa na saída, para que os documentos gravados sejam reproduzíveis byte a byte
class function LoadPadesRemoteSigningRequest(Stream: TStream): TPadesRemoteSigningRequestLê e valida o formato fixo versionado de pedido de assinatura remota
function RenewPadesArchiveTimestamp(const FileName: string; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanAcrescenta um Document Time-stamp de arquivo aos bytes PAdES originais carregados e escreve um ficheiro preparado de forma atómica
function RenewPadesArchiveTimestampToStream(Stream: TStream; const Options: TPadesArchiveTimestampOptions; out Report: TPadesArchiveTimestampReport): BooleanAcrescenta um Document Time-stamp de arquivo e escreve a cadeia B-LTA validada num fluxo
class procedure RestoreActualTimeDevolve o PDFium ao relógio do sistema depois de uma sessão de tempo determinístico
function SaveAsPadesDss(const FileName: string; const Options: TPadesDssOptions): BooleanGrava o PDF ativo num ficheiro com material DSS PAdES desduplicado, dicionários VRI específicos da assinatura e a representação xref da origem
function SaveAsPadesDssToStream(Stream: TStream; const Options: TPadesDssOptions): BooleanGrava o PDF ativo num fluxo com material DSS PAdES desduplicado, dicionários VRI específicos da assinatura e a representação xref da origem
SaveAsPdfAGrava o documento atual como um ficheiro conforme PDF/A-1b, pós-processando o PDF base com uma atualização incremental que injeta um fluxo de metadados XMP, um OutputIntent ICC sRGB e um catálogo de documento atualizado
function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): BooleanVariante em memória de SaveAsPdfA — escreve a saída PDF/A-1b em qualquer TStream sem passar pelo disco
SaveAsPdfEGrava o documento atual como um ficheiro conforme PDF/E-1, pós-processando o PDF base com uma atualização incremental que injeta marcadores de formato de ficheiro PDF/E-1 (ISO 24517-1:2008)
function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): BooleanVariante em memória de SaveAsPdfE — escreve a saída PDF/E-1 em qualquer TStream sem passar pelo disco
SaveAsPdfRGrava o documento atual como um ficheiro conforme PDF/R-1 (ISO 23504-1:2020, o subconjunto PDF de transporte e armazenamento de imagens raster usado para documentos digitalizados)
function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): BooleanVariante em memória de SaveAsPdfR — escreve a saída PDF/R-1 em qualquer TStream sem passar pelo disco
SaveAsPdfUaGrava PDF/UA-1 por predefinição ou PDF/UA-2 com TPdfUaSaveOptions.PdfUa2, incluindo a identificação XMP exigida e a versão PDF efetiva
function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): BooleanSaída PDF/UA-1 e PDF/UA-2 em memória, sem passar pelo disco
SaveAsPdfVTGrava o documento atual como um ficheiro conforme PDF/VT-1 de ficheiro único (ISO 16612-2:2010, o subconjunto PDF de impressão variável e transacional)
function SaveAsPdfVTToStream(Stream: TStream; const Options: TPdfVTSaveOptions): BooleanVariante em memória de SaveAsPdfVT — escreve a saída PDF/VT em qualquer TStream sem passar pelo disco
SaveAsPdfXGrava o documento atual como um ficheiro conforme PDF/X-1a:2001, PDF/X-3:2002 ou PDF/X-4, pós-processando o PDF base com uma atualização incremental que injeta marcadores de formato de ficheiro PDF/X (família ISO 15930)
function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): BooleanVariante em memória de SaveAsPdfX — escreve a saída PDF/X em qualquer TStream sem passar pelo disco
function SaveAsWithAssociateFiles(const FileName: string; const Options: TAssocFilesOptions): BooleanGrava o PDF ativo num caminho de ficheiro enquanto injeta associated files no catálogo ou nas páginas, em conformidade com ISO 32000-2 §7.11.4
function SaveAsWithAssociateFilesToStream(Stream: TStream; const Options: TAssocFilesOptions): BooleanEscreve a saída PDF com associated files injetados em qualquer TStream navegável sem passar pelo disco
function SaveAsWithXmpPacket(Stream: TStream; Packet: TPdfXmpPacket; AllowSignedDocument: Boolean = False): BooleanGrava o documento com um pacote de metadados XMP de substituição
function NormalizePdfAMetadata(Stream: TStream; AllowSignedDocument: Boolean = False): BooleanRepara propriedades XMP mapeadas divergentes e grava o documento normalizado
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Define as flags de campo AcroForm do campo de formulário no índice de anotação indicado na página atual
procedure SetFormFieldFlagsAt(X, Y: Single; const Flags: TPdfFormFieldFlags)Define o campo de bits Flags no campo de formulário nas coordenadas indicadas
function SetFocusedFormFieldText(const Value: WString): BooleanDefine o valor do campo de formulário lógico atual através de FocusedFormFieldIndex, sem depender do caret interativo
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanAltera a direção de texto em memória do widget com foco; o valor não é persistido na gravação
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanSeleciona ou limpa uma opção da lista ou caixa de combinação com foco
procedure SetPageBox(Box: TPdfPageBox; const Rectangle: TPdfRectangle)Escreve um novo retângulo para a caixa de página com nome (MediaBox / CropBox / BleedBox / TrimBox / ArtBox) na página atual
procedure SetPageObjectMarkParam(Index, MarkIndex: Integer; const Param: TPdfContentMarkParam)Faz upsert de uma propriedade tipada numa marca existente, preservando a sua identidade e as propriedades não relacionadas
SetTextAcrescenta um objeto de página de texto na coordenada de página indicada
procedure SetTextPositions(ObjectIndex: Integer; const Positions: TPdfSingleArray)Define posições por carácter para o objeto de texto indicado. A posição do primeiro carácter é implícita como 0; Positions[0] define a posição do segundo carácter, Positions[1] a do terceiro, e assim sucessivamente. Os valores estão em pontos e são relativos à origem do objeto de texto
StampPagesFromPdfEstampa uma página de origem como uma sobreposição ou subcamada de Form XObject posicionada, escalada e opcionalmente rodada, em uma ou mais páginas de destino
SignaturePropriedade indexada — devolve um registo de assinatura digital (assinante, motivo, contacto, intervalo de bytes)
SignatureCountNúmero de campos de assinatura digital incorporados no documento
property Signatures: TPdfSignaturesCopia todos os registos de assinatura nativos para um snapshot seguro em termos de vida útil
function SignPades(const FileName: string; const Options: TPadesSignOptions): BooleanAcrescenta uma assinatura PAdES de aprovação ou certificação com restrições opcionais de seed value, certificado, FieldMDP e DocMDP, preservando as entradas existentes de formulário e permissões
function SignPadesToStream(Stream: TStream; const Options: TPadesSignOptions): BooleanEscreve uma atualização de assinatura PAdES restringida com um campo Widget registado, processamento de ByteRange de 64 bits e a representação xref da origem
function SignPadesWithPdfA(const FileName: string; const Options: TPadesSignOptions; PdfAOptions: TPdfASaveOptions): BooleanGrava um documento PDF assinado com PAdES em conformidade com as normas de arquivo PDF/A
StructureElementsPropriedade indexada — devolve os filhos de um elemento da árvore de estrutura lógica (StructTree)
SubjectDevolve o valor da entrada /Subject do dicionário de informações do documento PDF
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringExtrai a cadeia de texto da página. Os parâmetros StartIndex e Count determinam os caracteres a extrair. O parâmetro StartIndex é baseado em zero
function TextInRectangle(Left, Top, Right, Bottom: Double): WStringExtrai texto dentro de um limite retangular na página
TextPageHandle nativo de página de texto do PDFium para a página atualmente ativa
function ThumbnailDecodedData: TBytesLê a miniatura de página incorporada com os seus filtros de fluxo descodificados
property ThumbnailCacheMaxEntries: IntegerNúmero máximo de entradas de miniaturas incorporadas e renderizadas retidas, predefinição 64
property ThumbnailCacheMaxBytes: Int64Número máximo estimado de bytes de píxeis retidos pela LRU de miniaturas, predefinição 64 MiB
property ThumbnailCacheStatistics: TPdfThumbnailCacheStatisticsReporta ocupação, bytes armazenados, acertos, falhas e expulsões
property ThumbnailRevision: Int64Revisão de conteúdo monotónica usada pelos consumidores de miniaturas para descartar pré-visualizações locais desatualizadas
function ThumbnailRawData: TBytesLê a miniatura de página incorporada tal como está guardada, com os seus filtros ainda aplicados
property ThumbnailDevolve os bytes em bruto da entrada /Thumb da página atual (pré-visualização opcional pré-calculada, tipicamente um raster 64x64)
TitleDevolve o valor da entrada /Title do dicionário de informações do documento PDF
property TrailerEnds: TPdfCardinalArrayDeslocamentos de bytes onde termina cada trailer do documento, um por revisão
procedure TransformPageAnnotations(const Matrix: FS_MATRIX)Aplica uma matriz de transformação a todas as anotações da página atual
procedure TransformPageContent(const Matrix: FS_MATRIX; const Clip: TPdfRectangle)Aplica uma matriz de transformação a todos os objetos de conteúdo da página atual, com um retângulo de recorte
procedure TransformPageObject(Index: Integer; const Matrix: FS_MATRIX)Multiplica a matriz de transformação de um objeto de página, movendo-o, escalando-o, rodando-o ou distorcendo-o
procedure TransformPageObjectClipPath(Index: Integer; const Matrix: FS_MATRIX)Transforma apenas a geometria de recorte associada a um objeto de página
TransparentIndica se a página atualmente ativa contém conteúdo transparente
procedure UpdateAnnotationObject(AnnotIndex: Integer; PageObj: Pointer)Informa uma anotação de que um dos seus objetos de página foi modificado
procedure UpdatePageObject(Index: Integer; const Value: TPdfPageObjectInfo; Changes: TPdfPageObjectChanges)Escreve de volta apenas os atributos do objeto de página nomeados pelo conjunto de alterações
procedure UpdatePageConfirma na página PDFium subjacente as edições feitas em memória através de CreateAnnotation, AddImage, AddText, SetFormFieldFlagsAt, etc
property UserPermissionsDevolve os bits de permissão da palavra-passe do utilizador (um subconjunto de Permissions)
UserGrantedPermissionsDevolve as permissões de palavra-passe do utilizador como um conjunto tipado TPdfPermissions
UserHasPermission(Permission: TPdfPermission): BooleanTesta uma permissão de palavra-passe do utilizador sem aritmética manual de bits
function ValidatePades: TPadesValidationResultValida entradas únicas do perfil de assinatura e o intervalo exato de exclusão do Contents diretamente nos bytes de origem originais, sem voltar a gravar o PDF
function ValidatePadesTrust(const Options: TPadesTrustValidationOptions): TPadesValidationResultVerifica dados exatos do ByteRange original, confiança do assinante, evidência de revogação opcional e tokens de carimbo temporal RFC 3161
function ValidatePadesTrustAsync(const Options: TPadesTrustValidationOptions; const Reply: TPadesTrustValidationReply): BooleanCaptura a origem original e despacha validação de confiança faseada cancelável para uma thread worker
function ValidatePdfMac(const Password: AnsiString): TPdfMacValidationResultVerifica um PDF MAC autónomo usando os bytes de origem originais exatos e a palavra-passe fornecida
function ValidatePdfA: TPdfAValidationResultValida marcadores PDF/A, factos de conteúdo e equivalência exata de valores Info-to-XMP do ISO 19005-1
function ValidatePdfE: TPdfEValidationResultInspeciona o PDF atualmente aberto à procura de marcadores de conformidade PDF/E-1 e devolve um resultado estruturado com o nível de conformidade detetado, mais o conjunto de problemas específicos encontrados
ValidatePdfRValida marcadores de ficheiro PDF/R-1, metadados, perfil de encriptação, conteúdo de página apenas raster, geometria de strip, cor, resolução efetiva e parâmetros de compressão
function ValidatePdfUa: TPdfUaValidationResultValida identificação PDF/UA-1 e PDF/UA-2, regras de acessibilidade partilhadas e requisitos PDF 2.0 específicos do perfil
function ValidatePdfVT: TPdfVTValidationResultInspeciona o PDF atualmente aberto à procura de marcadores de conformidade PDF/VT e devolve um resultado estruturado com o nível de conformidade detetado, mais o conjunto de problemas encontrados
function ValidatePdfX: TPdfXValidationResultInspeciona o PDF atualmente aberto à procura de marcadores de conformidade PDF/X e devolve um resultado estruturado com o nível de conformidade detetado, mais o conjunto de problemas específicos encontrados
function VisitStructureElements(PageNumber; Options; Visitor; out Status): IntegerEnvia em fluxo snapshots de elementos de estrutura para um callback de método, sem materializar um array de páginas
ViewerPreferencePropriedade indexada — devolve o valor inteiro de uma chave /ViewerPreferences (NumCopies, PrintScaling, etc.)
WebLinkURL e retângulos delimitadores de um link web autodetetado numa página
WebLinkCountNúmero de URLs web autodetetados ao analisar o texto de uma página
property XFADevolve o pacote XML XFA incorporado no documento (o PDF/A 2.0 descontinuou o formato, mas formulários gerados pelo Acrobat ainda o usam)
property XfaFormPackets: TXfaPacketListFaz snapshot de todos os pacotes XFA incorporados expostos através do runtime XFA como uma coleção TXfaPacketList
property XfaRuntimeAvailable: BooleanIndica se o runtime XFA está disponível para o documento carregado
property XfaStaticReadable: BooleanIndica se o pacote XFA estático pode ser lido sem o runtime XFA
function LinkZOrderAtPoint(X, Y: Double): IntegerDevolve a ordem z da anotação de link mais frontal nas coordenadas da página, ou -1 quando nenhum link é atingido
function FormFieldZOrderAtPoint(X, Y: Double): IntegerDevolve a ordem z do campo de formulário mais frontal nas coordenadas da página, ou -1 quando nenhum campo é atingido
function TryGetAnnotationFileAttachment(AnnotIndex: Integer; out Attachment: TPdfAnnotationAttachment; MaxBytes: Cardinal = 67108864): BooleanCopia metadados e payload de anexo de ficheiro de uma anotação, dentro de limites, para um registo próprio
function GetLinkedAnnotationIndex(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship): IntegerResolve o índice da anotação relacionada Popup ou IRT, com proteção contra referências pendentes
function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArrayPercorre uma cadeia de relacionamento Popup ou IRT com proteção contra ciclos e profundidade
function GetAnnotationDictionaryValue(AnnotIndex: Integer; const Key: WString): TPdfDictionaryValueLê um valor tipado de uma entrada do dicionário de uma anotação
function GetAttachmentDictionaryValue(Index: Integer; const Key: WString): TPdfDictionaryValueLê um valor tipado de uma entrada do dicionário de um anexo de ficheiro incorporado
procedure SetFocusableAnnotationSubtypes(const Subtypes: array of TPdfAnnotationSubtype)Restringe quais subtipos de anotação podem receber o foco do teclado através do handle de formulário
function GetFocusableAnnotationSubtypes: TPdfAnnotationSubtypesDevolve os subtipos de anotação atualmente elegíveis para o foco do teclado
procedure ClearFormSelectionRectsLimpa os retângulos de seleção de formulário em cache reportados através de OnFormSelectionRect

Componente TPdfView

O TPdfView é um controlo visual com deslocamento para apresentar e interagir com documentos PDF. Requer uma referência Pdf: TPdf

Propriedades publicadas (tempo de design)

PropriedadeTipoPredefiniçãoDescrição
AboutstringInformação de versão do componente
ActiveBooleanFalseAtiva/desativa o visualizador
CurrentCharIndexInteger0Índice de carácter selecionado pela aplicação, mantido por compatibilidade
DisplayModeTPdfDisplayModedmSingleContinuousModo de apresentação das páginas (dmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover)
OptionsTRenderOptions[reLcd]Opções de renderização (texto LCD, anotações, tons de cinzento, etc.)
PageShadowSizeInteger0Tamanho opcional da sombra projetada em píxeis; valores negativos são limitados a 0
PageShadowColorTColorclGrayCor de preenchimento da sombra projetada usada quando PageShadowSize > 0
PageBorderColorTColorclBlackCor do contorno de um píxel à volta da página
SmoothScrollBooleanFalseAnima comandos das barras de deslocamento de linha/página em segmentos conduzidos por timer; o arrasto do marcador continua imediato
LinkOptionsTPdfViewLinkOptions[loAutoGoto, loAutoOpenURI]Controla o comportamento automático de goto, URI, launch e embedded-goto após eventos de clique em links
AsyncRenderingBooleanFalseMostra a sobreposição de carregamento quando ativo; o despacho para a worker continua a pertencer à aplicação
LoadingTextstringLoading...Texto desenhado na sobreposição do AsyncRendering; uma cadeia vazia suprime a sobreposição
LoadingColorTColorclYellowCor de fundo da sobreposição do AsyncRendering
NightDuotoneInkTColor$0000C8FFCor de tinta usada pela opção de renderização de baixa visão reNightDuotone
NightDuotonePaperTColorclBlackCor de papel usada pela opção de renderização de baixa visão reNightDuotone
ReadingHighlightColorTColorclSkyBlueControla a cor da sobreposição de destaque de leitura mais abrangente
ReadingWordColorTColor$0000A5FFControla a cor da sobreposição usada para o cursor de leitura ao nível da palavra atual
ReadingWordFollowBooleanTrueControla se o TPdfView desloca a palavra falada atual para a área visível durante o acompanhamento da leitura
PageNumberInteger1Número da página atual (baseado em um)
PdfTPdfnilReferência ao componente TPdf
RotationTRotationro0Rotação de apresentação (ro0, ro90, ro180, ro270)
ZoomDouble1.0Nível de zoom (1.0 = 100%)

Propriedades públicas específicas do TPdfView

PropriedadeTipoDescrição
ActualSizeZoom[PageNumber]DoubleValor de zoom para apresentar a página no seu tamanho real
property AllowFormEvents: BooleanFiltra os eventos de rato, teclado e foco que o visualizador reencaminha para a camada de preenchimento de formulários; o carregamento e o fecho de páginas nunca são filtrados
CanvasTCanvasCanvas para desenho personalizado no visualizador
CharacterAngle[Index]SingleÂngulo de rotação do carácter em radianos
CharacterCountIntegerNúmero de caracteres na página atual do visualizador
CharacterFontSize[Index]DoubleTamanho do tipo de letra do carácter no índice; FontSize[Index] mantém-se como alias compatível
CharacterFontWeight[Index]IntegerPeso do tipo de letra do carácter no índice
CharacterOrigin[Index]TPointOrigem do carácter nas coordenadas de dispositivo do visualizador
CharacterRectangle[Index]TRectLimites do carácter nas coordenadas de dispositivo do visualizador
FontAscent[Index; FontSize]SingleAscendente do tipo de letra usado pelo objeto de texto no índice
FontBaseName[Index]WStringNome do tipo de letra base do objeto de texto no índice
FontData[Index]TBytesDados em bruto do tipo de letra do objeto de texto no índice
FontDescent[Index; FontSize]SingleDescendente do tipo de letra usado pelo objeto de texto no índice
FontFamilyName[Index]WStringNome da família do tipo de letra do objeto de texto no índice
FontHandle[Index]FPDF_FONTHandle PDFium de baixo nível do tipo de letra do objeto de texto no índice
FontIsEmbedded[Index]BooleanTrue se o tipo de letra do objeto de texto estiver incorporado no PDF
FontItalicAngle[Index]IntegerÂngulo itálico do tipo de letra do objeto de texto
FontWeight[Index]IntegerPeso do tipo de letra do objeto de texto
PageHeightZoom[PageNumber]DoubleValor de zoom para ajustar a altura da página ao visualizador
PageWidthZoom[PageNumber]DoubleValor de zoom para ajustar a largura da página ao visualizador
PageZoom[PageNumber]DoubleValor de zoom para ajustar a página inteira ao visualizador
StructureElementsTPdfStructureElementsElementos de estrutura lógica aplanados da página atual do visualizador
WindowHandleHWNDHandle de janela do controlo do visualizador

Métodos específicos do TPdfView

function AddSearchTextHighlight(const Text: WString; MatchCase: Boolean = False; MatchWholeWord: Boolean = False): IntegerDestaca todas as ocorrências do texto na página atual e devolve o número de correspondências
MétodoDescrição
CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerResolve o carácter junto a um ponto nas coordenadas de dispositivo do visualizador; devolve -1 quando não há nenhum carácter próximo
DeviceToPage(X, Y: Integer; out PageX, PageY: Double): BooleanConverte coordenadas de dispositivo do visualizador em coordenadas de página
DeviceToPage(X, Y: Integer; var PageNumber: Integer; var PageX, PageY: Double): BooleanConverte coordenadas de dispositivo do visualizador em coordenadas de página com deteção de página
DeviceToPage(Rectangle: TRect): TPdfRectangleConverte um retângulo de dispositivo do visualizador num retângulo de página
PageToDevice(PageX, PageY: Double; out X, Y: Integer): BooleanConverte coordenadas de página em coordenadas de dispositivo do visualizador
PageToDevice(Rectangle: TPdfRectangle): TRectConverte um retângulo de página num retângulo de dispositivo do visualizador
LinkAnnotationAtPos(X, Y: Integer): IntegerObtém o índice da anotação de link na posição do ecrã
LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): IntegerObtém o índice da anotação de link com o número de página
WebLinkAtPos(X, Y: Integer): IntegerObtém o índice do web link na posição do ecrã
WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): IntegerObtém o índice do web link com o número de página
PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Pinta o destaque da seleção de texto
function PasteFormTextFromClipboard: BooleanCola o texto da área de transferência no campo de formulário com foco
FocusedFormFieldValue: WStringDevolve o valor lógico atual do campo de formulário através de FocusedFormFieldIndex, sem depender do cursor de inserção interativo
function FocusedFormOptionSelected(Index: Integer): BooleanIndica se uma opção da caixa de lista ou combinada com foco está selecionada
FocusedFormFieldName: WStringDevolve o nome de apresentação lógico atual do campo de formulário, preferindo AlternateName e recorrendo a Name como alternativa
FocusedFormFieldDetails: TPdfFormFieldInfoDevolve TPdfFormFieldInfo para o campo de formulário lógico atual
ReadingUnits: TPdfReadingUnitsDevolve unidades de leitura ao nível da frase para leitura assistida por escuta e navegação semântica
PageWordBoxes: TPdfWordBoxesDevolve caixas de palavras com intervalos FTextPage e retângulos no espaço da página para destaque palavra a palavra
SetReadingWord(const Word: TPdfWordBox)Destaca um TPdfWordBox como a palavra falada atual no TPdfView
ClearReadingWordLimpa a sobreposição do cursor de leitura ao nível da palavra no TPdfView
function CopySelectedFormTextToClipboard: BooleanCopia o texto selecionado do campo de formulário com foco para a área de transferência
function CutSelectedFormTextToClipboard: BooleanCorta o texto selecionado do campo de formulário com foco para a área de transferência
TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerMapeia um deslocamento de carácter da página para o TPdfWordBox que o contém, destaca-o e devolve o índice da palavra
RemoveObject(Index: Integer; DestroyObject: Boolean = True)Remove um objeto de página da página atual, regenera o conteúdo da página e repinta o visualizador
function SelectLineAt(Page, CharIndex: Integer): BooleanSeleciona a linha de texto inteira que contém o índice de carácter indicado
function SetFocusedFormOptionSelected(Index: Integer; Selected: Boolean): BooleanSeleciona ou limpa uma opção da caixa de lista ou combinada com foco
GenerateFormAppearancesRegenera os fluxos de aparência /AP através do componente TPdf associado (ver TPdf.GenerateFormAppearances)
FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerAchata anotações e widgets de formulário da página atual em conteúdo estático
SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Define as flags de campo AcroForm pelo índice de anotação da página atual
SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Define as flags de campo AcroForm nas coordenadas do controlo do visualizador
function ReplaceFormTextAndKeepSelection(const Text: WString): BooleanSubstitui o texto do campo de formulário com foco através de FORM_ReplaceAndKeepSelection mantendo o estado de seleção
function FormFieldZOrderAt(X, Y: Integer): IntegerDevolve a ordem z do campo de formulário mais frontal nas coordenadas de cliente, ou -1 quando nenhum é atingido
function LinkZOrderAt(X, Y: Integer): IntegerDevolve a ordem z da anotação de link mais frontal nas coordenadas de cliente, ou -1 quando nenhuma é atingida

Propriedades e Métodos Herdados da VCL e Outros

APIDescrição
property About: stringDocumenta o membro About publicado pelo TPdfView
ActiveAtiva ou desativa o visualizador, abrindo o documento PDF associado e renderizando a página selecionada
property ActualSizeZoom[PageNumber: Integer]: DoubleFator de zoom apenas de leitura que apresenta a página no seu tamanho físico real no ecrã
procedure AddImage(const FileName: string; X, Y, Width, Height: Integer); overloadAcrescenta uma imagem à página atualmente apresentada pelo TPdfView, convertendo um retângulo nas coordenadas de cliente do visualizador para coordenadas de página PDF
function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Integer): BooleanWrapper do TPdfView que reencaminha para TPdf.AddJpegImage
procedure AddPicture(Picture: TPicture; X, Y: Integer); overloadWrapper do TPdfView que reencaminha para TPdf.AddPicture
AlignControla a disposição do visualizador PDF dentro do contentor pai
property AllowUserPageChange: BooleanPermite que a entrada do utilizador (roda do rato, arrasto da barra de deslocamento, combinações de teclas) mude a página atual
property AllowUserTextSelection: BooleanFiltra a seleção de texto conduzida pela entrada do utilizador no visualizador
AnchorsEspecifica que limites do visualizador mantêm uma distância fixa dos limites correspondentes do pai quando este é redimensionado
property Annotation[Index: Integer]: TPdfAnnotationWrapper do TPdfView que reencaminha para TPdf.Annotation
property AnnotationCount: IntegerWrapper do TPdfView que reencaminha para TPdf.AnnotationCount
property AsyncRendering: BooleanFlag opcional que instrui a vista a desenhar uma pequena sobreposição de “Loading...” durante renderizações longas, para que as aplicações que usam a sua própria worker para renderizar fora da thread partilhem uma affordance visual consistente
property Bitmap[Index: Integer]: TBitmapWrapper do TPdfView que reencaminha para TPdf.Bitmap
property BitmapCount: IntegerWrapper do TPdfView que reencaminha para TPdf.BitmapCount
property Canvas: TCanvasCanvas de desenho exposto pelo controlo depois de uma página ser renderizada
property ChangePageOnMouseScrolling: BooleanNo modo SinglePage, controla se a deslocação com a roda do rato no limite da página avança para a página seguinte
property Character[Index: Integer]: WideCharWrapper do TPdfView que reencaminha para TPdf.Character
property CharacterAngle[Index: Integer]: SingleWrapper do TPdfView que reencaminha para TPdf.CharacterAngle
property CharacterCount: IntegerWrapper do TPdfView que reencaminha para TPdf.CharacterCount
property CharacterFontSize[Index: Integer]: DoubleWrapper do TPdfView que reencaminha para TPdf.CharacterFontSize
property CharacterFontWeight[Index: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.CharacterFontWeight
property CharacterGenerated[Index: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.CharacterGenerated
function CharacterIndexAtPos(X, Y: Integer; ToleranceX, ToleranceY: Double): IntegerDevolve o índice do carácter da página atual mais próximo do píxel do ecrã (X, Y), ou -1 se nenhum carácter estiver suficientemente próximo
property CharacterIsHyphen[Index: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.CharacterIsHyphen
property CharacterMapError[Index: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.CharacterMapError
property CharacterOrigin[Index: Integer]: TPointWrapper do TPdfView que reencaminha para TPdf.CharacterOrigin
property CharacterRectangle[Index: Integer]: TRectWrapper do TPdfView que reencaminha para TPdf.CharacterRectangle
property Charcode[Index: Integer]: WideCharWrapper do TPdfView que reencaminha para TPdf.Charcode
procedure ClearFormFieldFocusTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
procedure ClearHighlightWrapper do TPdfView que reencaminha para TPdfView.ClearHighlight
procedure ClearReadingHighlightControla a sobreposição de destaque de leitura do TPdfView usada pela reprodução sincronizada de texto para fala
procedure ClearReadingWordLimpa a sobreposição do cursor de leitura ao nível da palavra no TPdfView
procedure ClearSelectionLimpa a seleção de texto atual e invalida a vista
ColorDefine a cor de fundo desenhada entre os retângulos de página e à volta dos limites do documento
ConstraintsDefine a largura e altura mínimas e máximas que o visualizador PDF pode atingir quando o pai é redimensionado
function CopySelectionToClipboard: BooleanCopia o texto atualmente selecionado para a área de transferência do Windows como CF_UNICODETEXT
constructor Create(AOwner: TComponent); overrideCria o controlo TPdfView e inicializa o estado de renderização, deslocamento, seleção e interação com formulários
procedure CreateAnnotation(const Annotation: TPdfAnnotation)Wrapper do TPdfView que reencaminha para TPdf.CreateAnnotation
property CurrentCharIndex: IntegerÍndice de carácter apenas de leitura, baseado em zero, sob o cursor do rato atual (ou o último ponto testado)
procedure DeleteAnnotation(Index: Integer)Wrapper do TPdfView que reencaminha para TPdf.DeleteAnnotation
destructor Destroy; overrideLiberta recursos do visualizador, buffers de renderização e subscrições de documentos antes de o TPdfView ser destruído
function DeviceToPage(X, Y: Integer; out PageX, PageY: Double): Boolean; overloadConverte um píxel do ecrã (X, Y) dentro da vista num ponto do espaço de utilizador PDF na página atual
property DisplayMode: TPdfDisplayModeModo de disposição: página única, contínuo, duas páginas, duas páginas contínuo, com ou sem capa
property DragCursorDocumenta o membro DragCursor publicado pelo TPdfView
property DragKindDocumenta o membro DragKind publicado pelo TPdfView
property DragModeDocumenta o membro DragMode publicado pelo TPdfView
EnabledControla se o visualizador PDF aceita entrada do utilizador pelo rato e teclado
property Find: FPDF_SCHHANDLEWrapper do TPdfView que reencaminha para TPdf.Find
function FindFirst(const Text: WString; Options: TSearchOptions= []; StartIndex: Integer= 0; DirectionUp: Boolean= True): IntegerInicia uma pesquisa pelo texto indicado. StartIndex é baseado em zero; -1 representa o fim da página. O parâmetro DirectionUp determina o sentido desta operação de pesquisa
function FindNext: IntegerWrapper do TPdfView que reencaminha para TPdf.FindNext
function FindPrevious: IntegerWrapper do TPdfView que reencaminha para TPdf.FindPrevious
property FitMode: TPdfFitModeControla como a página atual se enquadra na área de cliente do visualizador; reaplicado automaticamente ao redimensionar e quando PageNumber muda, para que documentos longos com tamanhos de página mistos continuem enquadrados
function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): IntegerWrapper do TPdfView que reencaminha para TPdf.FlattenPage
function FocusFormField(Index: Integer): BooleanTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusNextFormField: IntegerTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusPreviousFormField: IntegerTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusedFormFieldDetails: TPdfFormFieldInfoDevolve TPdfFormFieldInfo para o campo de formulário lógico atual
function FocusedFormFieldIndex: IntegerTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusedFormFieldName: WStringDevolve o nome de apresentação lógico atual do campo de formulário, preferindo AlternateName e recorrendo a Name como alternativa
function FocusedFormFieldText: WStringTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FocusedFormFieldTextDirection: TPdfFormTextDirectionLê a direção do texto em memória do widget com foco no visualizador
function FocusedFormFieldValue: WStringDevolve o valor lógico atual do campo de formulário através de FocusedFormFieldIndex, sem depender do cursor de inserção interativo
property FontAscent[Index: Integer; FontSize: Single]: SingleWrapper do TPdfView que reencaminha para TPdf.FontAscent
property FontBaseName[Index: Integer]: WStringWrapper do TPdfView que reencaminha para TPdf.FontBaseName
property FontData[Index: Integer]: TBytesWrapper do TPdfView que reencaminha para TPdf.FontData
property FontDescent[Index: Integer; FontSize: Single]: SingleWrapper do TPdfView que reencaminha para TPdf.FontDescent
property FontFamilyName[Index: Integer]: WStringWrapper do TPdfView que reencaminha para TPdf.FontFamilyName
property FontFlags[Index: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.FontFlags
property FontHandle[Index: Integer]: FPDF_FONTWrapper do TPdfView que reencaminha para TPdf.FontHandle
property FontIsEmbedded[Index: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.FontIsEmbedded
property FontItalicAngle[Index: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.FontItalicAngle
property FontSize[Index: Integer]: DoubleWrapper do TPdfView que reencaminha para TPdf.FontSize
property FontWeight[Index: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.FontWeight
function FormCanRedo: BooleanIndica se o widget AcroForm com foco tem pelo menos uma edição anulada para refazer
function FormCanUndo: BooleanIndica se o widget AcroForm com foco tem pelo menos uma edição para anular
property FormField[Index: Integer]: WStringWrapper do TPdfView que reencaminha para TPdf.FormField
property FormFieldAt[X, Y: Integer]: WStringWrapper do TPdfView que reencaminha para TPdf.FormFieldAt
property FormFieldCount: IntegerWrapper do TPdfView que reencaminha para TPdf.FormFieldCount
property FormFieldInfo[Index: Integer]: TPdfFormFieldInfoWrapper do TPdfView que reencaminha para TPdf.FormFieldInfo
property FormFieldInfoAt[X, Y: Integer]: TPdfFormFieldInfoWrapper do TPdfView que reencaminha para TPdf.FormFieldInfoAt
function FormFieldTypeAt(X, Y: Integer; out FieldType: TPdfFormFieldType): BooleanConverte píxeis da vista em coordenadas de página e executa o teste de colisão nativo do tipo de campo
function FormFieldTabOrder: TPdfIntegerArrayTrabalha com o cursor de foco lógico AcroForm da página atual para fluxos de trabalho de teclado, voz e acessibilidade
function FormRedo: BooleanRefaz a edição anulada mais recente no widget AcroForm com foco, conduzindo o histórico de refazer por widget do PDFium
function FormUndo: BooleanAnula a edição mais recente no widget AcroForm com foco, conduzindo o histórico de anular por widget do PDFium
procedure GenerateFormAppearancesWrapper do TPdfView que reencaminha para TPdf.GenerateFormAppearances
function GetSelectedFormText: WStringDevolve o texto atualmente selecionado dentro do widget AcroForm com foco na página ativa da vista
property HasFormFieldAt[X, Y: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.HasFormFieldAt
function HasSelection: BooleanIndica se há texto atualmente selecionado no visualizador
property HighlightColor: TColorCor do retângulo pintado sobre cada correspondência devolvida por HighlightSearchText. A predefinição é clYellow; publicada para que as aplicações possam tematizar o destaque
function HighlightSearchText(const Text: WString; MatchCase: Boolean= False; MatchWholeWord: Boolean= False): IntegerWrapper do TPdfView que reencaminha para TPdfView.HighlightSearchText
property Image[Index: Integer]: TPdfImageWrapper do TPdfView que reencaminha para TPdf.Image
property ImageCount: IntegerWrapper do TPdfView que reencaminha para TPdf.ImageCount
property LinkAnnotation[PageNumber, Index: Integer]: TLinkAnnotationWrapper do TPdfView que reencaminha para TPdf.LinkAnnotation
function LinkAnnotationAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadDevolve o índice da anotação de link no píxel do ecrã (X, Y), ou -1
property LinkAnnotationCount[PageNumber: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.LinkAnnotationCount
property LinkOptions: TPdfViewLinkOptionsConjunto publicado que controla quais dos quatro tipos de ação de link do PDFium a vista segue automaticamente quando o utilizador clica no link
LoadingColorCor de preenchimento do marcador de “carregamento” desenhado enquanto uma página ainda está a ser renderizada
LoadingTextTexto apresentado no centro da página enquanto a renderização assíncrona ainda está em curso
property NightDuotoneInk: TColorControla a cor de tinta usada pela opção de renderização de baixa visão reNightDuotone
property NightDuotonePaper: TColorControla a cor de papel usada pela opção de renderização de baixa visão reNightDuotone
property ObjectBitmap[Index: Integer]: TBitmapWrapper do TPdfView que reencaminha para TPdf.ObjectBitmap
property ObjectBounds[Index: Integer]: TPdfRectangleWrapper do TPdfView que reencaminha para TPdf.ObjectBounds
property ObjectCount: IntegerWrapper do TPdfView que reencaminha para TPdf.ObjectCount
property ObjectHandle[Index: Integer]: PointerWrapper do TPdfView que reencaminha para TPdf.ObjectHandle
property ObjectTransparent[Index: Integer]: BooleanWrapper do TPdfView que reencaminha para TPdf.ObjectTransparent
property ObjectType[Index: Integer]: TObjectTypeWrapper do TPdfView que reencaminha para TPdf.ObjectType
property Options: TRenderOptionsConjunto de sugestões de renderização e opções de baixa visão pós-renderização do TPdfView
property Page: FPDF_PAGEWrapper do TPdfView que reencaminha para TPdf.Page
property PageBorderColor: TColorCor do contorno de 1 píxel desenhado à volta de cada retângulo de página
property PageBounds: TPdfRectangleWrapper do TPdfView que reencaminha para TPdf.PageBounds
property PageColor: TColorCor de fundo pintada sob a página PDF renderizada, desacoplada da Color do controlo que a envolve. A predefinição é clWhite, para que as páginas PDF se mantenham brancas como papel mesmo quando a Color do controlo anfitrião usa um tema escuro
property PageCount: IntegerWrapper do TPdfView que reencaminha para TPdf.PageCount
property PageHeight: DoubleWrapper do TPdfView que reencaminha para TPdf.PageHeight
property PageHeightZoom[PageNumber: Integer]: DoubleFator de zoom apenas de leitura que ajusta a altura da página à vista
property PageLabel: WStringWrapper do TPdfView que reencaminha para TPdf.PageLabel
property PageNumber: IntegerWrapper do TPdfView que reencaminha para TPdf.PageNumber
property PageRotation: TRotationWrapper do TPdfView que reencaminha para TPdf.PageRotation
PageShadowColorCor de preenchimento da sombra projetada pintada por baixo de cada retângulo de página
property PageShadowSize: IntegerLargura (em píxeis) da sombra suave desenhada à volta de cada página nos modos contínuos
function PageToDevice(PageX, PageY: Double; out X, Y: Integer): Boolean; overloadInverso de DeviceToPage: converte um ponto do espaço de utilizador PDF num píxel do ecrã dentro da vista
property PageWidth: DoubleWrapper do TPdfView que reencaminha para TPdf.PageWidth
property PageWidthZoom[PageNumber: Integer]: DoubleFator de zoom apenas de leitura que ajusta a largura da página à vista
function PageWordBoxes: TPdfWordBoxesDevolve registos TPdfWordBox das palavras da página atual do TPdfView, com intervalos de caracteres e retângulos no espaço da página
property PageZoom[PageNumber: Integer]: DoubleZoom apenas de leitura necessário para ajustar a página atual à vista no DisplayMode atual
procedure PaintSelection(SelectionStart, SelectionEnd: Integer; Mask: TColor)Wrapper do TPdfView que reencaminha para TPdfView.PaintSelection
property ParentShowHintDocumenta o membro ParentShowHint publicado pelo TPdfView
property Pdf: TPdfReferencia o componente TPdf cujo documento é renderizado pelo visualizador
PopupMenuAssocia um TPopupMenu ao visualizador PDF para que clicar com o botão direito numa página apresente um menu de contexto
ReadableContentDevolve fragmentos de conteúdo legível semântico para fluxos de trabalho de leitor de ecrã, texto para fala e acessibilidade
property ReadingHighlightColor: TColorControla a sobreposição de destaque de leitura do TPdfView usada pela reprodução sincronizada de texto para fala
function ReadingUnits: TPdfReadingUnitsConstrói registos TPdfReadingUnit ao nível da frase a partir da página atual do TPdfView
property ReadingWordColor: TColorControla a cor da sobreposição usada para o cursor de leitura ao nível da palavra atual
property ReadingWordFollow: BooleanControla se o TPdfView desloca a palavra falada atual para a área visível durante o acompanhamento da leitura
property Rectangle[Index: Integer]: TRectWrapper do TPdfView que reencaminha para TPdf.Rectangle
function RectangleCount(StartIndex: Integer = 0; Count: Integer = MaxInt): IntegerWrapper do TPdfView que reencaminha para TPdf.RectangleCount
procedure ReloadPageWrapper do TPdfView que reencaminha para TPdf.ReloadPage
procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True)Wrapper do TPdfView que reencaminha para TPdf.RemoveObject
procedure RenderPage(DeviceContext: HDC; Left, Top, Width, Height: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = [])Renderiza o conteúdo de uma página num dispositivo (ecrã, bitmap ou impressora)
function RenderTile(Left, Top, Width, Height, PageWidth, PageHeight: Integer; Rotation: TRotation = ro0; Options: TRenderOptions = []): TBitmapRenderiza uma área retangular de uma página num novo bitmap. O bitmap devolvido tem de ser libertado manualmente
property Rotation: TRotationRotação visual aplicada à página renderizada (ro0 / ro90 / ro180 / ro270)
procedure SelectAllSeleciona todos os caracteres da(s) página(s) atualmente apresentadas pelo visualizador
function SelectAllFormText: BooleanSeleciona todos os caracteres dentro do widget AcroForm com foco na página ativa da vista (o equivalente a Ctrl+A dentro do widget)
function SelectTextRange(Page, StartIndex, Count: Integer): BooleanLê ou escreve o modelo programático de seleção de texto do TPdfView sem exigir entrada do rato do utilizador
function SelectWordBox(const Word: TPdfWordBox): BooleanSeleciona o intervalo de texto representado por um TPdfWordBox na página atual do TPdfView
function SelectWordSpan(const Words: TPdfWordBoxes; StartIndex, EndIndex: Integer): BooleanSeleciona um intervalo de registos TPdfWordBox da mesma página como uma única seleção de texto do TPdfView
function SelectedText: WStringDevolve o texto atualmente selecionado como uma wide string
function SelectionCharCount: IntegerDevolve o número total de caracteres atualmente selecionados
property SelectionColor: TColorCor de preenchimento da sobreposição de seleção de texto arrastada pelo utilizador
function SelectionRanges: TPdfUserSelectionRangesLê ou escreve o modelo programático de seleção de texto do TPdfView sem exigir entrada do rato do utilizador
function SelectionRectangles: TPdfRectanglesLê ou escreve o modelo programático de seleção de texto do TPdfView sem exigir entrada do rato do utilizador
procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags)Wrapper do TPdfView que reencaminha para TPdf.SetFormFieldFlags
procedure SetFormFieldFlagsAt(X, Y: Integer; const Flags: TPdfFormFieldFlags)Wrapper do TPdfView que reencaminha para TPdf.SetFormFieldFlagsAt
function SetFocusedFormFieldTextDirection(Direction: TPdfFormTextDirection): BooleanAltera a direção do texto em memória do widget com foco e repinta a cena da página
procedure SetReadingHighlight(const Rects: TPdfRectangles; PageNumber: Integer)Controla a sobreposição de destaque de leitura do TPdfView usada pela reprodução sincronizada de texto para fala
procedure SetReadingWord(const Word: TPdfWordBox)Destaca um TPdfWordBox como a palavra falada atual no TPdfView
function SetSelection(const Ranges: TPdfUserSelectionRanges): BooleanLê ou escreve o modelo programático de seleção de texto do TPdfView sem exigir entrada do rato do utilizador
ShowHintAtiva ou desativa o balão de sugestão apresentado quando o rato paira sobre o visualizador PDF
property SmoothScroll: BooleanAtiva animação segmentada conduzida por timer para os comandos das barras de deslocamento de linha/página. O arrasto do marcador continua imediato
property StructureElements: TPdfStructureElementsWrapper do TPdfView que reencaminha para TPdf.StructureElements
TabOrderDefine a posição do visualizador PDF no ciclo de tabulação do pai
TabStopIndica se o utilizador pode dar foco ao visualizador PDF premindo a tecla Tab
function Text(StartIndex: Integer = 0; Count: Integer = MaxInt): WStringWrapper do TPdfView que reencaminha para TPdf.Text
function TextInRectangle(Left, Top, Right, Bottom: Integer): WString; overloadWrapper do TPdfView que reencaminha para TPdf.TextInRectangle
property TextPage: FPDF_TEXTPAGEWrapper do TPdfView que reencaminha para TPdf.TextPage
property Thumbnail: TBitmapWrapper do TPdfView que reencaminha para TPdf.Thumbnail
property TouchDocumenta o membro Touch publicado pelo TPdfView
function TrackReadingWordAt(PageNumber, CharIndex: Integer): IntegerMapeia um deslocamento de carácter da página para o TPdfWordBox que o contém, destaca-o e devolve o índice da palavra
property Transparent: BooleanWrapper do TPdfView que reencaminha para TPdf.Transparent
procedure UpdatePageWrapper do TPdfView que reencaminha para TPdf.UpdatePage
VisibleMostra ou oculta o visualizador PDF
property WebLink[PageNumber, Index: Integer]: TWebLinkWrapper do TPdfView que reencaminha para TPdf.WebLink
function WebLinkAtPos(X, Y: Integer; out PageNumber: Integer): Integer; overloadDevolve o índice do web link no píxel do ecrã (X, Y)
property WebLinkCount[PageNumber: Integer]: IntegerWrapper do TPdfView que reencaminha para TPdf.WebLinkCount
property WindowHandle: HWNDHandle nativo de janela do controlo (apenas Windows)
property Zoom: DoubleFator de zoom em que 1.0 = 100% (um ponto PDF = 1 píxel do ecrã a 72 DPI)

Eventos do TPdfView

EventoTipoDescrição
OnPageChangeTNotifyEventAcionado quando a página apresentada muda durante a deslocação
OnPageNumberChangedTNotifyEventAcionado quando a propriedade PageNumber é modificada
OnAnnotationLinkClickTPdfViewAnnotationLinkClickEventAcionado antes de uma ação automática de link de anotação; defina Handled para suprimir a ação predefinida
OnWebLinkClickTPdfViewWebLinkClickEventAcionado antes de uma ação automática de web link autodetetado; defina Handled para suprimir o ShellExecute
OnPaintTNotifyEventAcionado durante operações de pintura personalizadas
property OnAnnotationLinkClick: TPdfViewAnnotationLinkClickEventAcionado quando o utilizador clica num /Annot Subtype Link que não é tratado automaticamente por LinkOptions
property OnCanResizeDocumenta o evento OnCanResize publicado pelo TPdfView
OnClickOcorre quando o utilizador clica (botão esquerdo do rato) dentro do visualizador
property OnConstrainedResizeDocumenta o evento OnConstrainedResize publicado pelo TPdfView
property OnContextPopupDocumenta o evento OnContextPopup publicado pelo TPdfView
OnDblClickOcorre quando o utilizador clica duas vezes (botão esquerdo do rato) dentro do visualizador
property OnDragDropDocumenta o evento OnDragDrop publicado pelo TPdfView
property OnDragOverDocumenta o evento OnDragOver publicado pelo TPdfView
property OnEndDockDocumenta o evento OnEndDock publicado pelo TPdfView
property OnEndDragDocumenta o evento OnEndDrag publicado pelo TPdfView
property OnEnterDocumenta o evento OnEnter publicado pelo TPdfView
property OnExitDocumenta o evento OnExit publicado pelo TPdfView
property OnFormFieldFocusChange: TPdfFormFieldFocusEventOcorre quando o TPdfView move ou limpa o cursor de foco lógico de campos AcroForm
property OnGestureDocumenta o evento OnGesture publicado pelo TPdfView
property OnKeyDown: TKeyEventAcionado quando é premida uma tecla com o controlo com foco
property OnKeyPress: TKeyPressEventAcionado para cada carácter gerado pelo teclado
property OnKeyUp: TKeyEventOcorre quando é largada uma tecla com o controlo do visualizador com foco
property OnMouseActivateDocumenta o evento OnMouseActivate publicado pelo TPdfView
property OnMouseDown: TMouseEventAcionado quando o utilizador prime um botão do rato sobre a vista
property OnMouseEnterDocumenta o evento OnMouseEnter publicado pelo TPdfView
property OnMouseLeaveDocumenta o evento OnMouseLeave publicado pelo TPdfView
property OnMouseMove: TMouseMoveEventAcionado sempre que o rato se move sobre a vista
property OnMouseUp: TMouseEventAcionado quando o utilizador larga um botão do rato
property OnMouseWheel: TMouseWheelEventAcionado quando a roda é girada sobre a vista
property OnMouseWheelDownDocumenta o evento OnMouseWheelDown publicado pelo TPdfView
property OnMouseWheelUpDocumenta o evento OnMouseWheelUp publicado pelo TPdfView
property OnPageChange: TNotifyEventAcionado quando a página atual muda por qualquer motivo
property OnPageNumberChanged: TNotifyEventAcionado quando o número de página visível muda devido à deslocação
property OnPaint: TNotifyEventAcionado depois de a vista terminar de pintar a página atual
property OnResize: TNotifyEventAcionado sempre que a área de cliente do controlo muda de tamanho
property OnSelectionChange: TNotifyEventOcorre quando os intervalos de seleção de texto materializados mudam efetivamente
property OnStartDockDocumenta o evento OnStartDock publicado pelo TPdfView
property OnStartDragDocumenta o evento OnStartDrag publicado pelo TPdfView
property OnWebLinkClick: TPdfViewWebLinkClickEventAcionado quando o utilizador clica num URL web detetado no texto que não é tratado automaticamente por LinkOptions

Classe TPdfDocumentSearch

Pesquisa de texto preguiçosa em todo o documento, para a frente ou para trás, que retém handles PDFium nativos apenas da sua página atual

Método

MétodoDescrição
NextDevolve um TPdfDocumentSearchResult com página, intervalo de caracteres, texto e retângulos no espaço da página

Propriedades

MembroTipoDescrição
CurrentPageIntegerPágina atualmente em pesquisa, baseada em um
DirectionTPdfDocumentSearchDirectionPercurso para a frente ou para trás
FinishedBooleanSe não é possível devolver mais resultados
CancelledBooleanSe um token de cancelamento terminou a pesquisa
MatchCountUInt64Número de resultados já devolvidos

Classe TPdfProgressiveDocument

O TPdfProgressiveDocument deriva de TPdf e mantém viva a sessão nativa de disponibilidade do PDFium enquanto um fluxo remoto ou em crescimento de acesso aleatório recebe os intervalos de bytes pedidos

Métodos

MétodoDescrição
BeginProgressiveLoadInicia uma sessão de acesso aleatório de tamanho lógico com um prefixo contíguo inicial opcional
CheckDocumentAvailabilityPergunta ao PDFium se os metadados do documento estão prontos e devolve dicas de descarregamento agregadas
OpenProgressiveDocumentAbre o documento nativo linearizado ou o fluxo personalizado não linearizado concluído
CheckFormAvailabilityCondiciona a inicialização do preenchimento de formulários e devolve eventuais intervalos de bytes adicionais
LoadAvailablePageCondiciona e ativa uma página (baseada em um) depois de chegarem os bytes necessários
CancelProgressiveLoadLiberta todo o estado progressivo pela ordem das dependências

Propriedades e eventos

MembroTipoDescrição
ProgressiveLoadingBooleanSe a sessão nativa de disponibilidade está ativa
LogicalFileSizeUInt64Comprimento final do conteúdo PDF
AvailableByteCountUInt64Comprimento monotónico do prefixo legível
LinearizationTPdfLinearizationVeredicto nativo de linearização
FirstAvailablePageNumberIntegerPrimeira página disponível, baseada em um
OnDataAvailableTPdfDataAvailableEventCallback de disponibilidade da cache de intervalos dispersos
RangeRequestsTPdfRangeRequestSchedulerAgendador priorizado gerido pelo objeto, preenchido a partir de dicas nativas de disponibilidade

Classe TPdfRangeRequestScheduler

Agendador thread-safe, neutro quanto ao transporte, para agregar, priorizar, dividir, repetir, cancelar e contabilizar pedidos dispersos de intervalos de bytes PDF

Fluxo de trabalho principal

MétodoDescrição
EnqueueHintsAdiciona intervalos de bytes nativos em falta e antecipa-se a transferências sobrepostas de prioridade inferior
TryDequeueMove o pedido de prioridade mais alta para o conjunto em curso
CompleteRequestConfirma uma resposta de transporte total ou parcial depois de os seus bytes serem armazenados
FailRequestRepete ou abandona uma tentativa de transporte falhada dentro de MaxRetryCount
MarkAvailableRegista bytes externos e cancela trabalho pendente ou ativo duplicado
CancelInvalida a geração e notifica o anfitrião sobre os pedidos de transporte ativos

Classe TPdfStreamInspector

Inventário delimitado, apenas de leitura, e extração de objetos físicos arbitrários de fluxos PDF a partir da unidade FPdfStreamInspect

Fluxo de trabalho principal

MembroDescrição
CreateInspeciona um array de bytes ou um fluxo com posicionamento, preservando a posição de fluxo do chamador
CopyRawDataCopia um payload codificado completo ou uma janela de bytes em bruto validada para um fluxo de destino
DecodeDataAplica os filtros gerais suportados pela ordem de declaração e reporta eventuais fronteiras restantes de codec nativo
InfosDevolve deslocamentos de objetos, comprimentos, metadados de filtros, DecodeParms e classificação de acesso nativo

Componente TPdfReadingSession

O TPdfReadingSession é uma máquina de estados de leitura em voz alta agnóstica de TTS que coordena chunks TPdfSpokenText, callbacks do motor de fala do anfitrião e o destaque do cursor de palavras do TPdfView

Métodos

MétodoDescrição
Create(AOwner: TComponent)Inicializa uma sessão inativa com o ritmo de fala estimado predefinido
LoadSpoken(const Chunks: TPdfSpokenTexts)Para a reprodução atual e copia os chunks a falar pela ordem indicada
PlayInicia a reprodução a partir do primeiro chunk carregado
PlayFrom(ChunkIndex: Integer)Inicia a reprodução a partir de um índice de chunk baseado em zero
PausePassa de pssSpeaking para pssPaused e dispara OnPauseRequest
ResumeRetoma a reprodução em pausa ou volta a falar o chunk atual quando ResumeRestartsChunk está ativo
StopCancela a reprodução, repõe os cursores de chunk e de palavra e limpa o destaque de palavras associado ao TPdfView
FeedSpokenPosition(SpokenOffset: Integer)Mapeia um deslocamento do motor de fala de volta para um carácter da página PDF e move o cursor de palavras do TPdfView
Tick(SpeechStillBusy: Boolean; ElapsedMs: Cardinal = 0)Avança para o chunk seguinte, conclui a reprodução ou estima a palavra atual enquanto a fala ainda está ocupada

Propriedades

PropriedadeTipoDescrição
StateTPdfReadingSessionStateEstado atual: pssIdle, pssSpeaking ou pssPaused
ChunkCountIntegerNúmero de chunks de fala carregados
CurrentChunkIntegerÍndice do chunk ativo, baseado em zero, ou -1 quando nenhum chunk está ativo
CurrentWordIntegerÍndice da palavra ativa, baseado em zero, dentro do chunk atual, ou -1 quando desconhecido
ViewTPdfViewVisualizador que recebe as atualizações do cursor de palavras
EstimatePacingBooleanUsa o tempo decorrido para estimar a posição da palavra em motores de fala sem sinal de posição de palavra
EstimatedWordsPerMinuteIntegerVelocidade de fala usada pelo ritmo estimado, predefinição 175
ResumeRestartsChunkBooleanFaz com que Resume volte a falar o chunk atual, para motores em que a pausa cancela a fala em fila

Eventos

EventoTipoDescrição
OnSpeakTPdfReadingSpeakEventDisparado quando o anfitrião deve falar um chunk
OnCancelRequestTNotifyEventDisparado quando o anfitrião deve cancelar a fala
OnPauseRequestTNotifyEventDisparado quando o anfitrião deve colocar a fala em pausa
OnResumeRequestTNotifyEventDisparado quando o anfitrião deve retomar a fala sem reiniciar o chunk
OnChunkChangeTPdfReadingChunkEventDisparado quando o chunk ativo muda
OnWordChangeTPdfReadingWordEventDisparado quando a palavra ativa muda
OnFinishedTNotifyEventDisparado depois de o último chunk terminar

Componente TPdfThumbnailView

O TPdfThumbnailView é um controlo de painel lateral com deslocamento, da unidade FPdfThumbnail. Liga-se a um componente TPdf e renderiza uma miniatura de página por linha para navegação entre páginas

Propriedades publicadas

PropriedadeTipoPredefiniçãoDescrição
PdfTPdfnilComponente de documento usado para renderizar as miniaturas
CurrentPageIndexInteger0Índice da página selecionada, baseado em um; 0 significa nenhuma página selecionada
ThumbnailWidthInteger120Largura alvo da miniatura, limitada a 48..800
ThumbnailHeightInteger160Altura alvo da miniatura, limitada a 48..800
TextColorTColorclBlackCor da legenda do número de página
HoverColorTColorclMoneyGreenCor de destaque da linha sob a miniatura sob o cursor
SelectionColorTColorclHighlightCor de destaque da linha para CurrentPageIndex
BorderColorTColorclGrayCor do contorno da miniatura

Eventos

EventoTipoDescrição
OnPageClickTPdfThumbnailClickEventAcionado quando o utilizador clica com o botão esquerdo numa linha de miniatura; APageIndex é baseado em um

Tipos de Dados e Enumerações

Tipos principais

TipoDefinição
WStringTipo wide string para texto Unicode
TPdfIntegerArrayArray dinâmico de valores Integer
TPdfSingleArrayArray dinâmico de valores Single usado para posições de caracteres de objetos de texto
TPdfPrintPageRangeRegisto: StartPage, EndPage: Integer
TPdfPrintPageRangesArray dinâmico de intervalos de páginas de impressão baseados em um
TPdfPointRegisto: X, Y: Double
TPdfRectangleRegisto: Left, Top, Right, Bottom: Double
TPdfDocumentSearchDirectiondsdForward, dsdBackward
TPdfDocumentSearchResultGuarda uma página baseada em um, um intervalo de caracteres nativo, o texto correspondente e retângulos no espaço da página
TPdfReadingUnitGuarda uma unidade de leitura falada com texto, tipo semântico, página, retângulos de destaque, índices de origem, estado de texto alternativo e idioma
TPdfReadingUnitsArray dinâmico de registos TPdfReadingUnit
TPdfWordBoxGuarda uma palavra, o seu intervalo de caracteres FTextPage, o seu retângulo no espaço da página e o seu número de página baseado em um
TPdfWordBoxesArray dinâmico de registos TPdfWordBox
TPdfSpokenSpanMapeia um trecho de texto do motor de fala de volta para um intervalo de caracteres da página de origem
TPdfSpokenSpansArray dinâmico de registos TPdfSpokenSpan
TPdfSpokenTextTexto de fala mais mapeamentos de trechos de volta para o texto da página PDF
TPdfSpokenTextsArray dinâmico de chunks TPdfSpokenText
TPdfReadingSessionStatepssIdle, pssSpeaking, pssPaused
TPdfReadingSpeakEventAssinatura de callback para TPdfReadingSession.OnSpeak
TPdfReadingChunkEventAssinatura de callback para TPdfReadingSession.OnChunkChange
TPdfReadingWordEventAssinatura de callback para TPdfReadingSession.OnWordChange
TPdfStreamAdapterClasse que expõe um TStream com posicionamento como callbacks PDFium FPDF_FILEACCESS
TPdfRandomAccessStoreFluxo com posicionamento e thread-safe, com memória delimitada, descarregamento seguro para ficheiro temporário, E/S posicionada, transferência, flush e diagnósticos de armazenamento
TPdfStorageBackendpsbMemory, psbTemporaryFile
TPdfXObjectWrapper de ciclo de vida para handles reutilizáveis de Form XObject criados por CreateXObjectFromPage
TPdfFileIdentifierTypefidPermanent, fidChanging
TPdfPageBoxpbMedia, pbCrop, pbBleed, pbTrim, pbArt
TPdfJavaScriptActionRegisto: Name, Script: WString
TPdfJavaScriptActionsArray dinâmico de registos TPdfJavaScriptAction
TPdfVersionpvUnknown, pv10, pv11, pv12, pv13, pv14, pv15, pv16, pv17; os alvos SaveAs explícitos de pv13 a pv17 são normalizados e validados contra a versão PDF selecionada
TPdfVersionInfoRegisto com factos de versão separados de cabeçalho, catálogo, núcleo efetivo e extensão para programadores Adobe, da unidade FPdfCompress
TRotationro0, ro90, ro180, ro270
TSaveOptionsaNone, saIncremental, saNoIncremental, saRemoveSecurity
TObjectTypeotUnknown, otText, otPath, otImage, otShading, otForm
TPageModepmNone, pmOutline, pmThumbs, pmFullScreen, pmOptionalContentGroup, pmAttachments, pmUnknown
TPdfActionacUnsupported, acGoto, acGotoRemote, acUri, acLaunch
TPdfPrintModeprEmf, prTextOnly, prPostScript2, prPostScript3, prPostScript2PassThrough, prPostScript3PassThrough, prEmfImageMasks, prPostScript3Type42, prPostScript3Type42PassThrough
TPdfDisplayModedmSingleContinuous, dmTwoPageContinuous, dmTwoPageContinuousWithCover
TPdfViewLinkOptionloAutoGoto, loAutoOpenURI, loAutoLaunch, loAutoEmbeddedGoto
TPdfViewLinkOptionsConjunto de valores TPdfViewLinkOption

Opções de pesquisa e renderização

TipoValores
TSearchOptionseCaseSensitive, seWholeWord, seConsecutive
TSearchOptionsConjunto de TSearchOption
TRenderOptionreAnnotations, reLcd, reNoNativeText, reGrayscale, reDebugInfo, reNoCatchException, reLimitCache, reHalftone, rePrinting, reReverseByteOrder, reNoSmoothText, reNoSmoothImage, reNoSmoothPath, reInvert, reNightDuotone
TRenderOptionsConjunto de TRenderOption

Tipos de desenho

TipoValores
TPdfFillModefmNone, fmAlternate, fmWinding
TPdfLineCaplcDefault, lcButt, lcRound, lcProjectingSquare
TPdfLineJoinljDefault, ljMiter, ljRound, ljBevel
TPdfPathSegmentTypepstUnknown, pstLineTo, pstBezierTo, pstMoveTo
TPdfOverlayPlacementopTopLeft, opTopCenter, opTopRight, opMiddleLeft, opCenter, opMiddleRight, opBottomLeft, opBottomCenter, opBottomRight, opStretch, opCustom
TPdfBlendModebmDefault, bmMultiply, bmScreen, bmOverlay, bmDarken, bmLighten, bmColorDodge, bmColorBurn, bmHardLight, bmSoftLight, bmDifference, bmExclusion, bmHue, bmSaturation, bmColor, bmLuminosity

Tipos de anotações

TipoDescrição
TPdfAnnotationSubtypeSubtipos de anotação: Text, Link, FreeText, Line, Square, Circle, Polygon, PolyLine, Highlight, Underline, Squiggly, StrikeOut, Stamp, Caret, Ink, Popup, FileAttachment, Sound, Movie, Widget, Screen, PrinterMark, TrapNet, Watermark, 3D, RichMedia, XFAWidget, Redact
TPdfAnnotationFlagFlags: afInvisible, afHidden, afPrint, afNoZoom, afNoRotate, afNoView, afReadOnly, afLocked, afToggleNoView
TPdfAnnotationRegisto com subtipo, flags, cores, texto, retângulo e todos os conjuntos de quadriláteros de marcação até AttachmentPointSets

Tipos de formulário

TipoDescrição
TPdfFormTypeftUnknown, ftNone, ftAcroForm, ftXfaFull, ftXfaForeground
TPdfFormFieldTypefiUnknown, fiPushButton, fiCheckBox, fiRadioButton, fiComboBox, fiListBox, fiTextField, fiSignature
TPdfFormFieldFlagffReadOnly, ffRequired, ffNoExport, ffMultiline, ffChoiceCombo, ffChoiceEdit, ffPassword, ffChoiceMultiSelect
TPdfFormFieldInfoRegisto com FieldType, Flags, Name, Value, AlternateName e outras propriedades

Tipos de carimbo temporal de arquivo PAdES

TipoDescrição
TPadesArchiveTimestampOptionsURL da TSA, nonce, capacidade de tokens, flag opcional de atualização do DSS, material DSS de substituição completo e Default
TPadesArchiveTimestampReportNíveis PAdES de origem e resultado, contagens de Document Time-stamp anteriores e resultantes, comprimentos em bytes de origem e resultado, estado de atualização do DSS, hora de geração, OID de política e nonce devolvido

Tipos de algoritmos de assinatura PAdES

TipoDescrição
TPadesSignatureAlgorithmFamilypsafUnknown, psafRsa, psafEcdsa, psafEd25519 ou psafEd448
TPadesSignatureAlgorithmInfoOIDs de digest e assinatura CMS, OIDs de chave pública e curva nomeada X.509, presença de parâmetros e comprimento de saída SHAKE, família e estado de política independente

Tipos de análise de revisões PAdES

TipoDescrição
TPadesRevisionAnalysisStatusprasNotChecked, prasNoLaterChanges, prasAllowed, prasDisallowed, prasSuspicious ou prasIndeterminate
TPadesRevisionChangeKindClassifica alterações de xref, assinatura, material de validação, campo de formulário, anotação, conteúdo de página, estrutura do documento, metadados, conteúdo ativo, eliminado, comprimido ou desconhecido
TPadesRevisionObjectChangeReporta a revisão, os números de objeto e de geração, o deslocamento de origem ou o número e índice de object-stream, a classificação, a decisão, a autoridade e o estado de redefinição
TPadesSignatureRevisionAnalysisReporta a revisão coberta por uma assinatura, a política DocMDP e FieldMDP, revisões posteriores, riscos, estado e alterações de objetos
TPadesRevisionAnalysisReportAgrega o estado de origem, contagens de revisões e assinaturas, riscos, estado, análises por assinatura e erros do parser

Tipos de relatórios de evidência PAdES

TipoDescrição
TPadesEvidenceReportOptionsConfigurações de confiança mais orçamentos de bytes de origem, de assinaturas, de alterações de revisão, de material de validação, de bytes armazenados e de VRI
TPadesValidationMaterialEvidenceIdentifica um certificado DSS, uma resposta OCSP ou uma CRL armazenados pelo número de objeto, comprimento armazenado, tipo e SHA-256
TPadesVriEvidenceMapeia uma chave VRI e o objeto de dicionário para as suas referências de objetos de certificado, OCSP e CRL
TPadesSignatureEvidenceCorrelaciona factos do PDFium, ByteRange, hashes de conteúdo e VRI, política CMS, estado de validação, hashes do caminho de confiança, cobertura DSS/VRI e decisões de revisão para uma assinatura
TPadesEvidenceReportAgrega evidência de validação, revisão, DSS, PDFium, truncamento e por assinatura, com exportações ToJson e ToCsv

Tipos de codec de imagem, diferenças de documentos e imposição

Tipo ou funçãoDescrição
TPdfImageCodecpicKeepOriginal, picJpeg, picJpx, picCcittGroup4 ou picFlate
TPdfImageCodecsConjunto de valores TPdfImageCodec permitidos
TPdfImageCodecCandidateFactos da imagem e comprimentos codificados medidos em bytes usados para selecionar o codec
TPdfImageCodecDecisionCodec selecionado, contagens de bytes original e selecionado, poupança e decisão de substituição
SelectPdfImageCodecSeleciona a codificação medida elegível mais pequena, sem substituir o original abaixo da poupança pedida
TPdfDocumentDiffOptionsDimensões renderizadas, tolerância de cor, limiares de texto e geometria, orçamento de páginas e Default
TPdfPageDifferenceEvidência de texto, geometria, rotação, contagem de píxeis e limites alterados de uma página
TPdfPageDifferencesArray dinâmico de registos TPdfPageDifference
TPdfDocumentDiffReportResultado agregado de equivalência, contagens de páginas, páginas alteradas, píxeis, truncamento e diferenças detalhadas
TPdfImpositionModepimNUp ou pimBooklet
TPdfImpositionOptionsTamanho de saída, grelha, encadernação, medianiz, bleed, creep, opção de folhas invertidas e Default
TPdfImpositionSlotFolha, face, posição, página de origem, creep e limites utilizáveis de uma colocação imposta
TPdfImpositionSlotsArray dinâmico de registos TPdfImpositionSlot
TPdfImpositionPlanContagens de origem e com preenchimento, contagens de folhas e faces, grelha e geometria de saída e posições ordenadas
TPdfImpositionExecutionReportFactos de importação nativa, página importada, origem única, posição em branco, modelo XObject, objeto de formulário, geração de conteúdo, página de saída e execução nativa N-up
TPdfContentMarkSnapshotsArray dinâmico de snapshots imutáveis de content-mark pertencentes ao chamador
TPdfPageObjectSnapshotsArray dinâmico de snapshots imutáveis de objetos de página pertencentes ao chamador
BuildPdfImpositionPlanConstrói e valida um plano de posições N-up ou booklet sem abrir ou alterar um documento

Tipos de registo

TipoCampos
TBookmarkHandle, Title, PageNumber, Destination, DescendantCount, IsOpen, Action, ActionPageNumber, ActionDestination, ActionPath, HasColor, Color, Style
TDestinationHandle, Name, PageNumber, ViewMode, ViewParameterCount, ViewParameters, HasX, X, HasY, Y, HasZoom, Zoom
TPdfDocumentMetadataTitle, Author, Subject, Keywords, Creator, Producer, CreationDate, ModifiedDate
TPdfBatchMergeSourceFileName, PageRange, Password e o construtor FromFile
TPdfBatchMergeOptionsErrorPolicy, FormPolicy, OutlinePolicy, ResourcePolicy, PageChunkSize, InsertAt, CreateDestination, CopyViewerPreferences, RollbackOnCancelOrFailure, CancellationToken, OnProgress e Default
TPdfBatchMergeReportEstado terminal, contadores de origens e páginas, métricas de importação nativa, pico de origens abertas, deteções de políticas, estado de destino e preferências de visualizador, texto de erro e problemas
TLinkAnnotationHandle, Rectangle, PageNumber, Action, ActionPageNumber, ActionPath, Points
TWebLinkUrl: WString, Rectangles: TPdfRectangles
TPdfImageWidth: Integer, Height: Integer, Data: TBytes
TPdfSignatureContent: TBytes, Encoding: WString, Reason: WString, Time: WString, Permission: Integer
TPdfFormSelectionRectPageNumber: Integer, Bounds: TPdfRectangle
TPdfStructureElementHierarquia, alternativas de texto, MCIDs, atributos de tabela/lista, mapeamento de namespace e de papéis de namespace, referências, ficheiros associados, descrições de anotações, propriedade de widgets, etiquetas e factos de aparência
TPdfStructureReadOptionsControlos de profundidade máxima, elementos, valores de atributos, prazo e inclusão de atributos para travessia iterativa de estruturas
TPdfStructureReadStatusContadores visitados mais resultados de conclusão, profundidade, elemento, atributo, prazo e paragem do visitante
TPdfUaNamespaceKindpunkMissing, punkPdf17, punkPdf20, punkMathMl, punkAria, punkDpub, punkCustom

Tipos de navegação e permissões

TipoValores
TPdfDestinationViewModedvmUnknown, dvmXYZ, dvmFit, dvmFitHorizontal, dvmFitVertical, dvmFitRectangle, dvmFitBoundingBox, dvmFitBoundingBoxHorizontal, dvmFitBoundingBoxVertical
TPdfPermissionpermPrint, permModify, permCopy, permAnnotate, permFillForms, permAccessibility, permAssemble, permPrintHighQuality
TPdfPermissionsConjunto de valores TPdfPermission

Tipos de carregamento, gravação e fluxos de documentos

TipoValores
TPdfLoadModeplmCompatible, plmStrict, plmRecovery — seleciona quanta reparação um carregamento pode efetuar
TPdfLoadStatusplsNotAttempted, plsLoaded, plsLoadedWithRecovery, plsRejected, plsFailed
TPdfLoadRecoveryRouteplrrNone, plrrNativeCrossReference, plrrNativeCrossReferenceRebuild
TPdfContentNormalizeStatuspcnsNotStarted, pcnsCompleted e os motivos de falha delimitada pcnsInputLimitExceeded, pcnsOutputLimitExceeded, pcnsTokenLimitExceeded, pcnsMalformedToken, pcnsUnresolvedInlineImage, pcnsUnbalancedState, pcnsUnsupportedFilter, pcnsEncryptedDocument, pcnsSignedDocument, pcnsDocumentRewriteFailed
TPdfObjectPatchOperationKindpopSet, popRemove — tipo de operação usado por SaveAsObjectGraphPatched
TPdfObjectPatchValueRegisto: Kind, BooleanValue, IntegerValue, RealValue, TextValue, ReferenceObjectNumber, ReferenceGeneration
TPdfOptionalContentStateocsUnspecified, ocsOn, ocsOff
TPdfStreamDecodeLevelpsdlRaw, psdlGeneral, psdlFull
TPdfStreamNativeAccesspsnaNone, psnaImageObject, psnaEmbeddedFile
TPdfStreamReadStatuspsrsCompleted, psrsPartiallyDecoded, mais recusas de leitura delimitada como psrsInvalidIndex, psrsSourceLimitExceeded, psrsExpansionRatioExceeded, psrsUnsupportedFilter, psrsEncrypted, psrsMalformed
TPdfAFRelationshipafSource, afData, afAlternative, afSupplement, afUnspecified, afEncryptedPayload, afFormData, afTemplate — relacionamento de ficheiro associado do ISO 32000-2 7.11.4
TDpmTargetdptRoot, dptLeaf — onde os metadados de partes de documento PDF/VT são anexados
TPdfXmpNamespaceRegisto: Prefix, Uri — um namespace de um TPdfXmpPacket
TPdfAMetadataValuesRegisto com valores Info mapeados descodificados pelo PDFium e um conjunto explícito de presença de chaves
TPdfAMetadataComparisonRegisto com um campo mapeado, o seu estado de equivalência e ambos os valores comparados
TPdfAMetadataReportRegisto com disponibilidade XMP, estado de análise, comparações por campo, campos divergentes e IsEquivalent
TPdfLoadIssueRegisto: Code, Severity, Offset, ObjectNumber, RevisionIndex, MessageText — uma constatação da auditoria delimitada de referências cruzadas
TPdfLoadIssueCodeCódigos de constatações da auditoria, de plicHeaderMissing e plicStartXrefInvalid até plicXrefEntryConflict, plicNativeCrossReferenceRebuild, plicStrictModeRejected e plicRepairVerificationFailure
TPdfLoadIssueSeverityplisInformation, plisWarning, plisError
TPdfObjectPatchValueKindpovNull, povBoolean, povInteger, povReal, povName, povTextString, povReference
TPdfStreamFilterInfoRegisto: Name e Kind do filtro, mais os parâmetros de descodificação Predictor, Colors, BitsPerComponent, Columns, EarlyChange
TPdfOptionalContentGroupRegisto que descreve um OCG: número e geração do objeto, Name, Intents, estados de visualização / impressão / exportação, subtipo de elemento de página, idioma, tipo e nomes de utilizador, intervalo de zoom opcional, EffectiveVisible, Locked e índice do grupo de rádio
TPdfOptionalContentConfigurationRegisto que descreve uma configuração OCG: nome, criador, BaseState, intents, listas de grupos on / off / locked / order, grupos de rádio e presença de estado automático
TPdfOptionalContentMembershipRegisto que descreve um OCMD: grupos referenciados, Policy, expressão de visibilidade e EffectiveVisible
TPdfOptionalContentMembershipPolicyocmpAnyOn, ocmpAllOn, ocmpAnyOff, ocmpAllOff, ocmpUnknown
TPdfOptionalContentBaseStateocbsOn, ocbsOff, ocbsUnchanged
TPdfOptionalContentRadioGroupRegisto: os números de objeto de grupo que se comportam como um conjunto de botões de rádio
TPdfOptionalContentStateChangeRegisto: GroupObjectNumber e o estado Visible a escrever
TPdfXmpValueRegisto: Kind (pxvkText, pxvkUri, pxvkResource), Text, Language, Qualifiers, RawXml
EPdfXmpErrorExceção gerada para entrada XMP malformada
TXfdfNameValuePairRegisto: Name, Value — uma entrada genérica de um documento XFDF
TPdfDpmEntryRegisto: Name, Value, IsNestedDict — uma entrada de metadados de partes de documento PDF/VT
TPdfVT2sValidationIssueConstatações da validação do fluxo MIME PDF/VT-2s, como vtmviNotMultipart, vtmviMissingStreamVersion, vtmviMissingBoundary, vtmviNoInlinePdf e vtmviInlinePdfNotPdfVT

Tipos de texto, tipos de letra e OCR

TipoValores
TPdfCidFontEmbeddingModepcfemFull, pcfemSubsetPreferred, pcfemSubsetRequired
TPdfSystemFontRequestRegisto: FaceName, Weight, Italic, Charset, PitchFamily — pedido de tipo de letra entregue a um fornecedor de tipos de letra do sistema
TPdfSystemFontDataRegisto: FaceName, FontData, Charset, TTCIndex — bytes do tipo de letra devolvidos por um fornecedor de tipos de letra do sistema
TPdfShapedGlyphRegisto: GlyphID, Advance, OffsetX, OffsetY, ClusterStart, ClusterLength
TPdfTextShaperClasse abstrata com um único método Shape; implemente-a para ligar um motor de shaping externo a AddShapedText
TPdfTableDetectionModeptdmRuled, ptdmWhitespace
TPdfTableContinuationptcNone, ptcStart, ptcMiddle, ptcEnd — posição de uma grelha de página dentro de uma cadeia de continuação de tabela
TPdfOcrImageRegisto: PageNumber, Width, Height, Stride, Dpi, PixelFormat, Pixels — raster da página entregue a um fornecedor de OCR
TPdfOcrQuadRegisto: TopLeft, TopRight, BottomRight, BottomLeft, com FromRectangle
TPdfOcrPointRegisto: X, Y em unidades de página
TPdfOcrPixelFormatpopfBgra32 — disposição de píxeis entregue a um fornecedor de OCR
TPdfOcrPageStatuspopsPending, popsCompleted, popsSkippedExistingText, popsCancelled, popsFailed
TPdfOcrPageReportRegisto: número de página, Status, tamanho da imagem e contagens de palavras detetadas / inseridas / rejeitadas, com uma mensagem de erro
TPdfShapedRunRegisto: intervalo do texto de origem, posição e largura visuais, BidiLevel, IsRightToLeft e os Glyphs moldados
TPdfReflowNodeRegisto: Kind do nó, índice do pai, profundidade, página, texto, limites, idioma, origem da ordem de leitura, nível de título, geometria de linha / coluna da tabela, flag de cabeçalho e confiança
TPdfReflowNodeKindprnkPage, prnkParagraph, prnkHeading, prnkList, prnkListItem, prnkFigure, prnkCaption, prnkTable, prnkTableRow, prnkTableCell, prnkOther
TPdfSearchHighlightRangeRegisto: StartIndex, Count — um intervalo de caracteres destacado
TPdfUserSelectionRangeRegisto: Page baseada em um, StartIndex no texto dessa página e Count
TPdfSelectionPointRegisto: Page baseada em um e CharIndex; página não positiva ou índice -1 significa nenhuma seleção
EPdfTextShapingErrorExceção gerada quando o shaping de texto falha

Tipos do construtor de layout

TipoValores
TPdfLayoutItemUm item de um fluxo de layout; Kind seleciona texto, espaçador, régua, imagem, XObject de página, quebra de página, nó em cache, link ou nó semântico
TPdfLayoutItemKindpliText, pliSpacer, pliRule, pliImage, pliPageXObject, pliPageBreak, pliCachedNode, pliLink, pliSemanticNode
TPdfLayoutTextStyleRegisto: nome e tamanho do tipo de letra, cor e alfa, altura de linha, alinhamento, keep-together legado, quebra de palavras longas e espaço antes / depois, com um construtor Default
TPdfLayoutConstraintsRegisto: keep-together, keep-with-next, page-break-before / after, limites de linhas viúva e órfã, com um construtor Default que preserva valores
TPdfLayoutPageSettingsRegisto: tamanho da página e quatro margens, mais alturas de cabeçalho e rodapé, com construtores A4 e Letter
TPdfLayoutSemanticRoleplsrArtifact, plsrParagraph, plsrHeading1 a plsrHeading6, plsrList, plsrListItem, plsrListLabel, plsrListBody, plsrTable, plsrTableRow, plsrTableHeader, plsrTableData, plsrFigure, plsrCaption, plsrLink, plsrSection, plsrDivision
TPdfLayoutTableScopepltsNone, pltsRow, pltsColumn, pltsBoth
TPdfLayoutListNumberingplnNone, plnDisc, plnCircle, plnSquare, plnDecimal, plnUpperRoman, plnLowerRoman, plnUpperAlpha, plnLowerAlpha
TPdfLayoutAlignmentplaLeft, plaCenter, plaRight
TPdfLayoutCommandKindplcText, plcRule, plcImage, plcPageXObject, plcCachedNode, plcLink
TPdfLayoutCommandRegisto: um comando de desenho resolvido com tipo, número de página, limites, texto e tipo de letra, cor e alfa, alinhamento, espessura, nome de ficheiro ou URI, origem, índice do elemento semântico, id de marked-content e índice de anotação
TPdfLayoutRectRegisto: Left, Top, Width, Height em unidades de layout
TPdfLayoutSemanticElementRegisto: a Semantics de um elemento de estrutura e o seu ParentElementIndex
EPdfLayoutErrorExceção gerada para entrada de layout inválida

Tipos PAdES

TipoValores
TPadesSeedValueConstraintpsvcFilter, psvcSubFilter, psvcVersion, psvcReasons, psvcLegalAttestation, psvcAddRevocationInfo, psvcDigestMethod
TPadesSeedValueConstraintsConjunto de entradas obrigatórias de seed values de assinatura representadas por TPadesSeedValueConstraint
TPadesSignatureFieldOptionsRegisto: nome do campo, seed values obrigatórias, motivos e atestados legais permitidos, certificados aceitáveis, requisito de certificado, ação de bloqueio FieldMDP e nomes de campos, e permissão de certificação DocMDP
TPadesLevelplUnknown, plNone, plB_B, plB_T, plB_LT, plB_LTA — níveis de conformidade EN 319 142-1
TPadesCryptoStatuspcsNotChecked, pcsValid, pcsInvalid, pcsUnsupported, pcsIndeterminate
TPadesValidationSourceStatuspvssUnavailable, pvssOriginalBytes, pvssIncomplete
TPadesTrustNetworkPolicyptnpOffline, ptnpOnline
TPadesTrustValidationAsyncStatusptvasSuccess, ptvasCancelled, ptvasFailure — resultado reportado por ValidatePadesTrustAsync
TPadesRevisionDecisionprdAllowed, prdDisallowed, prdSuspicious, prdIndeterminate
TPadesFieldMdpActionpfmaNone, pfmaAll, pfmaInclude, pfmaExclude, pfmaUnknown
TWinCmsVerifyStatuswcvsUnavailable, wcvsValid, wcvsInvalid, wcvsUnsupported, wcvsIndeterminate — resultado da verificação CMS do Windows
TPdfMacValidationStatuspmvsValid, pmvsNotPresent, pmvsInvalid, pmvsUnsupported
TPadesSignatureValidationRegisto: estado por assinatura para intervalo de bytes, assinatura CMS, política de algoritmos, certificado de assinatura, confiança da cadeia, revogação e os equivalentes de carimbo temporal, mais códigos de erro nativos e informação de algoritmos
TPadesValidationIssueConstatações levantadas contra o EN 319 142-1 e o ISO 32000-1 12.8, incluindo chaves obrigatórias duplicadas, valores Filter ou Type inválidos, exclusão exata do Contents e requisitos de certificado, revogação e carimbo temporal
TPadesTrustValidationStageptvsStarting, ptvsReadingSource, ptvsParsingSignatures, ptvsCryptographicIntegrity, ptvsCertificateChain, ptvsAiaRetrieval, ptvsOcspRetrieval, ptvsCrlRetrieval, ptvsTimestampToken, ptvsCompleted
TPadesTrustValidationProgressRegisto: Stage atual, índice e contagem de assinaturas e percentagem de conclusão
TPadesRevisionRiskRiscos reportados por revisão, como prrMalformedRevisionChain, prrSignatureObjectRedefined, prrPageContentChanged, prrActiveContentAdded e prrResourceLimitExceeded
TPadesDssMaterialRegisto: DerBytes de um certificado, CRL ou resposta OCSP adicionado ao arquivo de segurança do documento
TWinCmsVerifyOptionsRegisto: OnlineRetrieval, CheckRevocation, UrlRetrievalTimeoutMs e um callback OnCheckpoint, com um construtor Default
TWinCmsVerifyStagewcvstCryptographicSignature, wcvstChainBuild, wcvstOnlineRetrieval, wcvstRevocationCheck

Tipos de lote, validação e formulários

TipoValores
TPdfBatchMergeErrorPolicybmepStop, bmepSkip
TPdfBatchMergeFormPolicybmfpPreserveNative, bmfpFlatten, bmfpReject
TPdfBatchMergeOutlinePolicybmopDiscard, bmopReject
TPdfBatchMergeResourcePolicybmrpSourceScoped, bmrpChunked
TPdfBatchMergeStatusbmrsCompleted, bmrsCompletedWithErrors, bmrsCancelled, bmrsFailed
TPdfPagePlanOperationppoDelete, ppoMove, ppoInsert
TPdfPagePlanDecisionppdAllow, ppdReview, ppdReject
TPdfValidationPredicateKindpvpkIssueAbsent, pvpkStandardPass, pvpkCustom
TPdfValidationRunRegisto: resultados de regras com contagens de aprovações / falhas / omissões / erros, objetos visitados, bytes de evidência, pico de memória reservada, milissegundos decorridos e IsComplete / IsCompliant
TPdfBatchValidationStatuspbvsComplete, pbvsPartial, pbvsCancelled, pbvsFailed
TPdfInkGestureRegisto: array Points que descreve um traço de tinta
TPdfFormFillInfoRegisto packed que emparelha o bloco de callbacks FPDF_FORMFILLINFO do PDFium com o seu TPdf proprietário; usado internamente pela ponte de preenchimento de formulários
TPdfBatchMergeIssueRegisto: SourceIndex, FileName, MessageText para uma origem que falhou ou foi omitida
TPdfBatchMergeProgressRegisto: Stage, índice e contagem de origens, nome de ficheiro e contagens de origens / páginas / chamadas nativas importadas
TPdfBatchMergeProgressStagebmpsStarted, bmpsOpeningSource, bmpsImportingPages, bmpsSourceCompleted, bmpsSourceFailed, bmpsRollingBack, bmpsCompleted, bmpsCancelled, bmpsFailed
TPdfBatchValidationItemRegisto: nome de ficheiro, Status, relatório de preflight, execução de validação, mensagem de erro e milissegundos decorridos
TPdfBatchValidationItemStatuspbvisPending, pbvisPass, pbvisFail, pbvisCancelled, pbvisError
TPdfValidationRuleResultRegisto: id da regra, perfil, cláusula, categoria, severidade, Status, evidência, dica de correção e milissegundos decorridos
TPdfValidationRuleStatuspvrrsPass, pvrrsFail, pvrrsSkipped, pvrrsError
TPdfValidationRunStatuspvrsComplete, pvrsFastFailed, pvrsBudgetExceeded, pvrsCancelled, pvrsError
TPdfARepairStepRegisto: ação de reparação ordenada com categoria, código de problema, evidência, dependência, Safety e flags para reescrita completa, invalidação de assinatura e estado bloqueado
TPdfARepairCategoryparcSecurity, parcFonts, parcColour, parcAttachments, parcStructure, parcMetadata, parcOther
TPdfARepairSafetyparsAutomatic, parsReviewRequired, parsManual
TPdfXProductionIssueRegisto: Kind do problema, severidade, número de página, índice de objeto e evidência das verificações de produção PDF/X
TPdfXProductionIssueKindpxpikOutputIntent, pxpikPageBox, pxpikFont, pxpikColourant, pxpikTransparency, pxpikOverprint, pxpikSeparation, pxpikImageResolution
TPdfXProductionPageRegisto: presença de caixas por página, contagens de objetos, flag de transparência e DPI efetivo mínimo
TPdfRPageFactsRegisto: factos de página PDF/R — geometria de media e imagem, contagens de objetos, tamanho em píxeis, resolução, profundidade de bits, espaço de cor e filtros
TPdfPagePlanImpactppiBookmarks, ppiNamedDestinations, ppiPageLabels, ppiFormFields, ppiStructureTree, ppiSignatures, ppiImportedFeaturesUnknown

Tipos de renderização paralela e saída de impressão

TipoValores
TPdfParallelRenderOptionsRegisto: DPI, worker, orçamentos de píxeis por página e de saída total, rotação, opções nativas de renderização e cor de fundo
TPdfBandedImageFormatpbifCustom, pbifPng, pbifTiff
TPdfBandedImageStreamOptionsRegisto: formato, altura de banda, nível de compressão PNG e máximo de bytes codificados de saída; inicialize com Default
TPdfBandedImageReportRegisto: formato, dimensões, contagens de bandas renderizadas e codificadas, linhas codificadas, pico de bytes de banda, bytes de saída e estado de conclusão
TPdfBandedImageEncoderContrato de codec abstrato do chamador com BeginImage, WriteBand sequencial, EndImage e telemetria de bytes opcional
TPdfParallelModuleIdentityRecord com o FileName privado do módulo, o InitializationAddress nativo e o resultado Unloaded de libertação de handle; a plataforma pode reter o seu mapeamento
TPdfParallelModuleIdentitiesArray de records TPdfParallelModuleIdentity retido para os workers isolados da operação de renderização
TPdfParallelRenderReportRegisto: resultados ordenados, contagens de workers e de estados, bytes de saída retidos, tempo decorrido, tamanho da origem, pico de memória da origem, backend de armazenamento, tipo de suporte partilhado e diagnóstico de identidade Modules
TPdfParallelPageResultRegisto: número de página, tamanho em píxeis e Stride, PixelFormat, Pixels de cima para baixo, Status, mensagem de erro e milissegundos decorridos
TPdfParallelPixelFormatpppfBgra, pppfRgba
TPdfParallelRenderStatuspprsPending, pprsSucceeded, pprsCancelled, pprsFailed
TPdfParallelSourceBackingKindppsbNone, ppsbSharedMemory, ppsbMemoryMappedFile, ppsbRandomAccessStore
TPdfSpotPlateInfoRegisto: Index baseado em zero e Name da separação reportados por SpotPlates

Unidade auxiliar FPdfAsync

TipoDescrição
IPdfCancellationTokenToken de cancelamento apenas de leitura com IsCancelled, ThrowIfCancelled e RegisterCallback
IPdfCancellationTokenSourceFonte de cancelamento do lado do proprietário, expondo Token e Cancel
TPdfCancellationTokenSourceImplementação predefinida; use TPdfCancellationTokenSource.New
EPdfOperationCancelledExceção gerada por ThrowIfCancelled após o cancelamento
TPdfFutureStatuspfsSuccess, pfsCancelled, pfsFailure
TPdfFutureResult<T>Envolvente de resultado com Value, Status, ErrorMessage e os auxiliares IsSuccess / IsCancelled / IsFailure
TPdfFuture<T>.RunAuxiliar de worker em segundo plano fire-and-forget que coloca na fila uma resposta de volta para a thread principal
PdfNoCancellationTokenToken partilhado que nunca cancela

Unidade auxiliar FPdfMeasure

MembroDescrição
TPdf.MeasureTextDevolve a largura e a altura do texto em unidades de utilizador PDF para o tipo de letra e tamanho selecionados
TPdf.MeasureTextWidthDevolve apenas a largura do texto em unidades de utilizador PDF
TPdf.WrapTextPreserva quebras de linha explícitas e divide opcionalmente tokens demasiado grandes nos limites de escalares Unicode

Unidade auxiliar FPdfMatrix

MembroDescrição
TPdfMatrix.CreateCria uma matriz identidade, uma matriz explícita de seis valores ou uma cópia de FS_MATRIX
NewTranslation / NewScale / NewRotation / NewSkewCriam transformações comuns sem um passo de mutação separado
NewRectMapping / TryCreateRectMappingCriam mapeamentos stretch, contain ou cover entre retângulos normalizados
ResetRepõe a identidade
SetElements / Assign / CloneSubstituem, copiam ou duplicam de forma independente o estado da matriz
Determinant / IsFinite / IsIdentity / IsInvertibleInspecionam a validade numérica e a invertibilidade sem alterar a matriz
IsTranslationOnly / IsAxisAligned / NearlyEqualsClassificam a forma da transformação e comparam valores com uma tolerância
GetTranslation / SetTranslation / ClearTranslationLêem ou atualizam a translação independentemente do componente linear
TryDecomposeExtrai translação, escala com sinal, rotação horária, distorção (shear), determinante e estado de reflexão
MultiplyPós-multiplica por outro TPdfMatrix ou por seis valores FS_MATRIX
PreMultiply / PreTranslate / PreScale / PreRotate / PreSkewAntepõem operações no espaço de entrada local antes da transformação atual
Translate / Scale / Rotate / SkewCompõem transformações comuns no espaço PDF
HorizontalFlip / VerticalFlip / CentralFlipCompõem inversões de eixos
RotateAt / ScaleAt / SkewAt / *FlipAtAcrescentam operações à volta de um pivô que se mantém fixo
MapRectToRectAcrescenta um mapeamento de retângulos stretch, contain ou cover
Invert / TryInvert / TryGetInverse / InverseCopyInvertem de forma mutável ou obtêm um inverso sem mutação, com tratamento explícito de matriz singular
TransformPoint / TransformVector / InverseTransformPointMapeiam posições, vetores de direção ou posições inversas sem objetos de matriz temporários
TransformQuad / TransformRectMapeiam quadriláteros PDF ou limites de retângulos normalizados através da transformação
TransformPoints / TransformRectsMapeiam arrays dinâmicos com uma única alocação de resultado ou usam variantes in-place sem alocação de saída
TryTransformBounds / TransformBoundsAcumulam os limites transformados dos pontos numa única passagem, sem um array intermédio
a, b, c, d, e, fPropriedades apenas de leitura dos elementos da matriz
HandleValor FS_MATRIX em bruto para as APIs PDFium

Classes auxiliares PDFium

ClasseDescrição
TPdfCacheGovernor / TPdfCacheParticipantCoordena a memória retida através de um orçamento global de bytes LRU thread-safe
TPdfStreamAdapterEncapsula um TStream Pascal com posicionamento como FPDF_FILEACCESS para carregamento personalizado de documentos
TPdfXObjectÉ proprietário de um FPDF_XOBJECT reutilizável criado a partir de outra página PDF
TTileKey / TPdfTileCacheIndexa tiles renderizados por revisão e mantém uma cache de bitmaps LRU delimitada
Declarações de suporteAliases públicos, registos de callbacks, limites de segurança, constantes de destaque e declarações ABI opcionais de saída de impressão

Funções globais

FunçãoDescrição
BuildToUnicodeCMap(const Glyphs: array of Word; const Text: WString): AnsiStringConstrói um ToUnicode CMap reutilizável para texto CID Type 2
NormalizePageViewRect(...): BooleanOrdena e recorta dois cantos no espaço da página para os limites visíveis da página
AttachmentDescriptionFeaturesAvailable: BooleanIndica se as exportações de descrição de anexos estão disponíveis
AttachmentRelationshipFeaturesAvailable: BooleanIndica se a DLL carregada exporta o leitor de /AFRelationship
BezierControlPointFeaturesAvailable: BooleanIndica se a DLL carregada expõe a leitura exata nativa de pontos de controlo de curvas de Bézier cúbicas
BookmarkStyleFeaturesAvailable: BooleanIndica se a DLL carregada exporta o leitor de estilos de texto de bookmarks
StrokePatternRenderingFeaturesAvailable: BooleanIndica se a DLL carregada consegue rasterizar o tiling pattern de traço de um path object
ReadPdfVersionInfo(Source: TStream; out Info: TPdfVersionInfo; out ErrorText: string): BooleanLê cabeçalho, override de catálogo, versão de núcleo efetiva e nível da extensão para programadores Adobe, sem colapsá-los num único valor
AppendPdfSparseUpdate(Source, Dest: TStream; const Revision: TPdfSparseRevisionInfo; const Objects: TPdfSparseUpdateObjects; const TrailerExtra: AnsiString; const BeforeStartXref: AnsiString = ''): BooleanEscreve em fluxo uma revisão dispersa sobre um PDF gravado: bytes de origem verbatim, corpos de objetos fornecidos pelo chamador e um único bloco incremental xref/trailer encadeado através de /Prev
Loaded: BooleanDevolve True se a biblioteca PDFium selecionada estiver carregada
LoadLibraryCarrega manualmente a biblioteca PDFium
UnloadLibraryDescarrega a biblioteca PDFium
ConfigureSystemFontCacheGovernor(Governor: TPdfCacheGovernor)Coloca os resultados retidos de tipos de letra do sistema de todo o processo sob um orçamento partilhado de bytes pertencente ao chamador
ConfigureSystemFontProvider(const Provider: IPdfSystemFontProvider; const Policy: TPdfSystemFontPolicy)Instala um mapeador nativo de tipos de letra do sistema controlado pela aplicação antes de o PDFium carregar
ClearSystemFontProviderRemove o mapeador configurado depois de o PDFium descarregar
GetSystemFontProviderStatistics: TPdfSystemFontStatisticsDevolve contadores de mapeamento, cache, fallback, callbacks e handles ativos
DecodeDate(const Value: string; out DateTime: TDateTime; out DateTimeOffset: Integer): BooleanAnalisa uma cadeia de data PDF para TDateTime e deslocamento UTC
SetPdfPrintMode(PrintMode: TPdfPrintMode): BooleanSeleciona o modo de saída de impressão Windows do PDFium para renderizações de impressão subsequentes
SetPdfPrintPaperHandlingDevMode(var DevMode: TDeviceMode; PrintPaperHandling: TPrintPaperHandling): BooleanMapeia uma dica de duplex das preferências do visualizador PDF para DEVMODE.dmDuplex do Windows
V8FeaturesAvailable: BooleanDevolve True quando a DLL carregada expõe as exportações auxiliares V8 do PDFium
XfaBStrHelpersAvailable: BooleanDevolve True quando a DLL carregada expõe as exportações auxiliares XFA FPDF_BSTR
XfaFeaturesAvailable: BooleanDevolve True quando o build PDFium carregado expõe as exportações da funcionalidade XFA
GetRecommendedV8Flags: stringDevolve as flags de linha de comandos V8 recomendadas pelo PDFium, ou uma cadeia vazia quando a DLL carregada não as expõe
PdfBufferLooksXfa(Data: PByte; Size: Integer): BooleanAnalisa um buffer de bytes PDF em bruto à procura de marcadores XFA sem carregar pdfium.dll
PdfFileLooksXfa(const FileName: string): BooleanAnalisa um ficheiro PDF no disco à procura de marcadores XFA sem carregar pdfium.dll
ValidatePdfUaStructureElements(const Elements: TPdfStructureElements; Conformance: TPdfUaConformance = puc1): TPdfUaValidationIssuesValida dados de estrutura aplanados com semântica de títulos PDF/UA-1 ou PDF/UA-2, sem carregar pdfium.dll
IsPdfUaLanguageTagValid, ResolvePdfUaEffectiveLanguageValidam uma etiqueta de idioma e resolvem a precedência de idioma marked-content, ancestral de estrutura mais próximo e, por fim, catálogo
ClassifyPdfUaNamespace(const NamespaceUri: WString): TPdfUaNamespaceKindClassifica namespaces de estrutura em falta, PDF 1.7, PDF 2.0, MathML e personalizados
ValidatePdfUa2StructureElements(const Elements: TPdfStructureElements): TPdfUaValidationIssuesExecuta todas as regras semânticas de estrutura PDF/UA-2 com conhecimento de namespaces
PdfUa2StructureHasIssue(const Elements: TPdfStructureElements; Issue: TPdfUaValidationIssue): BooleanConsulta de problema único segura para C++Builder, que evita devolver um conjunto Pascal por valor
ValidatePdfUa2NamespaceSemantics, ValidatePdfUa2Containment, ValidatePdfUa2TableGridExecutam validação focada de namespaces, relações pai-filho e grelhas de tabelas delimitadas
ValidatePdfUa2AnnotationSemantics, ValidatePdfUa2FormulaSemantics, ValidatePdfUa2AssociatedFileSemantics, ValidatePdfUa2DocumentSemanticsExecutam validação focada de anotações/formulários, Formula/MathML, propriedade e ordem de leitura de ficheiros associados, e documento/lista/TOC/legenda
ValidatePdfUaPageContentTagging(const Objects: TPdfPageContentMarkInfos; const Elements: TPdfStructureElements): TPdfUaValidationIssuesValida a marcação de conteúdo real e impede que objetos Artifact sejam reivindicados pela árvore de estrutura
ValidatePdfUaRoleMapUsage(const Elements: TPdfStructureElements; const RoleMapKeys, RoleMapVals: TPdfUaNameArray): TPdfUaValidationIssuesValida a resolução de pares chave/valor RoleMap para tipos padrão do ISO 32000-1
ClassifyStructType(const TypeName: WString; out HeadingLevel: Integer): TPdfContentFragmentKindClassifica um nome de tipo de elemento de estrutura num TPdfContentFragmentKind e num nível de título opcional
FormFieldTabOrderForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): TPdfIntegerArrayDevolve os índices das anotações de widgets da página pela ordem de tabulação do formulário
FocusedFormFieldTextForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE): WStringDevolve o texto do widget com foco para um handle de formulário e página
NormalizePageViewRect(X1, Y1, X2, Y2, PageWidth, PageHeight: Double; out Left, Top, Right, Bottom: Double): BooleanNormaliza dois cantos mapeados no espaço da página para o retângulo visível limitado à página; False quando nada da página é visível
NextFormFieldIndexForPage(FormHandle: FPDF_FORMHANDLE; Page: FPDF_PAGE; CurrentIndex: Integer; GoForward: Boolean): IntegerEncontra o índice da anotação de widget seguinte ou anterior pela ordem de tabulação da página
ClearFocusedFormField(FormHandle: FPDF_FORMHANDLE): BooleanLimpa o widget de formulário atualmente com foco para um handle de formulário PDFium
ComputeSpreadPages(DisplayMode: TPdfDisplayMode; PageNumber, PageCount: Integer; out LeftPageNo, RightPageNo: Integer)Calcula os números de página esquerda e direita para os modos de apresentação de duas páginas
BuildReadingUnits(const Fragments: TPdfContentFragments): TPdfReadingUnitsConverte fragmentos de conteúdo legível em unidades de leitura ao nível da frase
NextReadingUnitOfKind(const Units: TPdfReadingUnits; CurrentIndex: Integer; Kind: TPdfContentFragmentKind; GoForward: Boolean): IntegerEncontra a unidade de leitura seguinte ou anterior do tipo semântico pedido
BuildWordBoxes(const PageText: WString): TPdfWordBoxesDivide o texto da página em registos TPdfWordBox
WordBoxIndexAtCharIndex(const Words: TPdfWordBoxes; CharIndex: Integer): IntegerMapeia um índice de carácter da página para um índice de caixa de palavra
SpokenTextAppend(var Spoken: TPdfSpokenText; const SpokenPart: WString; Page, StartIndex: Integer; SourceCount: Integer = -1)Acrescenta um trecho de texto de fala mapeado a um chunk de fala
BuildSpokenTextFromWords(const Words: TPdfWordBoxes; FirstWord, LastWord: Integer): TPdfSpokenTextConstrói um chunk de texto de fala a partir de um intervalo de caixas de palavras
SpokenToPageChar(const Spoken: TPdfSpokenText; SpokenOffset: Integer; out Page, CharIndex: Integer): BooleanTraduz um deslocamento de texto de fala de volta para um índice de carácter da página
EstimateSpokenWordIndex(const Words: TPdfWordBoxes; ElapsedMs: Cardinal; WordsPerMinute: Integer): IntegerEstima o índice da palavra atual para motores que não reportam sinal de posição de palavra
FPDF_RenderPageSkiaBinding PDFium de baixo nível para renderizar conteúdo de página num SkCanvas externo
FPDF_FFLDrawSkiaBinding PDFium de baixo nível para desenhar campos de formulário e anotações popup num SkCanvas externo
PointsToInches(Points: Double): DoubleConverte pontos PDF em polegadas
PointsToPixels(Points, PixelsPerInch: Double): DoubleConverte pontos PDF em píxeis
PixelsToInches(Pixels, PixelsPerInch: Double): DoubleConverte píxeis em polegadas
PixelsToPoints(Pixels, PixelsPerInch: Double): DoubleConverte píxeis em pontos PDF
GetApplicationPath: stringDevolve o diretório do executável usado como primeira raiz de pesquisa da DLL PDFium
IsWin64: BooleanDevolve True quando o processo atual visa Win64
BuildDllName(UseV8: Boolean): stringDevolve pdfium.dll ou pdfium.v8.dll para o modo V8 pedido
FindDllInPath(const DllName, SearchPath: string): stringEncontra uma DLL PDFium com o nome indicado num diretório
FindDllInDllsTree(const DllName, StartPath, SubDir: string): stringPesquisa as pastas DLLs\Win32 ou DLLs\Win64 abaixo de um caminho inicial
LoadPDFiumDll: stringRespeita um caminho explícito de LibraryName em qualquer modo de motor, caso contrário resolve o runtime usando a política de pesquisa do componente
ConfigurePdfLibrary(const Configuration: TPdfLibraryConfiguration)Aplica a configuração de seleção de DLL, V8 e sandbox antes do primeiro carregamento da biblioteca
GetPdfLibraryConfiguration: TPdfLibraryConfigurationDevolve uma cópia da configuração efetiva atual da biblioteca
PdfLibraryConfigurationSealed: BooleanDevolve True depois de a biblioteca estar carregada e a configuração já não poder mudar
PdfNativeRendererType(Preference: TPdfRendererPreference; SkiaBuild: Boolean): FPDF_RENDERER_TYPEDevolve o renderer nativo que uma preferência seleciona para uma build do PDFium apenas com AGG ou com Skia, mantendo o predefinido da build para prpDefault
PdfLibraryConfigurationSupportError(const Configuration: TPdfLibraryConfiguration; SkiaBuild, FontationsBuild: Boolean): stringDevolve porque é que um renderer ou backend de fontes não pode ser usado com uma build do PDFium; LoadLibrary aplica a mesma verificação e lança EPdfError em vez de deixar a inicialização nativa parar o processo
PdfDefaultTtfMapCount: NativeUIntDevolve o número de entradas do mapa nativo de substituição de tipos de letra TrueType predefinido
TryGetPdfDefaultTtfMapEntry(Index: NativeUInt; out Entry: TPdfDefaultTtfMapEntry): BooleanCopia uma entrada do mapa de substituição de tipos de letra predefinido pelo índice
IsXfaFormField(FieldType: Integer): Boolean (FPdfXfa)Testa se um código de tipo de campo de formulário pertence ao intervalo de campos XFA

Variáveis globais

VariávelTipoPredefiniçãoDescrição
LibraryNamestring'pdfium.dll'Um caminho explícito seleciona o runtime em qualquer modo de motor; um nome simples seleciona o runtime padrão quando EnableV8Engine é False
EnableV8EngineBooleanFalseDefina como True antes de carregar para selecionar pdfium.v8.dll a partir da pasta DLLs Win32 ou Win64 correspondente

Padrões de utilização comuns

Implementação de um visualizador PDF

procedure TMainForm.OpenPDF(const FileName: string);
begin
  Pdf.FileName := FileName;
  Pdf.Active := True;
  PdfView.Pdf := Pdf;
  PdfView.Active := True;
  StatusBar1.SimpleText := Format('Loaded: %s (%d pages)',
    [ExtractFileName(FileName), Pdf.PageCount]);
end;

Criar PDF com compressão

Pdf.CreateDocument;
Pdf.Compressed := True;
Pdf.Active := True;
Pdf.AddPage(0, 595, 842);
Pdf.AddText('Hello World!', 'Arial', 24, 100, 700, clBlack, $FF, 0.0);
Pdf.SaveAs('output.pdf');
Pdf.Active := False;

Extração de texto

Pdf.FileName := 'document.pdf';
Pdf.Active := True;
for I := 1 to Pdf.PageCount do
begin
  Pdf.PageNumber := I;
  Memo1.Lines.Add(Format('--- Page %d ---', [I]));
  Memo1.Lines.Add(Pdf.Text);
end;
Pdf.Active := False;

Processamento de campos de formulário

Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.PageNumber := 1;
for I := 0 to Pdf.FormFieldCount - 1 do
begin
  FieldInfo := Pdf.FormFieldInfo[I];
  case FieldInfo.FieldType of
    fiTextField:
      Pdf.FormField[I] := 'New Value';
    fiCheckBox:
      Pdf.FormField[I] := 'Yes';
  end;
end;
Pdf.SaveAs('filled_form.pdf');
Pdf.Active := False;

Achatar um formulário preenchido

// Bake form values into permanent (non-editable) page content
Pdf.FileName := 'form.pdf';
Pdf.Active := True;
Pdf.FormField[0] := 'John Smith';
Pdf.FormField[1] := 'Yes';
Pdf.GenerateFormAppearances;          // step 1: refresh /AP from /V
Pdf.FlattenAllPages(FLAT_NORMALDISPLAY); // step 2: flatten all pages
Pdf.SaveAs('flattened.pdf');           // step 3: save
Pdf.Active := False;