PDFium Delphi Component em resumo
| Produto | PDFium Delphi Component — SDK profissional de aplicação PDF com código-fonte para Delphi, C++Builder e Lazarus |
|---|---|
| Ideal para | Distribuir leitores de PDF de alto desempenho, ferramentas de revisão, fluxos de documentos e experiências de leitura acessíveis em aplicações nativas |
| Suporte a IDE | Delphi e C++Builder do XE5 ao 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Papel do mecanismo | PDFium — a família de mecanismos de código aberto por trás da exibição de PDF do Chromium — cuida da renderização de páginas e da leitura de documentos; DLLs opcionais de runtime V8 / XFA |
| Camada de aplicação | 115.000 linhas de Object Pascal em 55 unidades, 475 membros públicos de TPdf e 152 em TPdfView, incluindo as camadas de visualização, serialização, assinatura, criptografia, conformidade com padrões e acessibilidade que o PDFium não oferece |
| Assinaturas digitais | Assinatura PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), contêineres CMS / CAdES, carimbo de tempo RFC 3161, Document Security Store |
| Criptografia | Suporte a gravação AES-256 do PDF 2.0 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, sobre uma pilha pura de AES / SHA / HMAC / ASN.1 em Pascal |
| Padrões | Validadores PDF/A (partes 1-4), PDF/X (até X-6), PDF/UA, PDF/E, PDF/VT (até VT-2s), PDF/R com auxiliares de gravação e injeção de marcadores |
| Saída de PDF | Serializador próprio: Fast Web View linearizado, empacotamento de object stream e xref stream, revisões incrementais de objetos alterados, cópias de reparo verificadas |
| Recursos do leitor | 34 projetos prontos para executar: referências de leitor PDF profissional, laboratórios de interação, bancadas de acessibilidade, ferramentas de padrões e preflight, laboratórios de texto CJK e RTL |
| Arquivos grandes | O acesso sob demanda evita uma cópia inicial completa em memória para documentos de vários gigabytes; renderização paralela de páginas e armazenamento de trabalho limitado |
| Código-fonte | Código-fonte completo em Object Pascal incluído em todas as licenças |
| Licenciamento | Sem royalties, pagamento único de $350-$4200 por nível; renovação por 40% do preço de tabela |
| Versão atual | 3.51.0 (2026-08-16) |
| Avaliação | Baixar pacote de demonstração gratuito |
Onde o mecanismo termina e o produto começa
O PDFium é um renderizador. Ele desenha páginas, extrai texto e lê estruturas existentes — e é só isso. Não assina, não grava criptografia, não valida padrões, não lineariza, não escreve revisões incrementais e não dá suporte a XFDF ou XMP. Um binding da API C do PDFium herda exatamente esses limites.
O PDFium Delphi Component entrega cerca de 115.000 linhas de Object Pascal distribuídas em 55 units. Mais de 62.000 dessas linhas estão em 36 units que não têm equivalente algum na API do PDFium — criptografia, assinaturas, cifragem, os seis validadores de padrões, o serializador PDF, XFDF, XMP, layout e shaping de texto. Escritas em Pascal, conferidas contra as cláusulas publicadas de ISO, ETSI, IETF e FIPS, e entregues como código-fonte com cada licença.
| Recurso | Mecanismo PDFium | Implementado pelo PDFium Delphi Component |
|---|---|---|
| Assinaturas digitais | Apenas lê dicionários de assinatura existentes | Assinatura PAdES B-B / B-T / B-LT / B-LTA, CMS / CAdES SignedData conforme a RFC 5652, cliente de carimbo do tempo RFC 3161, injeção de DSS e VRI, chaves do Windows CNG (RSA-PSS, PKCS#1, ECDSA), assinatura remota / em HSM na qual a chave privada nunca sai do serviço, e validação de confiança da cadeia de certificados |
| Criptografia | Abre arquivos criptografados; não consegue gravar criptografia | AES-256 da ISO 32000-2 (derivação de chave V5 / R6 do algoritmo 2.B), AES-GCM da ISO/TS 32003, PDF MAC da ISO/TS 32004 e varredura completa de criptografia de streams e strings |
| Primitivas criptográficas | Nenhuma exposta | AES-128/256 CBC e GCM, SHA-256/384/512, SHA-3, HMAC e leitor e gravador ASN.1 DER em Object Pascal puro, verificados contra os vetores de teste de FIPS 197 e FIPS 180-4 |
| Conformidade com padrões | Nenhum validador de qualquer tipo | PDF/A partes 1-4, PDF/X até X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s e PDF/R-1 — validadores em nível de cláusula, injeção de marcadores e auxiliares de salvamento cientes do perfil |
| Serialização PDF | Um único salvamento sequencial do arquivo inteiro | Fast Web View linearizado com tabelas de hint do Anexo F, empacotamento em object streams e xref streams, revisões incrementais por objeto sujo com preservação byte a byte do prefixo, e cópias de reparo verificadas em modo estrito |
| Documentos danificados | Recuperação silenciosa, sem relatório | Políticas de carga estrita, compatível e de recuperação com diagnóstico estruturado: caminho de reconstrução, deslocamentos da corrupção, revisões conflitantes e situação do orçamento |
| Intercâmbio de dados de formulário | Nenhuma API XFDF ou FDF | Importação e exportação XFDF (ISO 19444-1) e FDF para valores de campos e 18 subtipos de anotação |
| Metadados | Lê o dicionário info clássico | Leitor e gravador de pacotes XMP com contêineres tipados, usados por todos os perfis de padrões |
| Rede e escala | Callbacks de intervalo de bytes, e nada acima disso | Sessões progressivas de documento, um escalonador priorizado de byte ranges com deduplicação, mesclagem, tentativas limitadas e cancelamento, renderização paralela de páginas, e armazenamento de trabalho limitado que transborda para um arquivo temporário excluído ao fechar |
| Camada de aplicação | Handles e callbacks em C | Três componentes VCL / LCL registrados, 475 membros públicos de TPdf e 152 em TPdfView, estado do visor, miniaturas, sessões de leitura e 34 projetos prontos para executar |
Visualização nativa de PDF e fluxos documentais para Delphi
PDFium Delphi Component é um conjunto de componentes PDFium com código-fonte para Delphi, C++Builder e Lazarus para aplicações que precisam de exibição rápida de PDF, rasterização de páginas, carregamento em streaming, seleção e busca de texto, formulários, anotações, impressão, relatórios de preflight e inspeção de documentos dentro de uma interface nativa de desktop Windows.
Abertura quase instantânea de PDFs grandes: em testes reais com arquivos grandes, PDFs de 2.x GB que fazem leitores PDF populares aguardarem 20 a 30 segundos antes da primeira visualização podem ficar utilizáveis quase imediatamente no PDFium Delphi Component.
Use-o quando a experiência PDF deve estar dentro da sua aplicação, e não em um visualizador externo. O pacote inclui componentes visuais e não visuais, código-fonte Object Pascal, projetos de demonstração, DLLs PDFium, DLLs de runtime opcionais com suporte a V8 / XFA, exemplos de preflight para linha de comando, testes de regressão e documentação para integração de visor e operações PDF de nível mais baixo.
O PDFium VCL Component suporta Delphi XE5 até Delphi 13.1 Florence e C++Builder XE5 até C++Builder 13.1 Florence, com alvos Win32 e Win64. O PDFium LCL Component inclui arquivos de pacote Lazarus / Free Pascal e demos para fluxos LCL.
Principais recursos
- APIs de aplicação de alto nível: trabalhe com objetos de documento e de visor nativos do Delphi em vez de espalhar handles brutos do PDFium por cada tela, tarefa em segundo plano, fluxo de formulário e rotina de liberação de recursos.
- Interface do visor: use
TPdfViewem um formulário para zoom, rotação, modos de ajuste, layouts de página única e contínuo, spreads com reconhecimento de capa, sombras de página, cliques seguros em links, seleção de texto pelo usuário, copiar para área de transferência e fluxos de foco de formulário. - Navegação por miniaturas: adicione
TPdfThumbnailViewao lado do visor para miniaturas de página roláveis com hover, destaque de seleção e navegação por clique. - Renderização: renderize páginas e tiles para bitmaps, use gravações DIB sem cópia onde possível, execute renderização progressiva cancelável, renderize um conjunto de páginas em paralelo com
RenderPagesParallel, acesse hooks Skia de baixo nível quando a DLL carregada os exportar e mantenha páginas grandes responsivas. - Streaming e arquivos grandes: carregue de disco, memória, arrays de bytes ou streams seekables personalizados com leituras PDFium sob demanda para que documentos grandes ou com suporte remoto não precisem de uma cópia prévia na memória.
- Inicialização com arquivos grandes: comece a revisar PDFs de vários gigabytes sem esperar por uma cópia inicial completa em memória; o visor usa acesso PDFium seekable sob demanda e lê blocos do documento conforme a necessidade.
- Texto e busca: extraia texto de página, busque para frente ou para trás, destaque correspondências, construa listas de busca de todas as páginas e inspecione retângulos de caracteres, origens, ângulos, caracteres gerados, família de fontes, peso, tamanho, ascendente, descendente e status de fonte incorporada.
- Texto estruturado:
GetStructuredTextconstrói uma hierarquia de página, bloco, linha e span estilizado a partir da geometria dos caracteres, dos metadados de fonte, da identidade do objeto de texto e da semântica de Tagged PDF, com ordenação alternativa por layout físico quando o documento não traz tags. - Extração de tabelas:
ExtractTableseExtractDocumentTablescombinam caixas de palavras com traçados de linhas transformados para detectar tabelas com bordas e alinhadas por espaço em branco, preservam células mescladas, pontuam a confiança, marcam continuações de página e exportam CSV ou JSON. - Refluxo semântico para HTML:
BuildReflowDocumenttransforma um PDF de layout fixo em uma árvore de nós reutilizável cuja saída HTML segura preserva títulos, parágrafos, listas, figuras, seções de página e células mescladas de tabelas — para exibição responsiva, acessibilidade e reaproveitamento de conteúdo. - Formulários: trabalhe com campos AcroForm, detecção de estado XFA, disponibilidade opcional de auxiliares V8 / XFA, texto de formulário selecionado, desfazer / refazer em formulários, aparências de formulário geradas, flags de campo e achatamento.
- Intercâmbio de dados de formulário: exporte e importe tanto XFDF (ISO 19444-1) quanto FDF (ISO 32000-1 §12.7.11) para valores de campos e 18 subtipos de anotação — formatos para os quais o PDFium não expõe nenhuma API, implementados em Pascal sobre o modelo próprio de anotações e campos do componente.
- Integração de OCR: conecte qualquer mecanismo de reconhecimento a
IPdfOcrProvider, receba bitmaps de página em um formato de pixel definido, devolva quads de palavras e deixe o componente gravar a camada de texto pesquisável, com relato de status por página e possibilidade de pular páginas que já têm texto. - Anotações e links: crie, exclua, conte e inspecione anotações; trate links de página, links da web, destinos de marcadores, ações JavaScript do documento, superfícies de risco URI / Launch e eventos de clique do visor.
- Montagem de documentos: crie documentos, adicione ou exclua páginas, importe intervalos de páginas por rótulo ou índice físico, mova páginas, componha páginas N-up, reutilize páginas como Form XObjects, aplique marcas d’água ou carimbos, atualize conteúdo de página e gerencie caixas de página.
- Saída PDF e revisões: salve arquivos linearizados Fast Web View com tabelas de hint de deslocamento de página e de objetos compartilhados, empacote objetos em object streams com cobertura completa de xref do tipo 2, acrescente revisões incrementais por objeto sujo que preservam a saída anterior byte a byte e produza cópias de reparo que são reverificadas por uma carga estrita independente antes da entrega.
- Assinaturas digitais: assine nos níveis de linha de base PAdES B-B, B-T, B-LT ou B-LTA; construa CMS / CAdES SignedData com os atributos assinados que o perfil exige; solicite tokens RFC 3161 a uma TSA; reúna a cadeia de certificados em um Document Security Store; adicione carimbos do tempo de arquivamento; e valide qualquer documento contra verificações PAdES em nível de cláusula somadas à confiança da cadeia de certificados, de forma síncrona ou assíncrona.
- Assinatura remota e em HSM: divida a operação em duas etapas com
PreparePadesRemoteSignatureeCompletePadesRemoteSignature— a aplicação produz um documento com placeholder e uma requisição de assinatura portátil que carrega o digest SHA-256, um serviço remoto ou módulo de hardware devolve o CMS destacado, e o componente o injeta. A chave privada nunca precisa chegar à estação de trabalho. - Criptografia e integridade: grave criptografia AES-256 do PDF 2.0 com derivação de chave R6 correta e blocos de permissões, use AES-GCM da ISO/TS 32003 quando necessário, anexe tokens PDF MAC da ISO/TS 32004 e conte com primitivas AES, SHA-2, SHA-3, HMAC e ASN.1 escritas em Object Pascal, sem nenhuma dependência C externa.
- Inspeção de conteúdo e segurança: extraia imagens, renderize bitmaps de objetos, inspecione limites e transparência de objetos, leia anexos, metadados, assinaturas, permissões, idioma, rótulos de página, modos de página, preferências do visualizador, estrutura Tagged PDF e identificadores de arquivo.
TPdfStreamInspectordecodifica objetos de stream arbitrários sob orçamentos explícitos de origem, dados brutos, dados decodificados, taxa de expansão e número de streams, de modo que uma bomba de descompressão retorna um status estruturado em vez de esgotar a memória. - Leitura acessível: construa unidades de leitura em nível de frase, mapeie o texto falado de volta ao conteúdo do PDF, comande destaques de leitura palavra a palavra, navegue por campos de formulário, inspecione a estrutura marcada e aplique transformações de bitmap para baixa visão em fluxos de leitura assistida.
- Relatórios de preflight: gere relatórios de auditoria orientados a padrões com campos de aprovação, ação necessária, revisão, prioridade, categoria de problema, contagem por categoria e próxima ação; exporte TXT, HTML e Markdown legíveis por humanos ou JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON legíveis por máquina; produza impressões digitais SHA-256 estáveis; execute resumos em lote; anexe relatórios a cópias de revisão; e condicione um build ao código de saída do executor de linha de comando.
- Impressão: imprima com intervalos de páginas, contagens de cópias, preferências de escala, composição N-up, filtragem de páginas ímpares/pares, saída em escala de cinza, metadados de preferência do visualizador e
SetPdfPrintPaperHandlingDevModepara integração de impressão frente e verso e manuseio de papel.
Fluxos PDF orientados a conformidade
PDFium Delphi Component expõe APIs de validação e salvamento orientadas a padrões para equipes que precisam de entrega previsível de PDF, revisão de arquivamento, fluxos de impressão, verificações de acessibilidade, documentos de engenharia, saída de dados variáveis ou entrega bloqueada em raster.
| Fluxo de trabalho | Suporte do PDFium Delphi Component | Responsabilidade da aplicação |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA e PdfAConformance nas partes 1 a 4 da ISO 19005 — incluindo os perfis A-4 base, A-4f e A-4e baseados em PDF 2.0 — com verificações de OutputIntent, de metadados XMP, de incorporação de fontes, de estrutura RoleMap e ParentTree, dos limites de implementação do Anexo C, das restrições de criptografia e JavaScript, e auxiliares de salvamento cientes do perfil. | Escolha o alvo de arquivamento, forneça metadados e dados de cor corretos e revise quaisquer problemas de validação relatados antes da entrega. |
| PDF/X | ValidatePdfX, SaveAsPdfX e PdfXConformance do X-1a até o X-6 baseado em PDF 2.0, com tratamento de OutputIntent e ICC, restrições de transparência e de espaço de cor condicionadas ao perfil, verificações de geometria de TrimBox / ArtBox / BleedBox e verificações de perfil seguro para impressão. | Forneça dados de intenção de saída adequados à produção, geometria de página e configurações de impressão para o perfil PDF/X de destino. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, verificações de idioma e marcação, inspeção de árvore de estrutura, revisão de conteúdo marcado e validação de perfil de acessibilidade. | Crie uma ordem de leitura, títulos, listas, semântica de tabelas, texto alternativo e idioma do documento significativos no fluxo de origem. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT, ValidatePdfR, APIs SaveAs... correspondentes e propriedades de conformidade para perfis PDF de engenharia, dados variáveis e orientados a raster. O PDF/VT cobre hierarquias DPart, metadados de partes do documento e o empacotamento de streams MIME multipart do VT-2s; o PDF/E injeta uma intenção de saída sRGB incorporada; o PDF/R impõe uma única imagem em faixa por página e a lista de codificações permitidas. | Ajuste o perfil ao fluxo de trabalho de negócios e mantenha o conteúdo de origem dentro do conjunto de recursos permitido pelo padrão selecionado. |
| Assinaturas PAdES | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss e ValidatePadesCompliance cobrem os níveis de linha de base B-B, B-T, B-LT e B-LTA da ETSI EN 319 142-1, com carimbo do tempo RFC 3161, injeção do Document Security Store, marcadores de extensão ESIC e 26 códigos de validação em nível de cláusula. SignPadesWithPdfA combina conversão arquivística e assinatura em um único fluxo. | Forneça o certificado de assinatura e sua cadeia, escolha um endpoint de TSA para os níveis com carimbo do tempo e defina a política de retenção e revogação da sua organização. |
| Automação de preflight | FPdfPreflightReport e PreflightReportCli agregam resultados de PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT em TXT, HTML e Markdown legíveis por humanos ou em JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON legíveis por máquina, com ordenação determinística e impressões digitais SHA-256 estáveis. | Decida se aprovação, ação necessária, revisão ou contagens de problemas devem bloquear CI, entrega ou ingestão em arquivo. |
Essas APIs são projetadas para tornar o trabalho com padrões visível no código. Resultados de validação, resumos de preflight e auxiliares de salvamento ajudam sua aplicação a rejeitar ou corrigir saídas problemáticas em vez de enviar silenciosamente um arquivo que só falha posteriormente em um pipeline de arquivo, impressão ou acessibilidade. Os validadores integrados se concentram em verificações de nível de marcador e arquivo selecionado; equipes que precisam de certificação formal de nível de conteúdo devem combiná-los com seu mecanismo de validação dedicado.
Arquitetura dos componentes
TPdf: componente de documento não visual para carregamento, acesso a stream, salvamento, renderização, busca, extração, validação, acesso a formulários, operações de página, metadados, anexos, anotações, relatórios de preflight e fluxos de perfil PDF.TPdfView: componente visor visual para modos de exibição, interação do usuário, links, rolagem, zoom, seleção, foco de formulário, destaque, navegação de página e fluxos de área de transferência.TPdfThumbnailView: painel lateral de miniaturas roláveis para navegação de página, rastreamento da página atual, feedback de hover e layouts de acompanhamento do visor.- Units auxiliares: 55 units Object Pascal no total. Além do binding do mecanismo, elas se agrupam em criptografia (
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), assinatura (FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), padrões (FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), serialização e integridade (FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize) e serviços de conteúdo (FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix).
Cada unit acima é código-fonte que você recebe e pode depurar passo a passo. As primitivas criptográficas são Object Pascal, verificadas contra os vetores de teste publicados de FIPS 197 e FIPS 180-4, de modo que assinatura e criptografia não acrescentam nenhuma biblioteca C externa à sua implantação nem nenhum binário de terceiros à sua revisão de segurança.
Baixar o pacote demo do PDFium Delphi Component
2026-08-16 Version 3.51.0: PDFium Delphi Component notas da versão | referência de API. A versão 3.51.0 torna públicos, conforme documentado, oito membros de TPdf antes inacessíveis e conclui a referência em inglês, de modo que cada membro público de TPdf e de TPdfView passa a ter a sua própria página — 88 membros ganharam uma — junto com as enumerações e os registros alcançáveis a partir das assinaturas públicas.
Licenciamento e preços
Pague com cartão de crédito/débito, PayPal, AliPay ou transferência bancária via 2Checkout. Cada nova licença do PDFium Delphi Component inclui o código-fonte em Object Pascal, um ano de atualizações e um ano de suporte por email.
| Licença | Desenvolvedores | Preço | Comprar |
|---|---|---|---|
| Single | 1 desenvolvedor | $350 | Comprar |
| Small Business | até 10 desenvolvedores | $700 | Comprar |
| Medium Business | até 30 desenvolvedores | $1050 | Comprar |
| Enterprise | Todos os desenvolvedores de uma empresa e suas subsidiárias dentro de um único país | $2100 | Comprar |
| Corporate | Todos os desenvolvedores de uma empresa e suas subsidiárias em todo o mundo | $4200 | Comprar |
Extras de código-fonte do Enterprise e do Corporate: PDFium Delphi Component Enterprise e Corporate incluem ambos o código-fonte completo do exemplo dedicado de nível ferramenta PDF Intake & Accessibility Review Workbench Pro. O código-fonte das suítes de validação interna completas está disponível mediante solicitação.
Renovação de cliente existente: 40% do preço integral, cancelável a qualquer momento. Abrir a página de compra e renovação do PDFium Delphi Component.
Aplicações de referência de leitores profissionais
O pacote vai além de trechos isolados de API. Seus projetos de leitor prontos para executar mostram como os componentes trabalham juntos em fluxos completos de aplicação e dão à equipe pontos de partida testados para interface de produção, interação, desempenho, revisão e acessibilidade.
O pacote inclui exemplos prontos para executar em Delphi, C++Builder e Lazarus para os fluxos principais que a maioria das equipes precisa antes de integrar o componente ao software de produção.
- PdfViewer: visor completo com seleção de texto, busca, marcadores, navegação de página, impressão, links e modos de exibição.
- ViewerInteractionLab e SearchAndSelect: modos de exibição, modos de ajuste, cores de página, rotação, destaque de busca, listas de resultados de todas as páginas, visualização de texto selecionado, cópia, limpeza e mapeamento de coordenadas.
- MultiPageViewer: comportamento de visor contínuo, spread, com reconhecimento de capa e multipágina para aplicações de revisão de documentos.
- SplitView: dois visualizações sincronizadas de um documento para fluxos de comparação e revisão.
- ContentExtractionLab: um fluxo para metadados, texto, objetos de página, imagens, anexos, links, anotações, marcadores, fontes e métricas de caracteres com exportação TXT / JSON.
- PDFtoJpg, BatchExport e ImageToPDF: exportação raster, conversão em lote de múltiplos arquivos, carregamento em streaming, controles de DPI / qualidade, entrada de senha, progresso e cancelamento cooperativo.
- MergePDF, SplitPDF, CreatePDF e WatermarkStamp: montagem de documentos, criação programática de PDF, marcas d'água Form XObject reutilizáveis, carimbos de canto e rótulos de número de página.
- FormFill, FontProperties e Attachment: edição e achatamento de valores de formulário, inspeção de fonte e caractere indexados e extração ou criação de arquivos incorporados.
- SecurityAudit: inspeção somente leitura para permissões, anexos, JavaScript, links URI / Launch, links da web, assinaturas, estado XFA, disponibilidade de auxiliares de runtime e relatórios de auditoria TXT / JSON.
- XfdfLab e XfaLab: faça o round-trip de dados de formulário e anotações por XFDF e FDF, e exercite a detecção de estado XFA com o runtime opcional compatível com V8 / XFA.
- CJKTextLab e RTLTextLab: tratamento de texto em chinês, japonês, coreano, árabe e hebraico — extração, busca, geometria de seleção e comportamento de shaping em escritas nas quais suposições ingênuas de ordem de caracteres se quebram.
- AnnotationsLab e NavigationLab: criação e edição de anotações de marcação com geometria de quad points, além de padrões de navegação por marcadores, destinos, ações nomeadas e rótulos de página.
- AccessibilityWorkbenchCli e IntakeWorkbenchCli: pipelines headless de revisão e ingestão para avaliação de acessibilidade em lote e admissão de documentos, adequados a tarefas agendadas e CI em vez de uma janela de desktop.
- StandardsLab, PreflightReport e PreflightReportCli: fluxos de validação e salvamento PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT, visualizações de relatórios, exportação TXT / HTML / Markdown / JSON / CSV, pastas em lote, resumos ordenados, nomes de relatório seguros contra duplicatas, anexo de relatório e comportamento de saída
failon=orientado a CI.
Por que equipes escolhem PDFium Delphi Component
Uma camada de aplicação, não apenas funções importadas: componentes Delphi de alto nível abrangem o estado do documento, a interação do leitor, renderização, texto, formulários, anotações, impressão, acessibilidade, validação e código reutilizável de fluxo de trabalho.
Acessibilidade além de uma caixa de seleção: sessões e unidades de leitura, mapeamento da fala para a página, destaque palavra a palavra, transformações para baixa visão, acesso a formulários e inspeção de estrutura marcada apoiam experiências de leitura assistida.
- Assinatura e criptografia sem um segundo fornecedor: PAdES de B-B a B-LTA, carimbo do tempo RFC 3161 e criptografia AES-256 do PDF 2.0 fazem parte desta biblioteca. A maioria das equipes Delphi chega a esse ponto adicionando um SDK de assinatura separado ou uma implantação do OpenSSL; aqui é um pacote, uma licença e código-fonte Pascal que você pode auditar.
- Trabalho com padrões visível no código: seis famílias de padrões ISO têm validadores reais com códigos de resultado em nível de cláusula, não uma simples caixa de seleção. A saída de preflight em TXT, HTML, Markdown, JSON e CSV entra direto na CI, e o executor de linha de comando retorna um código de saída de falha nas condições que você escolher.
- Um gravador de PDF que o mecanismo não tem: Fast Web View linearizado, empacotamento em object streams e revisões incrementais por objeto sujo que preservam o arquivo anterior byte a byte — exatamente os formatos de saída que sistemas de arquivamento, entrega web e trilhas de auditoria realmente pedem.
- Integração nativa com Delphi: componentes VCL reais com código-fonte Object Pascal, não um controle ActiveX ou um visor hospedado em navegador.
- Entrada hostil tratada como hostil: a decodificação de streams, a normalização de conteúdo e a varredura de estrutura são executadas sob orçamentos explícitos de origem, saída, tokens, aninhamento e taxa de expansão, de modo que um PDF malformado ou deliberadamente construído retorna um status estruturado em vez de derrubar o processo.
- Qualidade de renderização PDFium: usa a mesma família de mecanismo PDF de código aberto por trás da exibição de PDF do Chromium enquanto mantém a integração na sua base de código Delphi.
- Visor e API em um pacote: combine um visor PDF sofisticado na tela com acesso de baixo nível a documentos, busca, formulários, impressão, APIs de validação e relatórios de preflight programáveis.
- Sem royalties de runtime: construa aplicações desktop sem taxas de runtime por documento ou por usuário final.
- Suporte a IDEs modernas: Delphi XE5 até Delphi 13.1 Florence, C++Builder XE5 até C++Builder 13.1 Florence e fluxos Lazarus / Free Pascal, com builds Win32 e Win64.
- Cobertura de testes mantida: testes Delphi DUnitX, C++Builder GoogleTest e Lazarus FPCUnit cobrem os principais fluxos de documento, renderização, formulários, estrutura, impressão, miniatura e visor.
Documentação online do PDFium Delphi Component
Exemplo de código
procedure TForm1.OpenPdf(const FileName: string);
begin
Pdf.FileName := FileName;
PdfView.Pdf := Pdf;
PdfThumbnailView.Pdf := Pdf;
PdfView.DisplayMode := dmSingleContinuous;
PdfView.FitMode := pfmFitWidth;
PdfView.AllowUserTextSelection := True;
PdfView.Active := True;
end;
procedure TForm1.HighlightInvoiceNumber;
begin
Pdf.PageNumber := PdfView.PageNumber;
if Pdf.FindFirst('Invoice', []) >= 0 then
PdfView.HighlightSearchText('Invoice', False, False);
end;
procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
raise Exception.Create('The PDF/A archive copy could not be saved.');
end;
procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
Options: TPadesSignOptions;
begin
Options := TPadesSignOptions.Default;
Options.CertificateThumbprint := SignerThumbprint;
Options.Level := plB_LTA; // assinatura + token da TSA + DSS + carimbo do tempo de arquivamento
Options.TsaUrl := 'https://tsa.example.com/tsr';
Options.Reason := 'Approved for release';
if not Pdf.SignPades(OutputFile, Options) then
raise Exception.Create('The document could not be signed.');
end;
procedure TForm1.CheckSignatureLevel;
var
Result: TPadesValidationResult;
begin
Result := Pdf.ValidatePades;
if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
[Result.SignatureCount, Result.DocTimeStampCount]))
else
ShowMessage('The document does not reach the required PAdES baseline.');
end;
Casos de uso típicos
- Sistemas de gestão de documentos com visualização de PDF integrada, busca, impressão e fluxos de formulários.
- Aplicações de contabilidade e faturas que precisam de revisão de PDF, extração, tratamento de anexos, verificações de saída pronta para arquivo, manifestos de preflight em lote e anexos de relatórios.
- Software desktop jurídico, de engenharia, médico e governamental em que usuários devem inspecionar, imprimir, validar, reportar e preservar documentos PDF sem sair da aplicação.
- Fluxos de documentos assinados em setores regulados — contratos, faturas, notas de expedição e registros que precisam carregar uma assinatura PAdES B-T ou B-LTA com carimbo do tempo confiável e permanecer verificáveis por anos.
- Distribuição confidencial que exige criptografia AES-256 do PDF 2.0 com permissões definidas, gravada pela própria aplicação e não por uma ferramenta externa em uma segunda passagem.
- Ferramentas de conformidade e ingestão que precisam de verificações repetíveis de marcadores PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R ou PDF/VT antes de encaminhar arquivos para validadores externos ou sistemas de arquivo.
- Visualizadores de relatórios e ferramentas internas de negócios que precisam de exibição rápida de PDF, rasterização de páginas, texto copiável e impressão controlada.
Quando escolher este produto
- Escolha PDFium Delphi Component quando a aplicação precisar visualizar, verificar, assinar, criptografar e entregar documentos PDF: bases para leitores profissionais, assinatura PAdES, criptografia do PDF 2.0, seis validadores de padrões, saída linearizada e incremental, desempenho com arquivos grandes, acessibilidade, formulários e impressão, tudo em um único pacote com código-fonte.
- Escolha HotPDF Component quando a aplicação gera documentos e você prefere não redistribuir nenhum mecanismo de renderização: o HotPDF traz o próprio renderizador, codecs de imagem, mecanismo de fontes, geração de códigos de barras, layout XFA e validação Factur-X, e é compilado diretamente no seu executável.
- Escolha PDF Library for Delphi quando um único toolkit precisa cobrir todo o ciclo de vida, ou quando você precisa de OCR, leitura de códigos de barras, assinatura com token de hardware PKCS#11, validação por listas de confiança da UE ou acesso via DLL / ActiveX / Dylib para chamadores fora do Delphi.
Comparando a família inteira? Consulte a visão geral das bibliotecas PDF para desenvolvedores para ver PDFium Delphi Component, losLab PDF Library e HotPDF Component lado a lado.
Perguntas frequentes
PDFium Delphi Component é apenas um wrapper fino da DLL PDFium?
Não. O PDFium renderiza e lê; ele não assina documentos, não grava criptografia, não valida padrões PDF e não emite revisões linearizadas, em object stream ou incrementais. Mais de 62.000 das cerca de 115.000 linhas de Object Pascal do pacote estão em units que não têm equivalente algum na API do PDFium e implementam exatamente essas camadas: assinatura PAdES de B-B a B-LTA, uma pilha criptográfica AES / SHA / ASN.1 em Pascal puro, criptografia AES-256 do PDF 2.0, seis validadores de padrões ISO, um serializador PDF próprio, XFDF, XMP e a arquitetura de visor, leitor e acessibilidade.
Qual mecanismo o PDFium Delphi Component usa?
Ele usa o PDFium, a mesma família de mecanismos open source usada pela exibição de PDF do Chromium, como base de renderização. A losLab constrói sobre ele o modelo de componentes nativo do Delphi, os fluxos da aplicação, a arquitetura do leitor, a camada de acessibilidade, exemplos, testes e suporte.
O PDFium Delphi Component assina documentos PDF digitalmente?
Sim. Ele implementa os perfis de linha de base PAdES B-B, B-T, B-LT e B-LTA da ETSI EN 319 142-1: construção de CMS / CAdES SignedData conforme a RFC 5652, requisições de carimbo do tempo RFC 3161 a uma TSA, coleta da cadeia de certificados em um Document Security Store e carimbos do tempo de arquivamento. As chaves de assinatura são usadas pelo backend Windows CNG com RSA-PSS, PKCS#1 ou ECDSA. O PDFium por si só apenas lê dicionários de assinatura já existentes.
Ele consegue criptografar documentos PDF?
Sim. SaveAsEncrypted grava criptografia AES-256 conforme a ISO 32000-2, incluindo a derivação de hash de senha R6 do algoritmo 2.B, as entradas de dicionário /O /U /OE /UE /Perms e a criptografia completa de streams e strings. Também há suporte a AES-GCM da ISO/TS 32003 e a tokens PDF MAC da ISO/TS 32004. As primitivas AES, SHA-256/384/512, HMAC e ASN.1 são Object Pascal puro, sem nenhuma dependência C externa.
O PDFium Delphi Component oferece suporte a Lazarus e Free Pascal?
Sim. O pacote inclui arquivos de pacote Lazarus / Free Pascal e demos LCL ao lado dos componentes VCL para Delphi e C++Builder, cobrindo Delphi e C++Builder XE5 até 13.1 Florence, com destinos Win32 e Win64.
Com que velocidade ele abre PDFs muito grandes?
O leitor usa acesso PDFium buscável sob demanda em vez de carregar tudo antecipadamente. Em testes reais, PDFs de 2.x GB que fazem leitores comuns esperar 20 a 30 segundos pela primeira visualização ficam utilizáveis quase imediatamente no PDFium Delphi Component.
O PDFium Delphi Component pode criar ou editar documentos PDF?
Ele abrange a montagem de documentos: criação, adição e exclusão de páginas, importação de intervalos, movimentação de páginas, composição N-up, marcas-d'água, carimbos e atualização de conteúdo. Para autoria programática intensiva, HotPDF Component ou losLab PDF Library são mais adequados.
Ele trata formulários AcroForm e XFA?
Sim. Trabalha com campos AcroForm, foco e texto selecionado em formulários, desfazer e refazer, aparências geradas, indicadores de campo e achatamento, detecta o estado XFA e pode usar DLLs de runtime opcionais compatíveis com V8 / XFA.
Quais padrões de PDF ele pode validar?
Seis famílias de padrões, cada uma com validador próprio e um auxiliar de salvamento ou de injeção de marcadores correspondente: PDF/A (ISO 19005 partes 1 a 4, incluindo os perfis A-4 base/f/e baseados em PDF 2.0), PDF/X (ISO 15930, incluindo X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, incluindo o empacotamento de streams MIME do VT-2s) e PDF/R (ISO 23504-1). A estrutura da linha de base PAdES é validada separadamente contra a ETSI EN 319 142-1. Os relatórios de preflight são exportados em TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON. Os validadores cobrem cláusulas em nível de marcador e um conjunto crescente de cláusulas em nível de arquivo; combine-os com um mecanismo de validação dedicado quando a certificação formal for exigida.
Há royalties de runtime ou tarifas por usuário?
Não. Aplicações licenciadas podem ser distribuídas sem royalties e sem tarifas de runtime por documento ou usuário final.
O que uma licença inclui e como funciona a renovação?
Uma nova licença inclui código-fonte Object Pascal, um ano de atualizações e um ano de suporte por email. Clientes existentes renovam o acesso às atualizações por 40% do preço integral.
Saiba mais sobre Desenvolvimento de Componentes PDF e Planilhas para Delphi
Assinar atualizações do produto
Assine para receber as publicações mais recentes por e-mail.
