PDFiumPas é uma biblioteca de componentes abrangente e de nível profissional que leva capacidades robustas de processamento e visualização de PDF para aplicações Delphi e C++Builder. Baseada no sólido motor de renderização PDFium da Google, oferece aos programadores uma solução completa para integrar funcionalidade PDF nas suas aplicações de ambiente de trabalho
A biblioteca é composta por dois componentes principais que trabalham em conjunto sem fricção: TPdf para processamento e manipulação de documentos, e TPdfView para apresentação visual interactiva. Quer precise de criar um visualizador de PDF simples, um sistema complexo de gestão documental ou integrar capacidades PDF em aplicações já existentes, o PDFiumPas fornece as ferramentas e a flexibilidade de que necessita
O núcleo do sistema de processamento de PDF, TPdf trata de todas as operações ao nível do documento, incluindo carregamento, gravação, extracção de texto, processamento de formulários e gestão de metadados
Um controlo visual sofisticado que oferece uma experiência rica de visualização de PDF com capacidades completas de interacção do utilizador
TStream a pedido através de LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream com perfil ICC sRGB incluído e suporte para perfis personalizadosValidatePdfA e da propriedade apenas de leitura PdfAConformanceImportPagesByIndex (importação de subconjunto), ImportNPagesToOne (grelha N-up), MovePages (reordenação no local)CreateXObjectFromPage e InsertFormObjectFromXObjectRenderPageProgressive e IPdfCancellationTokenFitMode escolhe a forma como a página cabe na janela de visualização (zoom manual, tamanho real, ajustar à página, ajustar à largura); é reaplicado automaticamente em Resize e na mudança de páginaPageColor desacopla o fundo da página PDF renderizada da Color do controlo envolvente, para visualizadores em modo escuroHighlightSearchText e ClearHighlightPageShadowSize / PageShadowColor) e margem de página (PageBorderColor)LinkOptions) e eventos OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) para quiosques e incorporações só de leituraTPdfThumbnailView| Aspecto | Detalhes |
|---|---|
| Motor de renderização | Google PDFium - motor de PDF de referência na indústria, amplamente testado |
| Suporte PDF | Versões PDF 1.0 a 1.7, ficheiros encriptados e protegidos por palavra-passe |
| Compatibilidade de plataforma | Aplicações Windows de 32 bits e 64 bits |
| Suporte de 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 total para Unicode, processamento de texto multilingue |
| Gestão de memória | Optimizada para documentos grandes, com utilização eficiente de recursos |
| Segurança de threads | Concepção de thread única, de acordo com os requisitos do PDFium |
PDFiumPas segue um padrão de arquitectura em camadas que separa claramente as responsabilidades e maximiza a reutilização de código
| Camada | Ficheiros | Responsabilidade |
|---|---|---|
| Componentes VCL | PDFium.pas, FPdfThumbnail.pas | Componentes Delphi VCL (TPdf, TPdfView, TPdfThumbnailView) com suporte em tempo de desenho |
| Vinculações de 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 para funções usadas nas chamadas à DLL PDFium |
| Pipeline PDF/A | FPdfPdfa.pas | Criação PDF/A-1b (injecção de XMP, sRGB ICC OutputIntent, actualização do catálogo) e validação (detecção de conformidade, enumeração de problemas) |
| Infra-estrutura assíncrona | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken e auxiliar TPdfFuture<T> para trabalhos longos de renderização e exportação |
| Auxiliares de geometria | FPdfMatrix.pas | Invólucro OO em torno de FS_MATRIX com auxiliares Translate, Scale, Rotate, Flip, Skew e Multiply |
| Operações de página | FPdfPageOps.pas | Invólucros para FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, mais auxiliares de Form-XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Painel lateral de miniaturas | FPdfThumbnail.pas | TPdfThumbnailView — painel lateral de miniaturas por página, rolável, com passagem do rato, selecção e navegação OnPageClick |
| Motor nativo | DLLs\Win32|Win64\pdfium.dll e pdfium.v8.dll | Motor nativo de renderização Google PDFium, com compilações opcionais com V8 |
O PDFiumPas foi concebido para produtividade imediata. A biblioteca de componentes inclui:
Quer esteja a criar um visualizador de PDF simples ou um sistema complexo de processamento de documentos, o PDFiumPas fornece a base para funcionalidade PDF profissional nas suas aplicações Delphi e C++Builder