PDFiumPas è una libreria di componenti completa e di livello professionale che porta potenti capacità di elaborazione e visualizzazione PDF alle applicazioni Delphi e C++Builder. Costruita sul robusto motore di rendering PDFium di Google, offre agli sviluppatori una soluzione completa per integrare la funzionalità PDF nelle loro applicazioni desktop.
La libreria è composta da due componenti principali che lavorano in modo coordinato: TPdf per l'elaborazione e la manipolazione dei documenti, e TPdfView per la presentazione visiva interattiva. Che si tratti di creare un semplice visualizzatore PDF, un complesso sistema di gestione documentale o integrare funzionalità PDF in applicazioni esistenti, PDFiumPas fornisce gli strumenti e la flessibilità necessari.
Cuore del sistema di elaborazione PDF, TPdf gestisce tutte le operazioni a livello di documento, tra cui caricamento, salvataggio, estrazione del testo, elaborazione dei moduli e gestione dei metadati.
Un controllo visuale sofisticato che fornisce una ricca esperienza di visualizzazione PDF con piena interazione utente.
TStream su richiesta tramite LoadCustomDocumentSaveAsPdfA / SaveAsPdfAToStream con profilo ICC sRGB incluso e supporto per profili personalizzatiValidatePdfA e proprietà di sola lettura PdfAConformanceImportPagesByIndex (importazione di un sottoinsieme), ImportNPagesToOne (griglia N-up), MovePages (riordino in posto)CreateXObjectFromPage e InsertFormObjectFromXObjectRenderPageProgressive e IPdfCancellationTokenFitMode sceglie come la pagina si dispone nel viewport (zoom manuale, dimensioni reali, adatta pagina, adatta larghezza); riapplicato automaticamente al Resize / cambio paginaPageColor disaccoppia lo sfondo della pagina PDF renderizzata dal Color del controllo circostante per visualizzatori in modalità scuraHighlightSearchText e ClearHighlightPageShadowSize / PageShadowColor) e bordo pagina (PageBorderColor)LinkOptions) ed eventi OnAnnotationLinkClick / OnWebLinkClickAllowUserPageChange, ChangePageOnMouseScrolling, AllowUserTextSelection) per chioschi e integrazioni di sola letturaTPdfThumbnailView| Aspetto | Dettagli |
|---|---|
| Motore di rendering | Google PDFium - Motore PDF standard del settore, ampiamente collaudato |
| Supporto PDF | Versioni PDF da 1.0 a 1.7, file cifrati e protetti da password |
| Compatibilità piattaforma | Applicazioni Windows 32 bit e 64 bit |
| Supporto IDE | Delphi XE5 / C++Builder XE5 (RAD Studio XE5) fino a Delphi/C++Builder 13.1 Florence (RAD Studio 13.1), Lazarus 3.8+ |
| Codifica caratteri | Supporto Unicode completo, elaborazione di testo multilingua |
| Gestione della memoria | Ottimizzata per documenti di grandi dimensioni, utilizzo efficiente delle risorse |
| Thread safety | Progettazione a thread singolo (come richiesto da PDFium) |
PDFiumPas segue un pattern architetturale a livelli che separa nettamente le responsabilità e massimizza la riusabilità del codice:
| Livello | File | Responsabilità |
|---|---|---|
| Componenti VCL | PDFium.pas, FPdfThumbnail.pas | Componenti Delphi VCL (TPdf, TPdfView, TPdfThumbnailView) con supporto a tempo di design |
| Binding 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 | Dichiarazioni di puntatori a funzione per le chiamate alla DLL PDFium |
| Pipeline PDF/A | FPdfPdfa.pas | Creazione PDF/A-1b (iniezione XMP, OutputIntent ICC sRGB, aggiornamento del catalogo) e validazione (rilevamento della conformità, enumerazione dei problemi) |
| Infrastruttura asincrona | FPdfAsync.pas | IPdfCancellationToken / IPdfCancellationTokenSource, singleton PdfNoCancellationToken e helper TPdfFuture<T> per attività di rendering ed esportazione di lunga durata |
| Helper geometrici | FPdfMatrix.pas | Wrapper OO intorno a FS_MATRIX con helper Translate, Scale, Rotate, Flip, Skew e Multiply |
| Operazioni sulle pagine | FPdfPageOps.pas | Wrapper per FPDF_ImportPagesByIndex, FPDF_ImportNPagesToOne, FPDF_MovePages, oltre agli helper Form XObject (CreateXObjectFromPage / InsertFormObjectFromXObject) |
| Pannello laterale miniature | FPdfThumbnail.pas | TPdfThumbnailView — pannello miniature scorrevole con una miniatura per pagina, hover, selezione e navigazione OnPageClick |
| Motore nativo | DLLs\Win32|Win64\pdfium.dll e pdfium.v8.dll | Motore di rendering nativo Google PDFium, con build opzionali abilitate V8 |
PDFiumPas è progettato per una produttività immediata. La libreria di componenti include:
Che si stia costruendo un semplice visualizzatore PDF o un complesso sistema di elaborazione documentale, PDFiumPas fornisce le fondamenta per una funzionalità PDF professionale nelle applicazioni Delphi e C++Builder.