PDFium Delphi Component In sintesi
| Prodotto | PDFium Delphi Component — SDK professionale per applicazioni PDF fornito con il codice sorgente, per Delphi, C++Builder e Lazarus |
|---|---|
| Ideale per | Rilasciare lettori PDF ad alte prestazioni, strumenti di revisione, flussi di lavoro documentali ed esperienze di lettura accessibili in applicazioni native |
| Supporto IDE | Delphi e C++Builder da XE5 a 13.1 Florence (Win32, Win64); Lazarus / Free Pascal LCL |
| Ruolo del motore | PDFium — la famiglia di motori open source alla base della visualizzazione PDF di Chromium — gestisce il rendering delle pagine e la lettura dei documenti; DLL di runtime V8 / XFA opzionali |
| Livello applicativo | 115.000 righe di Object Pascal in 55 unit, 475 membri pubblici di TPdf e 152 su TPdfView, compresi i livelli di visualizzatore, serializzazione, firma, cifratura, standard e accessibilità che PDFium non fornisce |
| Firme digitali | Firma PAdES B-B / B-T / B-LT / B-LTA (ETSI EN 319 142-1), contenitori CMS / CAdES, marcatura temporale RFC 3161, Document Security Store |
| Cifratura | Scrittura della cifratura AES-256 di PDF 2.0 (ISO 32000-2), ISO/TS 32003 AES-GCM, ISO/TS 32004 PDF MAC, su uno stack AES / SHA / HMAC / ASN.1 interamente in Pascal |
| Standard | Validatori PDF/A (parti 1-4), PDF/X (fino a X-6), PDF/UA, PDF/E, PDF/VT (fino a VT-2s) e PDF/R, con funzioni di salvataggio e iniezione dei marcatori |
| Output PDF | Serializzatore proprietario: Fast Web View linearizzato, impacchettamento in object stream e xref stream, revisioni incrementali dei soli oggetti modificati, copie di riparazione verificate |
| Risorse per lettori | 34 progetti pronti all’uso: riferimenti di lettori professionali, laboratori di interazione, banchi di lavoro per l’accessibilità, strumenti di standard e preflight, laboratori di testo CJK e RTL |
| File di grandi dimensioni | L’accesso su richiesta evita una copia integrale in memoria per documenti di più gigabyte; rendering delle pagine in parallelo e memoria di lavoro limitata |
| Codice sorgente | Codice sorgente Object Pascal completo incluso in ogni licenza |
| Licenze | Senza royalty, pagamento una tantum da $350-$4200 in base al livello; rinnovo al 40 % del prezzo di listino |
| Versione attuale | 3.51.0 (2026-08-16) |
| Valutazione | Download gratuito del pacchetto dimostrativo |
Dove finisce il motore e comincia il prodotto
PDFium è un motore di rendering. Disegna le pagine, estrae il testo e legge le strutture esistenti, e finisce lì. Non firma, non scrive cifratura, non valida alcuno standard, non linearizza, non scrive revisioni incrementali e non supporta XFDF né XMP. Un binding dell’API C di PDFium eredita esattamente questi limiti.
PDFium Delphi Component fornisce circa 115.000 righe di Object Pascal distribuite su 55 unità. Oltre 62.000 di quelle righe si trovano in 36 unità che non hanno alcun corrispettivo nell’API di PDFium: crittografia, firme, cifratura, i sei validatori di standard, il serializzatore PDF, XFDF, XMP, l’impaginazione e lo shaping del testo. Scritte in Pascal, verificate rispetto alle clausole pubblicate da ISO, ETSI, IETF e FIPS, e consegnate come sorgente con ogni licenza.
| Funzionalità | Motore PDFium | Implementato da PDFium Delphi Component |
|---|---|---|
| Firme digitali | Legge soltanto i dizionari di firma esistenti | Firma PAdES B-B / B-T / B-LT / B-LTA, SignedData CMS / CAdES conforme a RFC 5652, client di marcatura temporale RFC 3161, iniezione di DSS e VRI, chiavi Windows CNG (RSA-PSS, PKCS#1, ECDSA), firma remota / HSM in cui la chiave privata non lascia mai il servizio, e validazione della fiducia della catena di certificati |
| Cifratura | Apre file cifrati; non è in grado di scrivere la cifratura | AES-256 secondo ISO 32000-2 (derivazione della chiave V5 / R6, algoritmo 2.B), AES-GCM ISO/TS 32003, PDF MAC ISO/TS 32004 e cifratura completa di stream e stringhe |
| Primitive crittografiche | Nessuna esposta | AES-128/256 CBC e GCM, SHA-256/384/512, SHA-3, HMAC, lettore e scrittore ASN.1 DER, tutto in Object Pascal puro e verificato con i vettori di test FIPS 197 e FIPS 180-4 |
| Conformità agli standard | Nessun validatore di alcun tipo | PDF/A parti da 1 a 4, PDF/X fino a X-6, PDF/UA-1, PDF/E-1, PDF/VT-1/2/2s e PDF/R-1: validatori a livello di clausola, iniezione di marcatori e helper di salvataggio consapevoli del profilo |
| Serializzazione PDF | Un unico salvataggio sequenziale dell’intero file | Fast Web View linearizzato con hint table dell’allegato F, impacchettamento in object stream e xref stream, revisioni incrementali per oggetti modificati che preservano il prefisso byte per byte, e copie di riparazione riverificate in modalità strict |
| Documenti danneggiati | Recupero silenzioso, senza report | Politiche di caricamento strict, compatible e recovery con diagnostica strutturata: percorso di ricostruzione, offset di corruzione, revisioni in conflitto e stato dei budget |
| Scambio di dati dei moduli | Nessuna API XFDF o FDF | Importazione ed esportazione XFDF (ISO 19444-1) e FDF per i valori dei campi e 18 sottotipi di annotazione |
| Metadati | Legge il classico dizionario info | Lettore e scrittore di pacchetti XMP con contenitori tipizzati, usati da ogni profilo di standard |
| Rete e scalabilità | Callback su intervalli di byte, e nulla al di sopra | Sessioni di documento progressive, scheduler di intervalli di byte con priorità, deduplicazione, fusione, tentativi limitati e annullamento, rendering delle pagine in parallelo, e memoria di lavoro limitata che riversa i dati su un file temporaneo eliminato alla chiusura |
| Livello applicativo | Handle e callback C | Tre componenti VCL / LCL registrati, 475 membri pubblici di TPdf e 152 su TPdfView, stato del visualizzatore, miniature, sessioni di lettura e 34 progetti pronti da eseguire |
Più di un binding per PDFium
PDFium Delphi Component è un livello completo per lo sviluppo di applicazioni PDF costruito sopra PDFium, non una traduzione sottile dell'API C di PDFium. Trasforma il motore in componenti visivi e non visivi nativi per Delphi con workflow riutilizzabili per visualizzazione, rendering, ricerca, moduli, annotazioni, stampa, accessibilità, report preflight e ispezione dei documenti.
Invece di progettare da zero stato del visualizzatore, interazione, rendering asincrono, mappatura del testo, focus sui moduli, navigazione delle pagine, comportamento di accessibilità e ciclo di vita dei documenti, i team possono partire da componenti collaudati e architetture di lettori funzionanti, quindi adattare alla propria applicazione il sorgente Object Pascal fornito.
Apertura quasi istantanea di PDF di grandi dimensioni: in test reali su file di grandi dimensioni, PDF da oltre 2 GB che fanno attendere 20-30 secondi i principali lettori PDF prima della prima visualizzazione possono diventare quasi immediatamente utilizzabili con PDFium Delphi Component.
Usalo quando l'esperienza PDF deve essere all'interno della tua applicazione invece che in un visualizzatore esterno. Il pacchetto include componenti visivi e non visivi, codice sorgente Object Pascal, progetti demo, DLL PDFium, DLL runtime opzionali con capacità V8/XFA, esempi preflight da riga di comando, test di regressione e documentazione sia per l'integrazione del visualizzatore sia per le operazioni PDF di basso livello.
Il PDFium VCL Component supporta Delphi XE5 fino a Delphi 13.1 Florence e C++Builder XE5 fino a C++Builder 13.1 Florence, con target Win32 e Win64. Il PDFium LCL Component include file di pacchetto Lazarus/Free Pascal e demo per i workflow LCL.
Funzionalità principali
- API applicative di alto livello: lavora con oggetti documento e visualizzatore nativi Delphi invece di cablare handle PDFium grezzi in ogni schermata, attività in background, workflow dei moduli e percorso di rilascio.
- UI visualizzatore: inserisci
TPdfViewin un form per zoom, rotazione, modalità di adattamento, layout a pagina singola e continuo, spread con rilevamento della copertina, ombre delle pagine, click sicuri sui link, selezione di testo da parte dell'utente, copia negli appunti e workflow di messa a fuoco dei moduli. - Navigazione tramite miniature: aggiungi
TPdfThumbnailViewaccanto al visualizzatore per miniature di pagina scorrevoli con hover, evidenziazione della selezione e navigazione tramite click. - Rendering: esegui il rendering di pagine e sezioni in bitmap, usa scritture DIB zero-copy dove possibile, avvia rendering progressivo annullabile, esegui il rendering di un insieme di pagine in parallelo con
RenderPagesParallel, accedi agli hook Skia di basso livello quando la DLL caricata li esporta, e mantieni le pagine di grandi dimensioni reattive. - Streaming e file di grandi dimensioni: carica da disco, memoria, array di byte o stream seekable personalizzati con letture PDFium su richiesta, in modo che documenti di grandi dimensioni o con backing remoto non richiedano una copia in memoria anticipata.
- Avvio con file di grandi dimensioni: inizia a esaminare PDF multi-gigabyte rapidamente; il visualizzatore usa accesso PDFium seekable su richiesta, quindi documenti da oltre 2 GB possono diventare utilizzabili quasi immediatamente invece di attendere un caricamento completo anticipato.
- Testo e ricerca: estrai il testo della pagina, cerca in avanti o indietro, evidenzia le corrispondenze, crea elenchi di ricerca su tutte le pagine, e ispeziona rettangoli dei caratteri, origini, angoli, caratteri generati, famiglia del font, peso, dimensione, ascendente, discendente e stato del font incorporato.
- Testo strutturato:
GetStructuredTextcostruisce una gerarchia di pagina, blocco, riga e span con stile a partire dalla geometria dei caratteri, dai metadati dei font, dall’identità degli oggetti di testo e dalla semantica Tagged PDF, con ordinamento di ripiego basato sul layout fisico quando il documento non porta tag. - Estrazione di tabelle:
ExtractTablesedExtractDocumentTablescombinano i riquadri delle parole con i filetti vettoriali trasformati per riconoscere sia le tabelle con bordi sia quelle allineate dagli spazi, preservano le celle unite, assegnano un punteggio di confidenza, segnalano le continuazioni di pagina ed esportano in CSV o JSON. - Reflow semantico in HTML:
BuildReflowDocumenttrasforma un PDF a layout fisso in un albero di nodi riutilizzabile il cui output HTML sicuro conserva titoli, paragrafi, elenchi, figure, sezioni di pagina e celle unite, per visualizzazione responsive, accessibilità e riuso dei contenuti. - Moduli: lavora con campi AcroForm, rilevamento dello stato XFA, disponibilità dell'helper V8/XFA opzionale, testo del modulo selezionato, annulla/ripristina dei moduli, aspetti dei moduli generati, flag di campo e appiattimento.
- Scambio di dati dei moduli: esporta e importa sia XFDF (ISO 19444-1) sia FDF (ISO 32000-1 §12.7.11) per i valori dei campi e 18 sottotipi di annotazione, formati per i quali PDFium non espone alcuna API e che qui sono implementati in Pascal sul modello di annotazioni e campi proprio del componente.
- Integrazione OCR: collega qualsiasi motore di riconoscimento a
IPdfOcrProvider, ricevi le bitmap di pagina in un formato di pixel definito, restituisci i quadrilateri delle parole e lascia che il componente scriva il livello di testo ricercabile, con segnalazione dello stato per pagina e salto delle pagine che hanno già testo. - Annotazioni e link: crea, elimina, conta e ispeziona annotazioni; gestisci link di pagina, link web, destinazioni dei segnalibri, azioni JavaScript del documento, superfici di rischio URI/Launch e eventi click del visualizzatore.
- Assemblaggio documenti: crea documenti, aggiungi o elimina pagine, importa intervalli di pagine per etichetta o indice fisico, sposta pagine, componi pagine N-up, riutilizza pagine come Form XObject, applica filigrane o timbri, aggiorna il contenuto delle pagine e gestisci i box delle pagine.
- Output PDF e revisioni: salva file Fast Web View linearizzati con hint table degli offset di pagina e degli oggetti condivisi, impacchetta gli oggetti in object stream con copertura xref di tipo 2 completa, aggiungi revisioni incrementali per oggetti modificati che preservano l’output precedente byte per byte, e produci copie di riparazione riverificate da un caricamento strict indipendente prima della consegna.
- Firme digitali: firma ai livelli PAdES baseline B-B, B-T, B-LT o B-LTA; costruisci SignedData CMS / CAdES con gli attributi firmati richiesti dal profilo; richiedi token RFC 3161 a una TSA; raccogli la catena di certificati in un Document Security Store; aggiungi marche temporali di archivio; e valida qualsiasi documento rispetto a controlli PAdES a livello di clausola e alla fiducia della catena di certificati, in modo sincrono o asincrono.
- Firma remota e con HSM: dividi l’operazione in due con
PreparePadesRemoteSignatureeCompletePadesRemoteSignature: l’applicazione produce un documento con segnaposto e una richiesta di firma portabile che contiene il digest SHA-256, un servizio remoto o un modulo hardware restituisce il CMS separato e il componente lo inietta. La chiave privata non deve mai raggiungere la postazione di lavoro. - Cifratura e integrità: scrivi cifratura PDF 2.0 AES-256 con corretta derivazione della chiave R6 e blocchi di permessi, usa AES-GCM ISO/TS 32003 dove richiesto, allega token PDF MAC ISO/TS 32004 e affidati a primitive AES, SHA-2, SHA-3, HMAC e ASN.1 scritte in Object Pascal, senza alcuna dipendenza C esterna.
- Ispezione di contenuti e sicurezza: estrai immagini, esegui il rendering di bitmap di oggetti, ispeziona i bound degli oggetti e la trasparenza, leggi allegati, metadati, firme, autorizzazioni, lingua, etichette delle pagine, modalità di pagina, preferenze del visualizzatore, struttura Tagged PDF e identificatori di file.
TPdfStreamInspectordecodifica oggetti stream arbitrari sotto budget espliciti di origine, dati grezzi, dati decodificati, rapporto di espansione e numero di stream, così che una bomba di decompressione restituisca uno stato strutturato invece di esaurire la memoria. - Lettura accessibile: costruisci unità di lettura a livello di frase, mappa il testo pronunciato sul contenuto PDF, guida le evidenziazioni di lettura parola per parola, naviga tra i campi dei moduli, ispeziona la struttura con tag e applica trasformazioni bitmap per ipovisione nei workflow di lettura assistita.
- Report preflight: genera report di audit orientati agli standard con campi pass, action-required, review, priorità, categoria del problema, conteggio per categoria e azione successiva; esporta in TXT, HTML e Markdown leggibili da persone oppure in JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON leggibili da macchine; produci impronte SHA-256 dei report stabili; esegui riepiloghi batch; allega report alle copie di revisione; e vincola una build al codice di uscita dell’eseguibile da riga di comando.
- Stampa: stampa con intervalli di pagine, numero di copie, preferenze di scala, composizione N-up, filtro dispari/pari, output in scala di grigi, metadati delle preferenze del visualizzatore e
SetPdfPrintPaperHandlingDevModeper l'integrazione fronte/retro e la gestione della carta.
Workflow PDF conformi agli standard
PDFium Delphi Component espone API di validazione e salvataggio orientate agli standard per i team che necessitano di consegna PDF prevedibile, revisione archivistica, workflow di stampa, verifiche di accessibilità, documenti tecnici, output con dati variabili o consegna bloccata su raster.
| Workflow | Supporto PDFium Delphi Component | Responsabilità dell'applicazione |
|---|---|---|
| PDF/A | ValidatePdfA, SaveAsPdfA e PdfAConformance per le parti da 1 a 4 di ISO 19005, compresi i profili A-4, A-4f e A-4e basati su PDF 2.0, con verifiche OutputIntent, verifiche dei metadati XMP, verifiche di incorporamento dei font, verifiche di struttura RoleMap e ParentTree, limiti di implementazione dell’allegato C, restrizioni su cifratura e JavaScript, e helper di salvataggio consapevoli del profilo. | Scegli il target di archiviazione, fornisci metadati e dati colore corretti del documento, e rivedi eventuali problemi di validazione segnalati prima della consegna. |
| PDF/X | ValidatePdfX, SaveAsPdfX e PdfXConformance da X-1a fino a X-6 basato su PDF 2.0, con gestione di OutputIntent e ICC, restrizioni su trasparenza e spazi colore vincolate al profilo, verifiche di geometria TrimBox / ArtBox / BleedBox e verifiche del profilo adatto alla stampa. | Fornisci dati di output intent appropriati per la produzione, geometria della pagina e impostazioni di stampa per il profilo PDF/X di destinazione. |
| PDF/UA | ValidatePdfUa, SaveAsPdfUa, PdfUaConformance, verifiche di lingua e tagging, ispezione dell'albero delle strutture, revisione del marked content e validazione del profilo di accessibilità. | Crea un ordine di lettura significativo, intestazioni, elenchi, semantica delle tabelle, testo alternativo e lingua del documento nel workflow sorgente. |
| PDF/E, PDF/VT, PDF/R | ValidatePdfE, ValidatePdfVT, ValidatePdfR, API SaveAs... corrispondenti e proprietà di conformità per i profili PDF tecnici, con dati variabili e orientati al raster. PDF/VT copre le gerarchie DPart, i metadati delle parti di documento e l’impacchettamento in stream MIME multipart di VT-2s; PDF/E inietta un output intent sRGB incorporato; PDF/R impone una sola immagine a striscia per pagina e l’elenco delle codifiche consentite. | Abbina il profilo al workflow aziendale e mantieni il contenuto sorgente all'interno del set di funzionalità consentite dallo standard selezionato. |
| Firme PAdES | SignPades, SignPadesToStream, SignPadesBytes, SaveAsPadesDss e ValidatePadesCompliance coprono i livelli baseline B-B, B-T, B-LT e B-LTA di ETSI EN 319 142-1, con marcatura temporale RFC 3161, iniezione nel Document Security Store, marcatori di estensione ESIC e 26 codici di validazione a livello di clausola. SignPadesWithPdfA combina conversione per archiviazione e firma in un unico workflow. | Fornire il certificato di firma e la sua catena, scegliere un endpoint TSA per i livelli con marca temporale, e definire la politica di conservazione e revoca della propria organizzazione. |
| Automazione preflight | FPdfPreflightReport e PreflightReportCli aggregano i risultati di PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT in TXT, HTML e Markdown leggibili da persone oppure in JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON leggibili da macchine, con ordinamento deterministico e impronte SHA-256 stabili. | Decidi se i risultati pass, action-required, review o i conteggi dei problemi devono bloccare CI, consegna o ingestione nell'archivio. |
Queste API sono progettate per rendere il lavoro sugli standard visibile nel codice. I risultati di validazione, i riepiloghi preflight e gli helper di salvataggio aiutano la tua applicazione a rifiutare o correggere output problematici invece di inviare silenziosamente un file che fallisce solo in seguito in un archivio, pipeline di stampa o accessibilità. I validatori integrati si concentrano su verifiche a livello di marcatori e su verifiche selettive a livello di file; i team che richiedono una certificazione formale a livello di contenuto dovrebbero affiancarli con il proprio motore di validazione dedicato.
Architettura dei componenti
TPdf: componente documento non visivo per caricamento, accesso in streaming, salvataggio, rendering, ricerca, estrazione, validazione, accesso ai moduli, operazioni sulle pagine, metadati, allegati, annotazioni, report preflight e workflow del profilo PDF.TPdfView: componente visualizzatore visivo per modalità di visualizzazione, interazione utente, link, scorrimento, zoom, selezione, messa a fuoco dei moduli, evidenziazione, navigazione delle pagine e workflow degli appunti.TPdfThumbnailView: pannello laterale di miniature scorrevoli per la navigazione delle pagine, tracciamento della pagina corrente, feedback al passaggio del mouse e layout companion del visualizzatore.- Unità helper: 55 unità Object Pascal in totale. Oltre al binding con il motore si raggruppano in crittografia (
FPdfAes,FPdfAesGcm,FPdfSha256,FPdfSha512,FPdfSha3,FPdfHmac,FPdfAsn1), firma (FPdfPades,FPdfCms,FPdfTsa,FPdfCryptoWin), standard (FPdfPdfa,FPdfPdfx,FPdfPdfua,FPdfPdfe,FPdfPdfvt,FPdfPdfr,FPdfPreflightReport), serializzazione e integrità (FPdfCompress,FPdfEncrypt,FPdfMac,FPdfStreamInspect,FPdfContentNormalize) e servizi sui contenuti (FPdfXfdf,FPdfXmp,FPdfLayout,FPdfMeasure,FPdfTextShaping,FPdfStructTree,FPdfAsync,FPdfMatrix).
Ogni unità elencata sopra è sorgente che ricevi e in cui puoi entrare passo passo con il debugger. Le primitive crittografiche sono in Object Pascal, verificate con i vettori di test pubblicati FIPS 197 e FIPS 180-4: firma e cifratura non aggiungono quindi alcuna libreria C esterna al tuo deployment né alcun binario di terze parti alla tua revisione di sicurezza.
Scarica il pacchetto demo di PDFium Delphi Component
2026-08-16 Versione 3.51.0: PDFium Delphi Component note di rilascio | riferimento API. La versione 3.51.0 rende pubblici, come già documentato, otto membri di TPdf finora irraggiungibili, e completa il riferimento in inglese affinché ogni membro pubblico di TPdf e di TPdfView abbia una pagina propria (88 membri ne hanno guadagnata una), insieme alle enumerazioni e ai record raggiungibili dalle firme pubbliche.
Licenze e prezzi
Pagamento con carta di credito/debito, PayPal, AliPay o bonifico tramite 2Checkout. Ogni nuova licenza PDFium Delphi Component include il codice sorgente Object Pascal, un anno di aggiornamenti e un anno di supporto email.
| Licenza | Sviluppatori | Prezzo | Ordina |
|---|---|---|---|
| Single | 1 sviluppatore | $350 | Ordina |
| Small Business | fino a 10 sviluppatori | $700 | Ordina |
| Medium Business | fino a 30 sviluppatori | $1050 | Ordina |
| Enterprise | Tutti gli sviluppatori di un’azienda e delle sue controllate in un solo paese | $2100 | Ordina |
| Corporate | Tutti gli sviluppatori di un’azienda e delle sue controllate in tutto il mondo | $4200 | Ordina |
Extra sorgente per Enterprise e Corporate: PDFium Delphi Component Enterprise e Corporate includono entrambi il codice sorgente completo dell’esempio di livello strumento dedicato PDF Intake & Accessibility Review Workbench Pro. Il codice sorgente delle suite di test complete normalmente usate solo per la validazione interna è disponibile su richiesta.
Rinnovo per clienti esistenti: 40% del prezzo pieno, annullabile in qualsiasi momento. Apri la pagina di acquisto e rinnovo di PDFium Delphi Component.
Applicazioni di lettura professionali di riferimento
Il pacchetto va oltre gli esempi API isolati. I progetti di lettura pronti da eseguire mostrano come i componenti lavorano insieme in flussi applicativi completi, offrendo ai team basi collaudate per UI di produzione, interazione, prestazioni, revisione e accessibilità.
- PDFViewer: base completa per lettori con selezione del testo, ricerca, segnalibri, navigazione delle pagine, stampa, collegamenti, modalità di visualizzazione, miniature e collegamenti di eventi necessari a un vero visualizzatore desktop.
- ViewerInteractionLab e SearchAndSelect: schemi di interazione riutilizzabili per modalità di adattamento, colori delle pagine, rotazione, evidenziazione della ricerca, elenchi di risultati su tutte le pagine, anteprima del testo selezionato, appunti e mappatura delle coordinate.
- MultiPageViewer: comportamento continuo, a pagine affiancate, sensibile alla copertina e multipagina per applicazioni di revisione documentale che richiedono più di una pagina renderizzata.
- SplitView: due visualizzazioni sincronizzate di un documento per workflow di confronto e revisione.
- AccessibilityReader e AccessibilityLab: sessioni di lettura ad alta voce, integrazione con il motore vocale dell'host, unità di lettura a livello di frase, evidenziazioni parola per parola, navigazione dei moduli, ispezione della struttura con tag e modalità per ipovisione.
- ContentExtractionLab: un workflow per metadati, testo, oggetti di pagina, immagini, allegati, collegamenti, annotazioni, segnalibri, font e metriche dei caratteri con esportazione TXT / JSON.
- PDFtoJpg, BatchExport e ImageToPDF: esportazione raster, conversione in batch di più file, caricamento in streaming, controlli DPI e qualità, inserimento password, avanzamento e annullamento cooperativo.
- MergePDF, SplitPDF, CreatePDF e WatermarkStamp: assemblaggio documenti, creazione programmatica di PDF, filigrane riutilizzabili come Form XObject, timbri agli angoli ed etichette dei numeri di pagina.
- SecurityAudit: ispezione in sola lettura per autorizzazioni, allegati, JavaScript, link URI/Launch, link web, firme, stato XFA, disponibilità dell'helper runtime e report di audit TXT/JSON.
- XfdfLab e XfaLab: andata e ritorno di dati dei moduli e annotazioni tramite XFDF e FDF, e prova del rilevamento dello stato XFA con il runtime opzionale compatibile con V8 / XFA.
- CJKTextLab e RTLTextLab: gestione di testo cinese, giapponese, coreano, arabo ed ebraico: estrazione, ricerca, geometria della selezione e comportamento dello shaping su scritture in cui le ipotesi ingenue sull’ordine dei caratteri non reggono.
- AnnotationsLab e NavigationLab: creazione e modifica di annotazioni di marcatura con geometria a quadripunti, e schemi di navigazione tramite segnalibri, destinazioni, azioni con nome ed etichette di pagina.
- AccessibilityWorkbenchCli e IntakeWorkbenchCli: pipeline di revisione e acquisizione senza interfaccia grafica per la valutazione di accessibilità in batch e l’ingresso dei documenti, adatte a processi pianificati e alla CI più che a una finestra desktop.
- StandardsLab, PreflightReport e PreflightReportCli: workflow di validazione e salvataggio PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R e PDF/VT, anteprime dei report, esportazione TXT/HTML/Markdown/JSON/CSV, cartelle batch, riepiloghi ordinati, nomi di report sicuri per i duplicati, allegato dei report e comportamento di uscita CI-oriented con
failon=.
Perché i team scelgono PDFium Delphi Component
- Firma e cifratura senza un secondo fornitore: PAdES da B-B fino a B-LTA, marcatura temporale RFC 3161 e cifratura PDF 2.0 AES-256 fanno parte di questa libreria. La maggior parte dei team Delphi arriva a questo punto aggiungendo un SDK di firma separato o un deployment di OpenSSL; qui è un solo pacchetto, una sola licenza e sorgente Pascal che puoi verificare.
- Lavoro sugli standard visibile nel codice: sei famiglie di standard ISO hanno validatori veri con codici di risultato a livello di clausola, non una casella di spunta. L’output di preflight in TXT, HTML, Markdown, JSON e CSV si inserisce direttamente nella CI, e l’eseguibile da riga di comando restituisce un codice di uscita di errore sulle condizioni che scegli tu.
- Uno scrittore PDF che il motore non ha: Fast Web View linearizzato, impacchettamento in object stream e revisioni incrementali per oggetti modificati che preservano il file precedente byte per byte: i formati di output che i sistemi di archiviazione, la distribuzione web e le piste di audit chiedono davvero.
- Un livello applicativo, non solo funzioni importate: componenti Delphi di alto livello coprono stato dei documenti, interazione del lettore, rendering, testo, moduli, annotazioni, stampa, accessibilità, validazione e codice per workflow ripetibili.
- Lettori professionali da studiare ed estendere: progetti completi per visualizzatore, più pagine, vista divisa, interazione, ricerca e lettura accessibile accorciano il percorso dalla prima valutazione a un lettore specifico per il prodotto.
- Prestazioni progettate per documenti reali: caricamento su richiesta con accesso ricercabile, percorsi di rendering DIB diretti, rendering progressivo annullabile e schemi di visualizzatore reattivi supportano PDF grandi e complessi.
- Accessibilità oltre una casella di spunta: sessioni e unità di lettura, mappatura dal parlato alla pagina, evidenziazioni parola per parola, trasformazioni per ipovisione, accesso ai moduli e ispezione della struttura con tag favoriscono esperienze di lettura assistita.
- Qualità di rendering PDFium: usa la famiglia di motori open source alla base della visualizzazione PDF di Chromium, mantenendo livello applicativo e sorgente nel tuo codebase Delphi.
- Input ostile trattato come ostile: la decodifica degli stream, la normalizzazione dei contenuti e la scansione della struttura girano tutte sotto budget espliciti di origine, output, token, annidamento e rapporto di espansione, così che un PDF malformato o creato ad arte restituisca uno stato strutturato invece di far cadere il processo.
- Nessuna royalty runtime: crea applicazioni desktop senza tariffe runtime per documento o per utente finale.
- Supporto IDE moderno: Delphi XE5 fino a Delphi 13.1 Florence, C++Builder XE5 fino a C++Builder 13.1 Florence e workflow Lazarus/Free Pascal, con build Win32 e Win64.
- Copertura di test aggiornata: i test DUnitX per Delphi, GoogleTest per C++Builder e FPCUnit per Lazarus coprono i principali workflow di documento, rendering, moduli, struttura, stampa, miniature e visualizzatore.
Documentazione online di PDFium Delphi Component
Esempio di codice
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; // firma + token TSA + DSS + marca temporale di archivio
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;
Casi d'uso tipici
- Sistemi di gestione documentale con visualizzazione PDF incorporata, ricerca, stampa e workflow dei moduli.
- Applicazioni di contabilità e fatturazione che necessitano di revisione PDF, estrazione, gestione allegati, verifiche dell'output pronto per l'archivio, manifesti preflight batch e allegati di report.
- Software desktop legale, tecnico, medico e governativo dove gli utenti devono ispezionare, stampare, validare, produrre report e preservare documenti PDF senza uscire dall'applicazione.
- Workflow di documenti firmati in settori regolamentati: contratti, fatture, bolle di consegna e registrazioni che devono portare una firma PAdES B-T o B-LTA con una marca temporale attendibile e restare verificabili per anni.
- Distribuzione riservata che richiede cifratura PDF 2.0 AES-256 con permessi definiti, scritta dall’applicazione stessa e non da uno strumento esterno in un secondo passaggio.
- Strumenti di conformità e ingestione che necessitano di verifiche ripetibili dei marcatori PDF/A, PDF/X, PDF/UA, PDF/E, PDF/R o PDF/VT prima di instradare i file verso validatori esterni o sistemi di archivio.
- Visualizzatori di report e strumenti aziendali interni che necessitano di visualizzazione PDF rapida, rasterizzazione delle pagine, testo copiabile e stampa controllata.
Quando scegliere questo prodotto
- Scegli PDFium Delphi Component quando l’applicazione deve visualizzare, verificare, firmare, cifrare e consegnare documenti PDF: basi per lettori professionali, firma PAdES, cifratura PDF 2.0, sei validatori di standard, output linearizzato e incrementale, prestazioni sui file grandi, accessibilità, moduli e stampa, il tutto da un unico pacchetto con il sorgente.
- Scegli HotPDF Component quando la tua applicazione genera documenti e preferisci non ridistribuire alcun motore di rendering: HotPDF porta con sé il proprio renderer, i codec di immagine, il motore dei font, la generazione di codici a barre, l’impaginazione XFA e la validazione Factur-X, e si compila direttamente nel tuo eseguibile.
- Scegli PDF Library for Delphi quando un unico toolkit deve coprire l’intero ciclo di vita, oppure quando servono OCR, lettura di codici a barre, firma con token hardware PKCS#11, validazione con le liste di fiducia dell’UE, o accesso via DLL / ActiveX / Dylib per chiamanti non Delphi.
Vuoi confrontare tutta la famiglia? Consulta la panoramica delle librerie PDF per sviluppatori per un confronto affiancato di PDFium Delphi Component, losLab PDF Library e HotPDF Component.
Domande frequenti
PDFium Delphi Component è un wrapper sottile della DLL PDFium?
No. PDFium esegue il rendering e la lettura; non può firmare un documento, scrivere cifratura, validare uno standard PDF né emettere revisioni linearizzate, in object stream o incrementali. Oltre 62.000 delle circa 115.000 righe di Object Pascal del pacchetto si trovano in unità prive di corrispettivo nell’API di PDFium e implementano esattamente quei livelli: firma PAdES da B-B fino a B-LTA, uno stack crittografico AES / SHA / ASN.1 in Pascal puro, cifratura PDF 2.0 AES-256, sei validatori di standard ISO, un serializzatore PDF proprietario, XFDF, XMP e l’architettura di visualizzatore, lettore e accessibilità.
Quale motore usa PDFium Delphi Component?
PDFium Delphi Component usa PDFium, la stessa famiglia di motori open source alla base della visualizzazione PDF di Chromium, come fondamento di rendering. losLab costruisce intorno a quel motore il modello di componenti nativo per Delphi, i workflow applicativi, l'architettura del lettore, il livello di accessibilità, gli esempi, i test e il supporto.
PDFium Delphi Component può firmare digitalmente i documenti PDF?
Sì. Implementa i profili PAdES baseline B-B, B-T, B-LT e B-LTA di ETSI EN 319 142-1: costruzione di SignedData CMS / CAdES conforme a RFC 5652, richieste di marca temporale RFC 3161 a una TSA, raccolta della catena di certificati in un Document Security Store e marche temporali di archivio. Le chiavi di firma sono usate tramite il backend Windows CNG con RSA-PSS, PKCS#1 o ECDSA. PDFium da solo può soltanto leggere i dizionari di firma esistenti.
Può cifrare i documenti PDF?
Sì. SaveAsEncrypted scrive cifratura AES-256 secondo ISO 32000-2, compresa la derivazione R6 dell’hash della password dell’algoritmo 2.B, le voci di dizionario /O /U /OE /UE /Perms e la cifratura completa di stream e stringhe. Sono supportati AES-GCM ISO/TS 32003 e i token PDF MAC ISO/TS 32004. Le primitive AES, SHA-256/384/512, HMAC e ASN.1 sono Object Pascal puro, senza dipendenze C esterne.
PDFium Delphi Component supporta Lazarus e Free Pascal?
Sì. Il pacchetto include file di pacchetto Lazarus / Free Pascal e demo LCL accanto ai componenti VCL per Delphi e C++Builder, coprendo Delphi e C++Builder da XE5 a 13.1 Florence con target Win32 e Win64.
Quanto rapidamente apre PDF molto grandi?
Il visualizzatore usa accesso PDFium ricercabile su richiesta invece di un caricamento completo iniziale. Nei test reali, PDF da 2.x GB che fanno attendere i lettori PDF comuni per 20-30 secondi prima della prima vista diventano quasi subito utilizzabili in PDFium Delphi Component.
PDFium Delphi Component può creare o modificare documenti PDF?
Copre l'assemblaggio dei documenti: creazione, aggiunta ed eliminazione di pagine, importazione di intervalli, spostamento di pagine, composizione N-up, filigrane, timbri e aggiornamenti del contenuto delle pagine. Per l'authoring PDF programmatico intenso, HotPDF Component o losLab PDF Library sono più adatti.
Gestisce moduli AcroForm e XFA?
Sì. Gestisce campi AcroForm, focus dei moduli e testo selezionato, annulla e ripeti, aspetti generati, flag dei campi e appiattimento, rileva lo stato XFA e può usare DLL runtime opzionali compatibili con V8 / XFA quando servono tali funzioni.
Quali standard PDF può validare?
Sei famiglie di standard, ciascuna con il proprio validatore e il corrispondente helper di salvataggio o di iniezione dei marcatori: PDF/A (ISO 19005 parti da 1 a 4, compresi gli A-4 base/f/e basati su PDF 2.0), PDF/X (ISO 15930, compreso X-6), PDF/UA (ISO 14289-1), PDF/E (ISO 24517-1), PDF/VT (ISO 16612-2, compreso l’impacchettamento in stream MIME di VT-2s) e PDF/R (ISO 23504-1). La struttura PAdES baseline è validata separatamente rispetto a ETSI EN 319 142-1. I report preflight si esportano in TXT, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML e NDJSON. I validatori coprono il livello dei marcatori e un insieme crescente di clausole a livello di file; abbinali a un motore di validazione dedicato quando serve una certificazione formale.
Sono previste royalty runtime o tariffe per utente?
No. Le applicazioni con licenza sono distribuibili senza royalty e senza costi runtime per documento o utente finale.
Cosa include una licenza e come funziona il rinnovo?
Una nuova licenza include il sorgente Object Pascal, un anno di aggiornamenti e un anno di supporto email. I clienti esistenti rinnovano l'accesso agli aggiornamenti al 40% del prezzo pieno.
Scopri di più sullo sviluppo con componenti PDF e fogli di calcolo Delphi
Iscriviti agli aggiornamenti del prodotto
Iscriviti per ricevere gli ultimi aggiornamenti nella tua email.
