O PDFiumPas é uma biblioteca de componentes abrangente e de nível profissional que oferece poderosos recursos de processamento e visualização de PDF para aplicações Delphi e C++Builder. Construído sobre o robusto motor de renderização PDFium do Google, fornece aos desenvolvedores uma solução completa para integrar a funcionalidade de PDF em suas aplicações desktop.
A biblioteca é composta por dois componentes principais que trabalham juntos de forma integrada: TPdf para processamento e manipulação de documentos, e TPdfView para apresentação visual interativa. Seja para construir um visualizador de PDF simples, um sistema complexo de gerenciamento de documentos ou integrar recursos de PDF em aplicações existentes, o PDFiumPas oferece as ferramentas e a flexibilidade necessárias.
O coração do sistema de processamento de PDF, o TPdf cuida de todas as operações no nível do documento, incluindo carregamento, salvamento, extração de texto, processamento de formulários e gerenciamento de metadados.
Um controle visual sofisticado que oferece uma experiência rica de visualização de PDF com recursos completos de interação do usuário.
TStream sob demanda via LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream com perfil ICC sRGB incluso e suporte a perfis personalizadosValidatePdfA e propriedade somente leitura PdfAConformanceImportPagesByIndex (importação de subconjunto), ImportNPagesToOne (grade N-up), MovePages (reordenação no local)CreateXObjectFromPage e InsertFormObjectFromXObjectRenderPageProgressive e IPdfCancellationTokenFitMode escolhe como a página se ajusta na viewport (zoom manual, tamanho real, ajustar à página, ajustar à largura); reaplicado automaticamente em Resize / mudança de páginaPageColor desacopla o fundo da página PDF renderizada da cor Color do controle ao redor para visualizadores em modo escuroHighlightSearchText e ClearHighlightPageShadowSize / PageShadowColor) e borda da página (PageBorderColor)LinkOptions) e eventos OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) para quiosques e incorporações somente leituraTPdfThumbnailView| Aspecto | Detalhes |
|---|---|
| Motor de Renderização | Google PDFium - Motor de PDF padrão da indústria, comprovadamente testado |
| Suporte a PDF | Versões de PDF 1.0 a 1.7, arquivos criptografados e protegidos por senha |
| Compatibilidade de Plataforma | Aplicações Windows de 32 e 64 bits |
| Suporte a IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) até Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Codificação de Caracteres | Suporte completo a Unicode, processamento de texto multilíngue |
| Gerenciamento de Memória | Otimizado para documentos grandes, uso eficiente de recursos |
| Segurança de Threads | Design single-threaded (conforme os requisitos do PDFium) |
O PDFiumPas segue um padrão de arquitetura em camadas que separa claramente as responsabilidades e maximiza a reutilização de código:
| Camada | Arquivos | Responsabilidade |
|---|---|---|
| Componentes VCL | PDFium.pas, FPdfThumbnail.pas | Componentes VCL Delphi (TPdf, TPdfView, TPdfThumbnailView) com suporte em tempo de design |
| Bindings da API | FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas | Declarações de ponteiros de função para chamadas da DLL PDFium |
| Pipeline PDF/A | FPdfPdfa.pas | Criação de PDF/A-1b (injeção de XMP, OutputIntent ICC sRGB, atualização do Catalog) e validação (detecção de conformidade, enumeração de problemas) |
| Infraestrutura Assíncrona | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken e auxiliar TPdfFuture<T> para trabalho de renderização e exportação de longa duração |
| Auxiliares de Geometria | FPdfMatrix.pas | Wrapper OO em torno de FS_MATRIX com auxiliares Translate, Scale, Rotate, Flip, Skew e Multiply |
| Operações de Página | FPdfPageOps.pas | Wrappers para FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, mais auxiliares de Form XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Painel Lateral de Miniaturas | FPdfThumbnail.pas | TPdfThumbnailView — painel rolável de miniaturas por página com hover, seleção e navegação OnPageClick |
| Motor Nativo | DLLs\Win32|Win64\pdfium.dll e pdfium.v8.dll | Motor de renderização nativo Google PDFium, com builds opcionais habilitadas para V8 |
O PDFiumPas foi projetado para produtividade imediata. A biblioteca de componentes inclui:
Seja para construir um visualizador de PDF simples ou um sistema complexo de processamento de documentos, o PDFiumPas fornece a base para funcionalidades profissionais de PDF em suas aplicações Delphi e C++Builder.